U.S. patent application number 13/228246 was filed with the patent office on 2012-09-20 for transportation information systems and methods associated with generating multiple user routes.
This patent application is currently assigned to Google Inc.. Invention is credited to Noam Ben Haim, Frederick Peter Brewin, Alex Gontmakher.
Application Number | 20120239289 13/228246 |
Document ID | / |
Family ID | 46796826 |
Filed Date | 2012-09-20 |
United States Patent
Application |
20120239289 |
Kind Code |
A1 |
Gontmakher; Alex ; et
al. |
September 20, 2012 |
Transportation Information Systems and Methods Associated With
Generating Multiple User Routes
Abstract
Transportation information systems and methods are disclosed,
which facilitate the use of transportation, including trip
planning. An exemplary method includes generating first scheduling
information for a first user based on first user data, public
transportation data, a first starting location, and a first
destination location. The exemplary method also includes
determining that a second user starting from a second starting
location different from the first starting location would like to
join the first user. The exemplary method further includes
generating second scheduling information for the second user to
meet the first user based on second user data, public
transportation data, the second starting location, real-time
location information for the first user, and a second destination
location.
Inventors: |
Gontmakher; Alex; (Adliswil,
CH) ; Brewin; Frederick Peter; (Canton Zurich,
CH) ; Ben Haim; Noam; (Adliswil, CH) |
Assignee: |
Google Inc.
Mountain View
CA
|
Family ID: |
46796826 |
Appl. No.: |
13/228246 |
Filed: |
September 8, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61381361 |
Sep 9, 2010 |
|
|
|
Current U.S.
Class: |
701/420 |
Current CPC
Class: |
G01C 21/3438 20130101;
G08G 1/127 20130101; G01C 21/3423 20130101; G06Q 10/047 20130101;
G06Q 50/30 20130101; G06Q 10/025 20130101 |
Class at
Publication: |
701/420 |
International
Class: |
G01C 21/00 20060101
G01C021/00 |
Claims
1. A method for providing transportation information, comprising:
generating first scheduling information for a first user based on
first user data, public transportation data, a first starting
location, and a first destination location; determining that a
second user starting from a second starting location different from
the first starting location would like to join the first user; and
generating second scheduling information for the second user to
meet the first user based on second user data, public
transportation data, the second starting location, real-time
location information for the first user, and a second destination
location.
2. The method of claim 1, wherein generating second scheduling
information for the second user comprises: identifying a vehicle
the first user is on that travels along a path of the generated
first scheduling information; and including the identified vehicle
and the path in the generated second scheduling information.
3. The method of claim 2, wherein a distance of the route of the
second scheduling information that includes the path of the
generated first scheduling information is longer than a distance of
another route from the second starting location to the second
destination location.
4. The method of claim 1, further comprising adjusting at least one
of the first user scheduling information and the second user
scheduling information to increase a portion of the trip that the
first user and the second user spend together.
5. The method of claim 1, further comprising generating the first
scheduling information for the first user and the second scheduling
information for the second user based on different forms of travel
used by the first user and the second user.
6. The method of claim 1, wherein the first destination location is
different from the second destination location.
7. The method of claim 1, wherein the first destination location is
the same as the second destination location.
8. The method of claim 1, further comprising alerting the second
user when real-time transportation data of the first user deviates
from the first scheduling information.
9. The method of claim 1, further comprising generating an alert
for the second user following the second scheduling information to
depart from the second starting location at a specified time to
meet the first user following the first scheduling information.
10. A system for providing transportation information, comprising:
a routing engine implemented on a computing device and configured:
(i) to generate first scheduling information for a first user based
on first user data, public transportation data, a first starting
location, and a first destination location, (ii) to determine that
a second user starting from a second starting location different
from the first starting location would like to join the first user,
and (iii) to generate second scheduling information for a second
user to meet the first user based on second user data, public
transportation data, the second starting location, real-time
location information for the first user, and a second destination
location when it is determined that the second user would like to
join the first user.
11. The system of claim 10, wherein the routing engine is further
configured: (i) to identify a vehicle that travels along a path of
the generated first scheduling information, and (ii) to include the
identified vehicle and the path in the generated second scheduling
information.
12. The system of claim 10, wherein the routing engine is further
configured to adjust at least one of the first user scheduling
information and the second user scheduling information to increase
a portion of the trip that the first user and the second user spend
together.
13. The system of claim 10, wherein the routing engine is further
configured to generate the first scheduling information for the
first user and the second scheduling information for the second
user based on different forms of travel used by the first user and
the second user.
14. The system of claim 10, wherein the routing engine is further
configured to update the generated second scheduling information
based on real-time transportation data of the first user.
15. The system of claim 10, wherein the routing engine is further
configured to update the generated first scheduling information
based on real-time transportation data of the second user.
16. The system of claim 10, further comprising an alert generator
configured to generate an alert for the second user following the
second scheduling information to depart from the second starting
location at a specified time to meet the first user following the
first scheduling information.
17. An apparatus comprising at least one non-transitory computer
readable storage medium encoding instructions thereon that, in
response to execution by a computing device, cause the computing
device to perform operations comprising: generating first
scheduling information for a first user based on first user data,
public transportation data, a first starting location, and a first
destination location; determining that a second user starting from
a second starting location different from the first starting
location would like to join the first user; and generating second
scheduling information for the second user to meet the first user
based on second user data, public transportation data, the second
starting location, real-time location information, for the first
user, and a second destination location.
18. The apparatus of claim 17, the operations further comprising:
identifying a vehicle that travels along a path of the generated
first scheduling, information; and including the identified vehicle
and the path in the generated second scheduling information.
19. The apparatus of claim 17, wherein at least one of the first
user scheduling information and the second user scheduling
information is adjusted to increase a portion of the trip that the
first user and the second user spend together.
20. The apparatus of claim 17, the operations further comprising:
updating the generated second scheduling information based on
real-time transportation data of the first user; and updating the
generated first scheduling information based on real-time
transportation data of the second user.
21. The apparatus of claim 17, the operations further comprising
updating the generated second scheduling information based on
real-time transportation data of the first user.
22. The apparatus of claim 17, the operations further comprising
updating the generated first scheduling information based on
real-time transportation data of the second user.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims the benefit of U.S.
Provisional Patent Application No. 61/381,361, filed on Sep. 9,
2010, entitled "Transportation Information Systems and Methods" by
Gontmakher et al, which is incorporated herein by reference in its
entirety.
FIELD
[0002] This specification generally relates to transportation
information and applications thereof.
BACKGROUND
[0003] Transportation information can be used for planning trips.
For example, a user can refer to a published route schedule of a
transportation system when determining which route to use.
Determining which route to take, however, can be challenging for
users of transportation systems, for example, when two users try to
coordinate with each other to meet using a transportation system.
Schedules of transportation systems are often inaccurate compared
to actual transportation system performance. Furthermore,
transportation systems can fail to alert the user to changes,
interruptions, or other situations that affect, a planned trip.
BRIEF SUMMARY
[0004] Embodiments of this description generally relate to
transportation information, and applications thereof. Methods,
systems, and techniques for providing transportation information
are provided. In general, one aspect of the subject matter
described in this specification may be embodied in a method for
providing transportation information. An exemplary method for
providing transportation information includes the actions of
receiving user data associated with public transportation usage.
The exemplary method also includes receiving public transportation
data The exemplary method further includes generating scheduling
information based on the user data and public transportation
data.
[0005] Another exemplary method for providing transportation
information includes generating first scheduling information for a
first user based on first user data, public transportation data, a
first starting location, and a first destination location. The
exemplary method also includes determining whether a second user
starting from a second starting location different from the first
starting location would like to join the first user. The exemplary
method further includes generating second scheduling information
for the second user to meet the first user based on second user
data, the public transportation data, the second starting location,
real-time location information for the first user, and a second
destination location. The exemplary method also includes generating
an alert for the second user following the second scheduling
information to depart from the second starting location at a
specified time to meet the first user following the first
scheduling information.
[0006] Another exemplary method for providing transportation
information includes receiving public transportation data including
real-time vehicle location information and at least one of
historical vehicle location information and scheduled vehicle
location information. The exemplary method also includes generating
a schedule degradation mode based on a deviation of real-time
vehicle location information from at least one of historical
vehicle location information and scheduled vehicle location
information. The exemplary method also includes generating
scheduling information for a user based on a deviation of real-time
vehicle location information from at least one of historical
vehicle location information and scheduled vehicle location
information. The scheduling information includes an indication of
the schedule degradation mode. The scheduling information can be
changed substantially based on the schedule degradation mode.
[0007] Another exemplary method for providing transportation
information includes receiving user data associated with public
transportation usage including at least one of user locations, user
movements, user transportation queries, user routes, and user
vehicles. The exemplary method also includes receiving public
transportation data including routes available to a user. The
exemplary method further includes generating a user profile fore
the user based on the user data and the public transportation data.
The user profile includes automatically generated route suggestions
for the user.
[0008] Other embodiments of these aspects include corresponding
systems, apparatuses, and computer program products configured to
perform the actions of these methods, encoded on computer storage
devices.
BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES
[0009] Further embodiments, features, and advantages as well as the
structure and operation of the various embodiments are described in
detail below with reference to the accompanying drawings. In the
drawings, like reference numbers may indicate identical or
functionally similar elements.
[0010] FIG. 1 is a diagram of an exemplary transportation
information system, in accordance with an embodiment.
[0011] FIG. 2 is a diagram of an exemplary transportation
information system including a profile creator, in accordance with
an embodiment.
[0012] FIG. 3 is a diagram, of an exemplary transportation
information system including a public transportation analyzer and a
rider analyzer, in accordance with an embodiment.
[0013] FIG. 4 is a diagram of an exemplary transportation
information system including a routing engine and a degradation
mode, in accordance with an embodiment.
[0014] FIG. 5 is a diagram of an exemplary transportation
information system including a rider analyzer, a routing engine,
and updated scheduling information, in accordance with an
embodiment.
[0015] FIG. 6 is a diagram of an exemplary transportation
information system including an alert generator and an alert, in
accordance with an embodiment.
[0016] FIG. 7 is a flowchart of a method for providing
transportation information, in accordance with an embodiment.
[0017] FIG. 8 is a flowchart of another method for providing
transportation information, in accordance with an embodiment.
[0018] FIG. 9 is a flowchart of another method for providing
transportation information, in accordance with an embodiment.
[0019] FIG. 10 is a flowchart of another method for providing
transportation information, in accordance with an embodiment.
[0020] FIG. 11 is a diagram of an application of an exemplary
transportation information system, in accordance with an
embodiment.
[0021] FIG. 12 is a diagram of an application of an exemplary
transportation information system, in accordance with an
embodiment.
[0022] FIG. 13 is a diagram of an application of an exemplary
transportation information system, in accordance with an
embodiment.
[0023] FIG. 14 is a diagram of an application of an exemplary
transportation information system, in accordance with an
embodiment.
[0024] Embodiments are described with reference to the accompanying
drawings. The drawing in which an element first appears is
typically indicated by the leftmost digit or digits in the
corresponding reference number. The drawings are not necessarily
drawn to scale.
DETAILED DESCRIPTION
[0025] I. Overview
[0026] II. System Architecture
[0027] III. User Profile
[0028] IV. Degradation Modes
[0029] V. Determining Relevant Routes for a User
[0030] VI. Adapting to User Behavior
[0031] VII. Alerts
[0032] VIII. Exemplary Methods
[0033] IX. Routing
[0034] X. Additional Advantages Including Real-Time
Applications
[0035] XI. Further Examples
[0036] XII. Conclusion
I. Overview
[0037] Embodiments of this disclosure relate to transportation
information systems and methods, and applications thereof. Users
may need help navigating transportation systems. In one embodiment,
user data associated with public transportation usage is received.
Public transportation data including real-time public
transportation data is received. Scheduling information is
generated based on the user data and real-time public
transportation data.
[0038] Two users using a transportation system may coordinate with
each other to meet. In one embodiment, first scheduling information
is generated for a first user based on first user data, public
transportation data, a first starting location, and a first
destination location of the first user. A second user starting from
a second starting location different from the first starting
location would like to join the first user. Second scheduling
information is generated for the second user to meet the first user
based on second user data, public transportation data, the second
starting location, real-time location information for the first
user, and a second destination location. When it is time, an alert
can be generated for the second user to depart from the second
starting location at a specified time to meet the first user.
[0039] In the detailed description that follows, references to "one
embodiment", "an embodiment", "an example embodiment", etc.,
indicate that the embodiment described may include a particular
feature, structure, or characteristic, but every embodiment may not
necessarily include the particular feature, structure, or
characteristic. Moreover, such phrases are not necessarily
referring to the same embodiment. Further, when a particular
feature, structure, or characteristic is described in connection
with an embodiment, it is submitted that it is within the knowledge
of one skilled in the art to effect such feature, structure, or
characteristic in connection with other embodiments whether or not
explicitly described.
II. System Architecture
[0040] FIG. 1 is a diagram of an exemplary transportation
information system 100, in accordance with an embodiment.
Transportation information system 100 includes an analyzer 110.
Analyzer 110 includes a profile creator 112, public transportation
analyzer 114, rider analyzer 116, routing engine 118, alert
generator 120, and report generator 122. Analyzer 110 can receive
user data 130, public transportation data 140, and other inputs.
Analyzer 110 can provide user profile 150, scheduling information
160, degradation mode 170, and other outputs. Report generator 122
can generate reports of the scheduling information.
[0041] Analyzer 110 is in communication with network(s) 180, which
is in communication with computing device(s) 190, third party
service(s) 194, mapping service(s) 198, and other interfaces.
Network(s) 180 can include the Internet and one or more networks
including local area networks (LANs), wide area networks (WANs),
and wireless networks. Computing device(s) 190 can include personal
computers, mobile computers including cellular telephones, tablet
computing devices, and other devices capable of exchanging
information. Third party service(s) 194 can include developers and
aggregators. Analyzer 110 can interface with various services,
including but not limited to Google Goggles, Google Latitude,
Google Calendar, Google Earth, Android, Google Mobile Maps, Google
Voice Search, Google Search, Google Maps, and Google Translate.
Analyzer 110 can also interface with various transit systems,
including but not limited to bus systems, railway systems, subway
systems, airline systems, boating systems, traffic infrastructure
systems, and alert systems.
[0042] Components of transportation information system 100 (e.g.,
profile creator 112, routing engine 118, alert generator 120, and
report generator 122) may be implemented as software, hardware,
firmware, or any combination thereof. Components of transportation
information system 100 may also be implemented as computer-readable
code executed on one or more computing devices capable of carrying
out the functionality described herein. Such a computing device can
include, but is not limited to, a personal computer, mobile device
such as a mobile phone, workstation, embedded system, game console,
television, set-top box, or any other computing device. Further, a
computing device can include, but is not limited to, a device
having a processor and memory for executing and storing
instructions. Software may include one or more applications and an
operating system. Hardware can include, but is not limited to, a
processor, memory and graphical user interface display. The
computing device may also have multiple processors and multiple
shared or separate memory components. For example, the computing
device may be a clustered computing environment or server farm.
[0043] Note that in alternative embodiments, any subset of the
components shown in FIG. 1 may in fact be embodied as a single
component. For example, the functionalities of rider analyzer 116
and routing engine 118 may be combined in a single device or
module. Other combinations of the functional components of FIG. 1
are also possible, as would be known to a person of skill in the
art. Further, analyzer 110 may have more or less than the
components shown in FIG. 1.
III. User Profile
[0044] FIG. 2 is a diagram of an exemplary transportation
information system 200 including a profile creator 112, in
accordance with an embodiment. Profile creator 112 can receive user
data 130 as input, and can provide user profile 150 as output. User
data 130 can include user locations, user movements, user
transportation queries, user routes, user vehicles, and other user
data related to transportation. Times and localities for the user
data can also be provided to profile creator 112.
[0045] User data 130 can also include user location data 210. User
location data 210 enables a user's location to be determined
through various techniques. User location data 210 can include
browser-based location information, mobile computing device
location information, public transportation services location data,
user check-in to public transportation vehicles (e.g., swiping an
access card at a vehicle-mounted reader), user association with
public transportation entry ports (e.g., swiping an access card at
a station turnstile), user access to a routing search engine or
public transportation information, and user-provided locations such
as a home address or business address.
[0046] User location data 210 and user data 130 can be used by
profile creator 112 to create user profile 150. User profile 150
can be created automatically based on user data 130 and user
location data 210. Profile creator 112 can collect known route
segments the rider has taken, and build user profile 150. For
example, profile creator 112 can collect known route segments a
rider has taken from GPS tacks, vehicle/trip check-ins, timing of
boarding and alighting from public transportation, and usage of
other public transportation applications.
[0047] In one embodiment, a transportation information system can
learn from user locations, movements, queries, preferred/most used
routes, trips, vehicles, and other user data 130, and can thereby
provide users with improved transportation information.
IV. Degradation Modes
[0048] FIG. 3 is a diagram of an exemplary transportation
information system 300 including public transportation analyzer 114
and rider analyzer 116, in accordance with an embodiment. Public
transportation analyzer 114 can receive public transportation data
140 as input, and provide degradation mode 170 as output. Rider
analyzer 116 can receive, as input, public transportation data 140,
user data 130, user profile 150, and output from public
transportation analyzer 114. Rider analyzer 116 can provide, as
output, updated user profile 310 and relevant public transportation
route segments 312. Relevant public transportation route segments
312 can be based on updated user profile 310.
[0049] Public transportation analyzer 114 can analyze historical,
current (including real-time), scheduled, and other types of public
transportation data 140. In one example, public transportation data
140 includes real-time public transportation vehicle location
information, public transportation scheduling information,
historical public transportation vehicle location information,
public transportation stations, public transportation lines, and
public transportation available trips. Public transportation data
140 can include any relevant information that enables public
transportation analyzer 114 to prepare an analysis.
[0050] Public transportation systems can have a schedule which
determines at what times public transportation vehicles pass
certain stations or time points corresponding to the schedule. As
long as the transit network operates according to the schedule,
very precise plans for trip requests can be generated. Even if
vehicles deviate slightly from the schedule, precise routing can
provide useful information to users because the vehicles should
deviate only slightly from the precise plans.
[0051] A service provided by a transit network can become degraded
even beyond slight deviations from the schedule. Degradation,
including even slight deviations, can be detected by public
transportation analyzer 114 and indicated by degradation mode 170.
In one embodiment, scheduling information is substantially changed
based on degradation mode 170.
[0052] Degradation of public transportation systems can occur in
many situations. For example, during, rush hour, buses may not keep
up with their schedule because of general traffic or congestion.
Buses serving the same line might overtake each other and affect
the times at which they arrive, depart, and service each bus stop
or reach a point in the schedule. Unpredictable changes that affect
the transportation system can cause the operation of the
transportation system to depart significantly from the schedule, so
that the schedule can no longer be relied upon. Such unpredictable
changes can include accidents, rerouting, cancellations, extra
trips, dispatcher intervention, and other unpredictable changes.
Furthermore, changes in one portion of the transportation system
can affect other portions of the transportation system, sometimes
in ways that are not immediately apparent to users or even
operators.
[0053] Different degradation modes can be used to enable different
handling by embodiments of a transportation information system.
Degradation modes can apply to an entire public transportation
system/transit network, or part of the public transportation
system/transit network.
[0054] A degradation mode can indicate that service is running
according to schedule with high precision. Another degradation mode
can indicate that service is not running according to schedule,
with significant deviations. Yet another degradation mode can
indicate that service is not running according to schedule at all,
but an approximate frequency of vehicles is still maintained. An
approximate frequency of vehicles may correspond to normal
operating mode for some agencies. Yet another degradation mode can
indicate that service is not running according to either schedule
or frequencies (for example, no bus serving a station for 30
minutes where normally a bus serves that station every 10
minutes).
[0055] In one embodiment, various services can be provided
depending on the degradation mode. The way routes are computed can
be changed, e.g., the way that scheduling information is determined
and provided. For example, when routes are computed according to a
schedule and the next bus passes the first station in 10 minutes,
that 10 minutes is used as a basis for starting the route. In one
embodiment if a transportation information system detects that the
transit network is now operating in a degradation mode associated
with frequency-only, the route can be started from the current
time, and vehicle frequency used as an expected waiting time.
[0056] In one embodiment, a transportation information system can
change the way routes (including requested scheduling information
160) are displayed, corresponding to the degradation mode. In one
example, a route can be displayed to indicate that timing is
imprecise corresponding to the degradation mode, and that
scheduling information 160 is computed based on approximate, and
not precise, scheduling times. In one embodiment, a transportation
information system can compute and display confidence intervals in
the computed timings associated with scheduling information
160.
[0057] In one embodiment, users can be alerted in association with
a degradation mode. A transit network may supply alerts for service
disruptions, but such alerts may not enable a user to predict what
affect the alert will have on a planned trip. In one embodiment, a
transportation information system can use such alerts to inform a
user of an event, and can also derive and show an alert
independently from the transit network alerts (separate from or in
addition to showing routes in a different way). Alerts may be
generated and shown in the following contexts: i) when the user
views the map in public transport mode (or just zoomed in enough),
ii) when the user views schedules of a station or a line, iii) when
the user views a computed route, and iv) while the user is
following a previously computed route. Additional techniques and
combinations of generating and showing alerts are possible.
[0058] Various techniques can be used to compute degradation mode
170. In one embodiment, public transportation analyzer 114 can
compare real-time vehicle positions or arrival estimations with the
schedule. In another embodiment, public transportation analyzer 114
can compare real-time vehicle positions or arrival estimations with
historical data for a similar period. The historical data can be
collected over time from a transit network if available, or can be
collected over time using embodiments of the transportation
information system. Such comparisons can enable embodiments to
compute how unusual is the current situation, e.g., degradation
mode 170.
[0059] Generating an alert can be dependent on schedule adherence.
For example, for Zurich, where schedule adherence is high, alerts
regarding degradation mode 170 can be generated when a train is
over one minute late (and a severe alert if the train is over 10
minutes late). In contrast, for a bus system somewhere else where
schedule adherence is not as high, the corresponding values for
generating alerts may be 15 minutes or an, hour, adjustable
depending on such factors as the schedule adherence, historical
performance, and real-time data for the particular transit
network.
[0060] V. Determining Relevant Routes for a User
[0061] Referring again to the embodiment illustrated in FIG. 3,
rider analyzer 116 can receive as input public transportation data
140, user data 130, user profile 150, and output from public
transportation analyzer 114. Rider analyzer 116 can then analyze
the inputs and generate an updated user profile 310, including
relevant public transportation route segments 312.
[0062] Users (e.g., public transportation riders) over time can
develop some public transportation usage patterns that may be
temporal or local. Temporal travel patterns of a user may include
the user traveling at the same time of day. Locality travel
patterns of a user may include the user traveling with the same
service, though not necessarily the same trip every day. In one
embodiment, rider analyzer 116 can identify a cluster of route
segments in a transit network that is relevant to a user, and
generate an updated user profile 310 that assigns those route
segments to updated user profile 310. In one example, locations and
times of day can be assigned to a user profile. In one embodiment,
a user's relevant route segments can be automatically detected
based on the user's user profile 150.
[0063] Updated user profile 310 can be generated based on detecting
features of the transit network local to the user. The local
transit network can be segmented and clustered into used and unused
services for that user. Clustering can be done locally (similar
routes, as defined by vehicle type, route, etc., up to mild
variations, including different times of day). Clustering can also
be done temporally (services running along a similar route, or
sharing similar start and end points, at similar times of the day
over time). The route segment clusters can then be used to identify
relevant public transportation route segments 312 and other
information that may affect the user's trip. Relevant public
transportation route segments 312 and other information can be
provided to the user. For example, relevant public transportation
route segments 312 may be displayed on a screen of a computing
device for the user. Relevant public transportation route segments
312 and other information can be stored in updated user profile
310.
[0064] In some embodiments, using updated user profile 310 can
provide various applications. Personalized nearby public
transportation information can be enabled for the user. For
example, in one embodiment, nearby stations, lines, and trips can
be ranked according to the user's profile.
[0065] In some embodiments, public transportation service alerts
can be personalized to a user based on deduced commute routes,
regardless of an exact time of travel. Alert severity can be
customized based on an importance to the user. For example, a mild
delay in a station outside of the user's area may still lead to
severe delays on a service relevant to the user. Accordingly, the
user is alerted even though it may not have been apparent to the
user that the mild delay in a station outside of the user's area
would have led to a delay that affected the user.
[0066] In one embodiment, routes that the user is not taking can be
suggested to the user by analyzing that such routes fit the user's
profile or provide benefits. Users may not always know all the
transit systems around them or know the fastest route using a
transit system. In one example, a suggested route may be faster
than the user's currently chosen route. Other benefits may be based
on other criteria, such as providing routes having fewer
connections, using a rail transportation system instead of a bus,
and so on.
[0067] In one embodiment, an alert is generated when a user is
taking a vehicle that does not fit the user's profile, or is
otherwise an unexpected selection for the user based on user
profile 150, updated user profile 310, or both (e.g., going on a
bus that differs from the user's usual commute at a time when the
user is expected to take another action such as going home).
[0068] In one embodiment, a transit system can be personalized for
a user by providing known trips for the user (analyzed from user
profile 150, updated user profile 310, or both). In another
embodiment, a transportation, information system can enable the
user to compare previously taken routes to newly suggested
routes.
[0069] In one embodiment, a transportation information system can
provide useful defaults for user routing queries. For example,
rider analyzer 116 may take note of queries entered by a user and a
trip that the user ultimately decides to take. This data may be
used to offer suggestions to other users when searching similar
trips. User profile 150, updated user profile 310, or both can
enable embodiments to find a reasonable set of from and to
locations and relevant times of day for the user.
[0070] In one embodiment, user preferences for routing parameters
can be learned. In one example, rider analyzer 116 can determine
appropriate connection time buffers, walking speeds, vehicle type
preferences, walking distance preferences, and other user
preferences by automatic analysis of various data. In another
example, user preferences can be manually configured. In some
embodiments, the use of a user's transportation information may be
provided as an opt-in service where a user may indicate in advance
his or her approval of use of the user's transportation
information.
[0071] FIG. 4 is a diagram of an exemplary transportation
information system 400 including routing engine 118 and degradation
mode 170, in accordance with an embodiment.
[0072] Routing engine 118 can receive, as input, user data 130,
public transportation data 140, user profile 150, and degradation
mode 170. Accordingly, routing engine 118 can provide scheduling
information 160 as output, including an indication of degradation
mode 170. For example, scheduling information 160 can include
explicit mention of the degradation mode and the level of deviation
from the schedule. Scheduling information 160 can also be presented
in a way that visually represents the level of degradation or
deviation from the schedule. For example, a circle centered on a
destination can approximate a range of arrival times using a
corresponding diameter, in contrast to a point. Routing engine 118
may display the generated scheduling information to a user (e.g.,
on the user's computing device). Based on degradation mode 170,
routing engine 118 may alter an appearance of scheduling
information 160.
VI. Adapting to User Behavior
[0073] FIG. 5 is a diagram of an exemplary transportation
information system 500 including rider analyzer 116, routing engine
118, and updated scheduling information 520, in accordance with an
embodiment. Rider analyzer 116 can receive, as input, user behavior
510 and scheduling information 160. Rider analyzer 116 can detect
discrepancies between routing suggestions, provided in scheduling
information 160, and routes users actually take, provided in user
behavior 510. Rider analyzer 116 can provide the analysis results
to routing engine 118. Routing engine 118 can use the output from
rider analyzer 116 to generate updated scheduling information
520.
[0074] In one embodiment, a transportation information system can
adapt to user preferences, and provide popular routes that are more
consistent with user behavior 510. In another embodiment, a
transportation information system can provide an indication that
scheduling information has been updated, e.g., when generating
updated scheduling information 520. The user can be asked to verify
whether updated scheduling information 520 is desirable.
VII. Alerts
[0075] FIG. 6 is a diagram of an exemplary transportation
information system 600 including alert generator 120 and alert 610,
in accordance with an embodiment. Alert generator 120 can receive,
as input, degradation mode 170, user behavior 510, user data 130,
public transportation data 140, user profile 150, scheduling
information 160, and vehicle identification 620.
[0076] Vehicle identification 620 can be determined using various
techniques. For example, determining which vehicle a user
(passenger of the identified vehicle) is on can involve matching
the user's location with real-time data for the identified
vehicle's location. The user's location can be provided by a Global
Positioning System (GPS) feature on the user's portable computing
device such as, for example, a smartphone. Other location methods
are possible, including wireless signal triangulation. The
identified vehicle location can be provided by, for example, the
transit agencies.
[0077] In one embodiment, vehicle identification 620, corresponding
to the user's location, can be provided to alert generator 120.
Alert generator 120 can generate alert 610, which can be used in
various applications. Although not illustrated, vehicle
identification 620 can be provided to various other components of
analyzer 110, including rider analyzer 116, routing engine 118, and
other components.
[0078] In one example, when a train is about to enter a tunnel and
the user will lose GPS location, alert 610 can be used to notify
analyzer 110 to use a different method of determining the user's
location. In one embodiment, analyzer 110 can determine a user's
location based on a position of the vehicle the user is in,
according to vehicle identification 620. Position data for the
identified vehicle may be gathered using a GPS that functions in
tunnels, odometer readings that give the distance the train has
travelled, or other methods. For example, a transit network may use
transponders positioned on the tracks to identify train locations.
Even during a detour, the system can determine that the vehicle
will arrive at a specific station, information which can be used
for locating the vehicle and user. Alert 610 can also be used to
notify the user that a different method of location detection is
being used for the user. A user's GPS can be compared with a
vehicle's GPS to determine that the user is on a particular
vehicle. The user can be "checked in" to that vehicle. The user may
also be given the option of manually "checking in" to a vehicle.
The user can send the vehicle information to other users who can be
kept informed of the user's progress via that vehicle's
progress.
[0079] In one embodiment, alert 610 can be used to provide various
information to the user. In another embodiment, alert 610 can be
used to provide various information to analyzer 110. Alert 610 can
warn the user that the vehicle the user is on is about to enter an
area with no cellular signal or no GPS signal. This is useful, for
example, if the user is on the phone during a telephone call or
using data provided by the cellular signal or GPS signal. Alert 610
can notify the user that analyzer 110 may not be able to provide
trip advice while the user is in the tunnel or otherwise without a
data signal, GPS signal, or both.
[0080] Alert 610 can be used to notify analyzer 110, the user, or
both when the vehicle the user is on is about to reach the user's
stop. Alert 610 can be used to alert the user if the user is going
to miss a connection on a planned trip.
[0081] Alert 610 can be used to notify other people regarding the
user's status. For example, a user's friend who is going to meet
the user can be notified of the user's progress on a trip based on
the predictions analyzer 110 has for the identified vehicle the
user is traveling on.
[0082] Alert 610 can provide basic information about the trip the
user is currently on. For example, analyzer 110 can provide
scheduling information 160 including a list of upcoming stations
and estimated times, similar to that which is often displayed on
trams. Alert 610 can provide notifications of this information to
the user, e.g., on the user's own device such as a mobile computing
device.
[0083] Alert 610 can provide a warning of problems up ahead along
the user's route, so that the user can reroute before getting
stuck.
VIII. Exemplary Methods
[0084] FIG. 7 is a flowchart 700 of a method for providing
transportation information, in accordance with an embodiment. At a
stage 710, user data associated with public transportation usage is
received. At a stage 720, public transportation data is received.
At a stage 730, scheduling information is generated based on the
user data and the public transportation data.
[0085] FIG. 8 is a flowchart 800 of a method for providing
transportation information, in accordance with an embodiment. At a
stage 810, first scheduling information is generated for a first
user. In one embodiment, routing engine 118 may generate first
scheduling information for a first user based on first user data,
public transportation data, a first starting location, and a first
destination location.
[0086] At a stage 820, it is determined that a second user would
like to join the first user. In one embodiment, routing engine 118
may determine that a second user starting from a second starting
location different from the first starting location would like to
join the first user.
[0087] At a stage 830, second scheduling information is generated
for the second user. In one embodiment, routing engine 118 may
generate second scheduling information for a second user to meet
the first user based on second user data, public transportation
data, the second starting location, real-time location information
for the first user, and a second destination location.
[0088] At a stage 835, it is determined whether it is time for the
second user to depart. If it is not time for the second user to
depart, the system waits at a stage 837 and process flow returns to
stage 835. If it is time for the second user to depart, at a stage
840, an alert is generated for the second user to depart to join
the first user. In one embodiment, alert generator 120 generates an
alert for the second user to depart to join the first user. Alert
generator 120 may generate an alert for the second user to depart
from a second starting location at a specified time to meet the
first user.
[0089] FIG. 9 is a flowchart 900 of a method for providing
transportation information, in accordance with an embodiment. At a
stage 910, public transportation data is received. The public
transportation data may include scheduled vehicle location
information and actual vehicle location information. At a stage
915, it is determined whether scheduled vehicle location
information deviates from actual vehicle location information. If
the deviation does not exceed a threshold, at a stage 917,
scheduling information is generated for the user. If the deviation
exceeds a threshold, at a stage 920, a schedule degradation mode is
generated. At a stage 930, scheduling information including an
indication of the schedule degradation mode is generated for the
user.
[0090] FIG. 10 is a flowchart 1000 of a method for providing
transportation information, in accordance with an embodiment. At a
stage 1010, user data associated with public transportation usage
is received. At a stage 1020, public transportation data including
routes available to the user is received. At a stage 1030, a user
profile including automatically generated route suggestions is
generated.
IX. Routing
[0091] FIG. 11 is a diagram of an application of an exemplary
transportation information system, in accordance with an
embodiment. Users A 1110 and B 1120 agree to meet at a destination
1150, e.g., a restaurant, using a transit system. A 1110 plans his
route to destination 1150. As route from origin 1112 to destination
1150 includes portions 1114 and 1116. Along the way, As vehicle
makes stops, including a stop 1130 (e.g., at a station).
[0092] A 1110 shares his itinerary with B 1120. B chooses to "join"
this trip. As scheduling information and B's scheduling information
can be generated based on different forms of travel used by A and B
(e.g., their travel preferences).
[0093] A begins the trip at origin 1112, and once he boards the
vehicle at origin 1112, the actual times of the vehicles he will
catch are calculated (e.g., based on best approximations of
connection times, degradation modes, etc., as determined by
analyzer 110).
[0094] B 1120 is informed when to begin his trip so that he will
meet with A 1110 at stop 1130. B's route from origin 1122 to
destination 1150 includes portions 1124 and 1126. B's vehicle makes
a stop at stop 1130.
[0095] In one embodiment, a transportation information system
instructs B 1120 such that B 1120 arrives at stop 1130 in time to
catch the vehicle that A 1110 is using. Therefore, A 1110 and B
1120 meet on the vehicle, and travel together (for example, along
the last leg 1140 of a journey). A 1110 and B 1120 proceed to
destination 1150 together, and do not have to ride separately in
portions 1116 and 1126 of the trip. In one embodiment, a vehicle
that A 1110 is riding on that travels along a path of As generated
scheduling information is identified. The identified vehicle and
path are included in B's generated scheduling information.
[0096] During travel, A 1110 or B 1120 may experience delays or a
deviation from the original scheduling information. In one
embodiment, As scheduling information is updated based on real-time
transportation data of B 1120. In another embodiment, B's
scheduling information is updated based on real-time transportation
data of A 1110. For example, if A 1110 is delayed and there are
multiple stops along ifs path, B 1120 may decide to exit a
transportation vehicle that B 1120 is riding on, take a coffee
break at a particular stop for a time period, and take a different
transportation vehicle at a later point in time to join A 1110 at
stop 1130.
[0097] In one embodiment, A 1110 is alerted when real-time
transportation data of B 11120 deviates from the second scheduling
information. In another embodiment, B 1120 is alerted when
real-time transportation data of A 1110 deviates from the first
scheduling information.
[0098] FIG. 12 is a diagram of an application of an exemplary
transportation information system, in accordance with an
embodiment. As illustrated, a system can choose different routes,
and even modify a passenger's route postfactum, in order to
maximize a portion 1250 of the trip that users A 1210 and B 1220
spend together. For example, B 1220, if traveling alone or taking a
direct trip, would not typically choose to travel away from a
destination 1260. B 1220, however, might choose to go out of his
way if that helped him meet A 1210 sooner and allowed A 1210 and B
1220 to spend more time together on the trip.
[0099] In one embodiment, A's scheduling information may be
adjusted to increase a portion of the trip that A 1210 and B 1220
spend together. In another embodiment, B's scheduling information
may be adjusted to increase a portion of the trip that A 1210 and B
1220 spend together. For example, a distance of B's generated route
that includes the path of A's generated route is longer than a
distance of another route from B's starting location to B's
destination location. In this embodiment, A 1210 and B 1220 spend
more time together along the route.
[0100] As illustrated, A 1210 departs from origin 1212, proceeds
along path 1214 to a stop 1230, then along path 1216 to stop 1240,
and along path 1218 to stop 1260. A 1210 shares his itinerary with
B 1220 and B 1220 chooses to join A's trip.
[0101] B 1220 has an option of traveling a more direct route from
origin 1222 along path 1223 to stop 1240. B 1220, however, chooses
to spend more time with A 1210 during the trip. In one embodiment,
it is determined that B 1220 can travel along path 1224 and
intercept A 1210 by catching A's vehicle at stop 1230. In this
embodiment, B 1220 can be instructed when to depart from origin
1222, and the vehicle in which A 1210 is riding can be identified,
so that B 1220 can find A 1210.
[0102] Accordingly, for the remainder of trip 1250, A 1210 and B
1220 travel together from stop 1230 to stop 1240 and on to
destination 1260. This avoids A 1210 and B 1220 from having to
travel separately along paths 1216/1226 and 1218/1228.
[0103] FIG. 13 is a diagram of an application of an exemplary
transportation information system, in accordance with an
embodiment. Users A 1310 and B 1320 want to meet at a common
location, timed to arrive approximately simultaneously at
destination 1340. A 1310 is departing from origin 1312, and B 1320
is departing from origin 1322.
[0104] The system can determine that As path will take more time,
and generate scheduling instructions for A 1310 to depart before B
1320 departs. A 1310 travels along path 1314 to stop 1330, then
along path 1316 to destination 1340. While A 1310 is traveling, the
system determines when B 1320 should depart from origin 1322. B
1320 then departs and travels along path 1324. B 1320 arrives at
destination 1340 approximately at the same time as A 1310, meeting
A 1310 at destination 1340.
[0105] If A's trip changes or is rerouted for some reason, then the
system can notify B 1320, reroute A 1310, reroute B 1320, or a
combination of these. For example, if A 1310 misses a connection, B
1320 is notified and can be rerouted to meet A 1310. The system may
determine that B 1320 should leave at a later time. Similarly, A
1310 can be notified of changes in B's trip. For example, A 1310
can be notified that B 1320 has chosen to join A's trip, or that B
1320 is expected to meet A 1310 at a certain point. If B's trip
changes, A 1310 can be updated and decide whether to be
rerouted.
[0106] FIG. 14 is a diagram of an application of an exemplary
transportation information system, in accordance with an
embodiment. Users A 1410 and B 1420 agree to meet at a stop 1430,
e.g., a bus stop, using a transit system, and travel together for a
duration of time along their respective routes. A's destination is
different from B's destination. A 1410 has a destination 1452 and B
1420 has a destination 1454. A 1410 plans his route to destination
1452, staring at origin 1412. A's route from origin 1412 to
destination 1452 includes portions 1414, 1416, and 1456. Along the
way, A's vehicle makes stops, including a stop 1430.
[0107] A 1410 shares his itinerary with B 1420. B 1420 chooses to
meet A 1410 along his trip. In one embodiment, scheduling
information is generated for B 1420 to meet A 1410 at stop 1430 and
travel along a path 1440 together. B's route from origin 1422 to
destination 1454 includes portions 1424, 1426, and 1458. Along the
way, B's vehicle stops at stop 1430.
[0108] A 1410 and B 1420 can meet on a vehicle at stop 1430, and
travel together until a stop 1450. A and B proceed to stop 1450
together, and do not have to ride separately in portions 1416 and
1426 of the trip. At stop 1450, A 1410 and B 1420 can separate so
that A can proceed to destination 1452 and B can proceed to
destination 1454. In one example, A 1410 remains in the vehicle and
B 1420 departs from the vehicle to ride a different vehicle. In
another example, B 1420 remains in the vehicle and A 1410 departs
from the vehicle to ride a different vehicle. In another example, A
1410 and B 1420 depart from the vehicle to ride a different
vehicle.
[0109] Embodiments illustrated in FIGS. 11-14 can be used between
multiple vehicle types, including between public transit and
personal transportation. If A 1310 is meeting B 1320 simultaneously
in FIG. 13, the system can track when A 1310 gets on the train at
origin 1312, for example. The system will calculate when B 1320
should get in his car, for example, so that B 1320 arrives at
destination 1340 at approximately the same time that A 1310 arrives
at destination 1340. This can be extended to any form of traveling
such as walking, bicycling, car driving, bus systems, train
systems, and any combination of these for routing or meeting en
route.
[0110] X. Additional Advantages Including Real-Time
Applications
[0111] In one embodiment, riders can be alerted as to the capacity
of various vehicles. In one example, the system can notify a user
that a bus or train car is full. In this example, the user can plan
to catch the next bus or train car that is not as crowded. In one
embodiment, a transportation information system can determine such
information based on information from a transit system, user
behavior 510, and other data that can identify passenger load in a
vehicle.
[0112] In one embodiment, a transportation information system can
notify users of various features of a transit network/system. For
example, embodiments can determine that it is raining, and
therefore can advise a user which stops have a shelter to avoid the
rain. For example, the system can alert the user to get off one
stop early, so that the user can wait under a shelter at the
earlier stop.
[0113] Embodiments can be used for real-time information in public
transportation systems. Users, developers, aggregators, and others
can use the information in various ways. Developers/a developer
feed can query a subset of the data. An example query can be
"arrivals at station X in the next 10 minutes." Embodiments can
provide information with little need to cross reference, and can
synthesize many standards across a variety of transportation
systems. A snapshot of all the data can be provided, e.g., for an
aggregator/aggregator feed. The data can be provided in a
consistent format. Data formats can be optimized for aggregation,
including a reference to a static schedule and incremental
updates.
[0114] Real-time data can be useful for alerting users if a vehicle
is late or otherwise deviating from a schedule, rerouting a nip, or
knowing that an event affects a user's trip. For example,
embodiments of a transportation information system can determine
whether parts of a public transit system route lack cellular or GPS
signals and offer a user the choice of choosing another route with
more reliable wireless signals. Embodiments can determine signal
dead-spots where there are no requests coming from mobile networks.
In high-usage areas, such as major cities, dead-spots may
correspond to areas with no signal and embodiments can build up
highly localized coverage maps. In one embodiment, information can
be collected where wireless signals are available on public transit
systems. Users can rely on the collected information and be able to
select options including trip routing to maximize signal
availability. For example, a user may be willing to pay a penalty
in trip time in order to have a 30 signal available for the entire
trip. Real-time location data for a user can be used to convert a
statically planned trip (e.g., origin/path/destination) to a
precise list of concrete vehicles, times, or both associated with
the trip.
[0115] Scheduled information can be matched with real-time data,
and can provide updates in the form of time increments to a
schedule on a per-trip basis. Real-time data can include service
alerts, schedule updates, location information (e.g., users and
transit systems), passenger loads, video camera feeds, user GPS
information, and other data. Raw data can be made available to
websites and other data distributors. Embodiments can provide
integration for otherwise loosely connected internal systems at an
agency, and compensate when the relation of actual traffic versus
scheduled traffic degrades over time.
XI. Further Examples
[0116] The following table is an example of a first trip joining
scenario:
TABLE-US-00001 Time Marcus's Trip Phil's Trip Any time Searches for
a trip from A before trip to B and decides on a route using public
transit Any time Sends itinerary to Phil Receives itinerary from
at/before trip Marcus 11:57 Gets on Bus 94 from Phil's phone knows
that Hallenbad Oerlikon. Marcus has started the trip and so
calculates the actual trips Marcus will be on from the itinerary
and the information we have on schedules and current time. 12:00
Arrives at Bahnhof Oerlikon 12:04 Phil is alerted that he should
leave the office in 5 minutes in order to catch the same train as
Marcus 12:07 Takes the S16 from Bahnhof Oerlikon towards Bahnhof
Tiefenbrunnen. 12:09 Phil is alerted that he should leave the
office now in order to catch the same train as Marcus. He leaves
the office. 12:15 Passes through Zurich Gets on the S16 at Zurich
Hauptbahnhof on the train. Huptbahnhof towards Meets Phil on the
train. Bahnhof Tiefenbrunnen. Meets Marcus on the train. 12:20 Phil
and Marcus arrive Phil and Marcus arrive together at Bahnhof
together at Bahnhof Tiefenbrunnen. Tiefenbrunnen.
[0117] The following are examples illustrating trip joining, and
other features:
[0118] 1. Morning Commute: Marcus lives near Altersheim, Zurich.
Route to work: Bus 140 from Altersheim to Langnau then the S4 from
Langnau to Zurich HB.
[0119] Marcus gets up and receives an alert on his phone that the
bus to the train station is cancelled. Since it is only a short
walk to the train, he can just leave a bit earlier and still catch
the train.
[0120] Once Marcus arrives at Langnau, he gets on the train. There
has been an accident up ahead. Accordingly, he receives an alert
that the train is not going to be able to reach Zurich HB. Rather
than wait to get close to the destination and be stuck, his phone
informs him to exit the train three stops early and take a tram
instead.
[0121] Marcus arrives at work on time, despite the cancellations
and delays.
[0122] 2. Lunch: Marcus's friend, Phil, calls him about a new
restaurant and suggests they meet there for lunch. Phil sends his
itinerary to Marcus and he agrees to join Phil on his journey to
the restaurant.
[0123] Phil lives in Oerlikon and takes a bus to reach his local
train station. As soon as he starts his trip to the restaurant
Marcus's phone keeps track of Phil's journey and informs him when
to leave the office. Phil changes onto the S6 to reach the
restaurant at Bahnhof Tiefenbrunnen. Marcus has live information on
when the train will pass Zurich HB, near Marcus's work. Marcus is
alerted when to start walking to the station and which train and
carriage to take so that Marcus and Phil meet on the train. They
arrive at the restaurant together.
[0124] Marcus's phone knows when his first meeting of the afternoon
is and alerts him when he needs to take the train back to work. He
doesn't waste time waiting at the stop and arrives on time.
[0125] 3. Evening: After work Marcus wants to meet his girlfriend
at Zurich HB, ready to go for a concert in Winterthur. His phone
warns him that the next train about to arrive is full of people,
but there is another one in 10 minutes that should be quieter.
Since they are not in a rush and would enjoy a more comfortable
ride, they wait for the next train, where there are plenty of
seats. Once they arrive in Winterthur, they take the bus to the
concert. Since neither of them are familiar with the buses there,
they panic and think they have taken the bus in the wrong
direction, but fortunately Marcus can check his phone and determine
which bus he is on from the location. Marcus can confirm they took
the right one.
[0126] After enjoying the concert they head back to Zurich. It
starts raining, so Marcus's phone directs them to a bus stop with a
shelter nearby. Both of them are tired after a long day and fall
asleep on the train. Fortunately, Marcus's phone knows when they
are about to reach the station and an alarm sounds to wake them
up.
XII. Conclusion
[0127] The Summary and Abstract sections may set forth one or more
but not all exemplary embodiments as contemplated by the inventors,
and thus, are not intended to limit the present disclosure and the
appended claims in any way.
[0128] The present disclosure has been described above with the aid
of functional building blocks illustrating the implementation of
specified functions and relationships thereof. The boundaries of
these functional building blocks have been arbitrarily defined
herein for the convenience of the description. Alternate boundaries
can be defined so long as the specified functions and relationships
thereof are appropriately performed.
[0129] The foregoing description of the specific embodiments will
so fully reveal the general nature of the present disclosure that
others can, by applying knowledge within the skill of the art,
readily modify and/or adapt for various applications such specific
embodiments, without undue experimentation, without departing from
the general concept of the present disclosure. Therefore, such
adaptations and modifications are intended to be within the meaning
and range of equivalents of the disclosed embodiments, based on the
teaching and guidance presented herein. It is to be understood that
the phraseology or terminology herein is for the purpose of
description and not of limitation, such that the terminology or
phraseology of the present specification is to be interpreted by
the skilled artisan in light of the teachings and guidance.
[0130] The breadth and scope of the present disclosure should not
be limited by any of the above-described exemplary embodiments, but
should be defined only in accordance with the following claims and
their equivalents.
[0131] The claims in the instant application are different than
those of the parent application or other related applications.
Arguments made in a related application should not be read into the
instant application.
* * * * *