WO2009029910A2 - Situation-aware personal information management for a mobile device - Google Patents
Situation-aware personal information management for a mobile device Download PDFInfo
- Publication number
- WO2009029910A2 WO2009029910A2 PCT/US2008/074944 US2008074944W WO2009029910A2 WO 2009029910 A2 WO2009029910 A2 WO 2009029910A2 US 2008074944 W US2008074944 W US 2008074944W WO 2009029910 A2 WO2009029910 A2 WO 2009029910A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- time
- mobile device
- traffic
- user
- location
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
- G01C21/3469—Fuel consumption; Energy use; Emission aspects
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
- G01C21/3492—Special cost functions, i.e. other than distance or default speed limit of road segments employing speed data or traffic data, e.g. real-time or historical
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
Definitions
- the present invention relates generally to mobile devices and, in particular, to techniques for providing end users of such devices with real-time situation-aware data.
- PIM personal information manager
- Web sites such as Google Maps provide end users with the capability of obtaining map data defining a navigation route.
- a recently- added feature to Google Maps enables the end user to view real-time traffic conditions along a desired route.
- Vehicle-mounted navigation devices also are well-known in the prior art. These devices interact with global positioning systems (GPS) to provide an end user with up-to-date location information as an end user drives the vehicle along a given route.
- GPS global positioning systems
- a system comprises an end user mobile device that is connectable to a server hosted in or managed by a service provider.
- the user has scheduled an appointment at a given time and location in the user's personal information manager (PIM) executing on the mobile device.
- PIM personal information manager
- a representative PIM is a calendar on the mobile device (or on a calendar in another device that is then synchronized to the mobile device calendar).
- a "when to leave” alarm is provided to the end user in the form of a display widget (or “countdown alarm") that automatically activates a given time (e.g., 30 minutes) before a latest departure time for an event in the user's PIM.
- the "when to leave” alarm is generated as follows. The mobile device current time and location is compared with the time and location of the end user's next appointment as defined in the PIM (or the like). Using the location data, a fastest route from the current location to the destination location is determined or obtained, preferably taking into consideration traffic conditions. At a given time, a display on the mobile device of the "when to leave" screen is initiated.
- the "when to leave” screen preferably includes a map of the end user's current location, which changes to a route map, displaying the route ahead a given time period (e.g., 5 minutes) before anticipated departure.
- the route map preferably shows the fastest route.
- a countdown alarm is displayed, preferably in the form of a first color bar concatenated with a second color bar.
- the travel time to the destination is shown in red
- a "cushion" - a time between a current time and a latest departure time - is displayed in green. As time elapses, the green portion of the bar shrinks, and the red portion of the bar fluctuates according to real-time and predicted traffic conditions on the route.
- the countdown alarm is a display widget, which includes a timeline running along a given display axis (e.g. horizontally). As described above, the countdown alarm is, in effect, a timer.
- a first item on the timeline represents a current time on the mobile device.
- the cushion portion e.g., shown as a green bar
- a travel (or "commute" portion e.g., shown as a red bar.
- the length of the cushion is calculated according to the following algorithm: given an appointment time and the current time, the cushion is equal to [(appointment time - current time) - commute time] .
- the quantity within the parenthetical is sometimes referred to as the buffer.
- the commute time is typically provided from a server, which also provides a route map for the commute. After the commute portion, typically a last item on the timeline is the appointment time itself.
- the commute portion of the timer typically takes into consideration various types of traffic and travel time. These traffic types include, for example, real-time traffic, historic traffic, and predicted traffic. Real-time traffic typically refers to a check of the traffic along a route at a given time or instant. Historic traffic refers to traffic by time of day and day of week for a given portion of the route.
- Predicted traffic refers to a blend of real-time and historic traffic, and typically refers to a prediction of how non-recurring traffic will dissipate by the time the traveler arrives at a given segment of the route (e.g., following an accident, which by then might have cleared).
- Figure 1 is a block diagram of the system components in a preferred embodiment of the invention
- Figure 2 illustrates a representative countdown widget that is displayed in conjunction with a route map according to the situation- aware functionality described herein;
- Figure 3 illustrates an alternative embodiment of the countdown widget that is displayed in conjunction with a route map according to the situation- aware functionality
- Figure 4 illustrates the widget of Figure 3 during the end user's travel along the route;
- Figure 5 illustrates the widget modified to display an alert to the end user;
- Figure 6 illustrates the display widget and associated temporal variables;
- Figure 7 illustrates a route map with a weather data overlay that is time- and location- specific;
- Figure 8 illustrates mobile device displays showing alternative departure and arrival time options adjacent to times, as well as associated fuel consumption
- Figure 9 illustrates a display showing the countdown alarm that includes a portion representing a break time.
- a “mobile device user” should be broadly construed. It includes any wireless client device, e.g., a cellphone, pager, a personal digital assistant (PDA, e.g., with GPRS NIC), a mobile computer with a smartphone client, or the like.
- PDA personal digital assistant
- a typical mobile device is a wireless access protocol (WAP)-enabled device (e.g., an iPhone ® , a Blackberry ® device, or the like) that is capable of sending and receiving data in a wireless manner using the wireless application protocol.
- WAP wireless access protocol
- WAP wireless application protocol
- WAP allows users to access information via wireless devices, such as mobile phones, pagers, two-way radios, communicators, and the like.
- WAP supports wireless networks, including CDPD, CDMA, GSM, PDC, PHS, TDMA, FLEX, ReFLEX, iDEN, TETRA, DECT, DataTAC, and Mobitex, and it operates with many handheld device operating systems, such as PalmOS, EPOC, Windows CE, FLEXOS, OS/9, and JavaOS.
- WAP-enabled devices use graphical displays and can access the Internet (or other communication network) on so-called mini- or micro-browsers, which are web browsers with small file sizes that can accommodate the reduced memory constraints of handheld devices and the low-bandwidth constraints of a wireless networks.
- the mobile device is a cellular telephone that operates over GPRS (General Packet Radio Service), which is a data technology for GSM networks.
- GPRS General Packet Radio Service
- a given mobile device can communicate with another such device via many different types of message transfer techniques, including SMS (short message service), enhanced SMS (EMS), multi-media message (MMS), email WAP, paging, or other known or later-developed wireless data formats.
- SMS short message service
- EMS enhanced SMS
- MMS multi-media message
- email WAP paging, or other known or later-developed wireless data formats.
- a mobile device is connectable (typically via WAP) to a transmission functionality that varies depending on implementation.
- the transmission functionality comprises one or more components such as a mobile switching center (MSC) (an enhanced ISDN switch that is responsible for call handling of mobile subscribers), a visitor location register (VLR) (an intelligent database that stores on a temporary basis data required to handle calls set up or received by mobile devices registered with the VLR), a home location register (HLR) (an intelligent database responsible for management of each subscriber's records), one or more base stations (which provide radio coverage with a cell), a base station controller (BSC) (a switch that acts as a local concentrator of traffic and provides local switching to effect handover between base stations), and a packet control unit (PCU) (a device that separates data traffic coming from a mobile device).
- MSC mobile switching center
- VLR visitor location register
- HLR home location register
- BSC base station controller
- PCU packet control unit
- the HLR also controls certain services associated with incoming calls.
- the mobile device is the physical equipment used by the end user, typically a subscriber to the wireless network.
- a mobile device is a 2.5 G- or 3G-compliant device that includes a subscriber identity module (SIM), which is a smart card that carries subscriber-specific information, mobile equipment (e.g., radio and associated signal processing devices), a man-machine interface (MMI), and one or more interfaces to external devices (e.g., computers, PDAs, and the like).
- SIM subscriber identity module
- MMI man-machine interface
- the mobile device may also include a data store.
- a managed service provider may be the same entity that provides the end user mobile service, or any other entity.
- the service provider operates a web site that is Internet-accessible through a web browser on the mobile device (or other machine such as the end user's PC).
- a "system” that implements the invention includes a mobile device client 100, a server 102, and a third party integration layer 104.
- the integration layer 104 may comprise part of the server 102 if the service provider has access to the location and traffic data (as will be described below).
- the mobile device client preferably is downloaded to and installed in the mobile device in any convenient manner.
- the end user opens his or her device browser to the service provider web site and selects a link to download and install the client.
- the client may be provided as original equipment on the mobile device or otherwise pushed to and installed in the device in any convenient manner.
- the end user may obtain the client by responding to an SMS or other invitation.
- the client may be retrieved to another machine (such as the end user's PC) and then transferred to the mobile device over a medium such as a Bluetooth connection.
- the client, server and integration layers each comprise a number of functional components.
- This representation is meant to be for convenience of illustration and description, and it should not be taken to limit the scope of the invention as one or more of the functions may be combined.
- these components are implemented in software (as a set of processor-executable computer instructions, associated data structures, and the like).
- One or more of the functions may be combined or otherwise implemented in any convenient manner (e.g., in hardware, in firmware, in combined hardware and software, or the like).
- the mobile device includes a micro- browser or other graphics rendering engine for displaying information to the end user in the usual manner.
- the device is Internet-accessible and interacts with the server 102 using known Internet protocols such as HTTP, HTTPS, and the like.
- the server 102 is shown as a single device but this is not a requirement either; one or more programs, processes, or other code may comprise the server and be executed on one or more machines (in one or more networked locations).
- the client 100 and the server 102 include various functional components and associated data stores to facilitate the operation.
- the operation of the disclosed method may be carried out using system components other than as shown in Figure 1.
- the client 100 includes a situation- aware cache 101, and the server includes its own situation-aware cache 103. These data stores are used to facilitate the creation and display of a countdown alarm.
- the server 102 also includes a database (e.g., MySQL) 105 for storing location information, as well as a user profile database 107 for storing user preference data.
- the integration layer provides one or more application programming interfaces (APIs), such as a geo-coding API 109 for providing the server with information about the destination location, as well as a mapping and traffic API 111 for providing the server with map data and real-time (or historic) traffic data.
- APIs application programming interfaces
- the geo-coding API provides destination location coordinates, preferably by reverse geo-coding addresses in the end user's PIM.
- the mobile device actual location is provided using GPS, A-GPS, or other data service, which obtains the device location is a known manner.
- the map and traffic data is provided (via API 111) from a data service provider or obtained by the application natively.
- any convenient data services may be used or otherwise integrated into the situation-aware service offering.
- a user of the mobile device enters an appointment event in his or his PC- or web- based calendar 108.
- the event data includes fields for date, time, activity, and location.
- the location is a street address.
- a service provider or other source may be used to obtain a destination location address upon receiving a request for such information.
- the PC- or web-based calendar 108 at some point is synchronized to a mobile PEVI native calendar 110.
- the appointment event data may be entered into the PIM native calendar 110 directly.
- An application calendar module 112 reads the mobile device calendar 110 over a connection, such as an industry standard JSR 75 link.
- the calendar module 112 preferably is automatically synchronized to the mobile PIM calendar 110 whenever a new appointment event is added to the calendar 110.
- the appointment event data is assimilated by a PIM data upload function 114, which transfers the data to the server 102, preferably via HTTP.
- This data is received at the server 102 and processed by an agenda analyzer component 116.
- the agenda analyzer 116 provides the processed data to a parse engine 118, which is also connected to the third party integration layer 104, preferably via XML.
- the geo-coding API 109 takes unstructured address information, assesses its quality, adds one or more geo-codes, and structures that data into XML.
- the structured and geo-code data is stored in the database 105. Meanwhile, a set of user preferences (such as locations of home, work, daily commute times), security data, and current location (typically, the mobile device last known location) data are uploaded to the server, such as by a preferences specification component 113 operating in the client 100. This preference data is stored in the user profile database 107.
- the server code compares the last known location and current time with the location and time of a next appointment.
- the databases 105 and 107 transfer to a mapping engine and countdown profiler component 115 the following data: current time and location, and event time and location.
- the mapping engine and countdown profiler component 115 also accesses the third party mapping and traffic APIs, preferably via XML, to obtain the route map and traffic data.
- the route map data may be obtained at any convenient time once the starting and ending locations are determined, although typically it is desired to obtain the route map with the associated traffic data (which, of course varies based on time of day, day of week, and other non-recurring events, such as traffic accidents, adverse weather, and the like).
- a route map may take into consideration various types of traffic and travel time. These traffic types include, for example, real-time traffic, historic traffic, and predicted traffic. Real-time traffic typically refers to a check of the traffic along a route at a given time or instant.
- Historic traffic refers to traffic by time of day and day of week for a given portion of the route.
- Predicted traffic refers to a blend of real-time and historic traffic, and typically refers to a prediction of how non-recurring traffic will dissipate by the time the traveler arrives at a given segment of the route (e.g., following an accident, which by then might have cleared).
- the real-time traffic may be weighted more heavily for the drive closer to the user's departure location, while the predicted traffic may be weighted more heavily for the drive as the user nears the desired destination.
- the mapping engine and countdown profiler component 115 uses the current and event time and location data, and taking into consideration the traffic data, the mapping engine and countdown profiler component 115.
- This component generates the route map and the commute time.
- This information is used by the client side of the application to generate and display the countdown alarm to instruct the mobile device user "when to leave” if he or she intends to arrive timely at the desired appointment destination given the time of day, route of travel and traffic conditions along the anticipated route.
- the situation- aware cache 103 manages the data and pushes the resulting map, commute time and appointment time to the client 100, where it is received by the situation- aware cache 101.
- the cache 101 on the client side then provisions a route map 117 (with the best or recommended route), as well as the countdown alarm widget 119. As will be seen, this information is then displayed to the end user (preferably in a "just-in-time” manner) to attempt to influence the user's departure (i.e., to provide the desired "situation-awareness”
- the data output from the client- side situation- aware cache 101 also is transmitted to the in-vehicle mapping system or other personal navigation device (PND) 121, e.g., using Bluetooth or the like.
- PND personal navigation device
- the server or other machine or device may push this information there directly. This enables automated destination retrieval as well as proactive re-routing to avoid traffic in the event the end user makes driving errors or otherwise modifies the route on-the-fly.
- the "when to leave” screen (the countdown alarm) automatically activates a given time (e.g., 30 minutes) before a latest departure time for an event in the user's personal information manager (PIM).
- PIM personal information manager
- the service compares the mobile device current location with the time and location of the end user's next appointment, works out (or otherwise obtains) a fastest route (preferably allowing for real-time and/or predicted traffic), and then provides information to the client side, which (at a given time) initiates the display (on the mobile device) of the "when to leave” screen.
- the "when to leave” screen preferably includes a map of the end user's current location, which changes to a route map, displaying the commute ahead a given time period (e.g., 5 minutes) before anticipated departure.
- the route map preferably shows the fastest route, together with a countdown alarm.
- the countdown alarm preferably is a graphic element, such as shown in Figure 2. As seen there, preferably the countdown alarm is a display widget 200 that includes a number of elements.
- the first element is the current time 202.
- the alarm widget preferably as a green horizontal bar 204.
- the commute time also is displayed in the widget, preferably as a red horizontal bar 206.
- the final part of the display widget is the appointment start time 208.
- the current time 202 and appointment start time 208 may include additional information.
- the current time 202 field may itself include a countdown indication, and the appointment start time field may be annotated to include other data, such as event attendees, reminders, and the like.
- the countdown alarm preferably is a display widget, which includes a timeline running along a given display axis (e.g. horizontally). As described above, the countdown alarm is, in effect, a timer.
- a first item on the timeline represents a current time on the mobile device.
- the cushion portion e.g., shown as a green bar
- a travel (or "commute" portion e.g., shown as a red bar.
- the length of the cushion (along the timeline) is calculated according to the following algorithm: given an appointment time and the current time, the cushion is equal to [(appointment time - current time) - commute time] .
- the quantity within the parenthetical is sometimes referred to as the buffer.
- the commute time is typically provided from a server, which also provides a route map for the commute. After the commute portion, typically a last item on the timeline is the appointment time itself.
- FIG. 3 illustrates an alternative embodiment of the countdown alarm.
- the countdown alarm 300 comprises an additional element.
- the first element is the current time 302.
- the green bar 304 represents the current time cushion according to real-time traffic conditions
- the red bar 306 illustrates the countdown travel time from the current location to the destination using historic traffic conditions.
- the appointment start time 308 is also provided.
- the countdown alarm 300 also includes an orange bar 305, which represents a traffic surplus (that represents an incremental traffic delay over historic traffic for the intended route) that may be exist given the real-time traffic conditions. This surplus is included in the red bar portion of the countdown alarm in Figure 2.
- the countdown alarm also displays the departure and destination locations in a text box 310.
- the route map is provisioned according to predetermined dimensions (corresponding to the display area of the mobile device) leaving a space for the countdown alarm.
- the program then calculates the dimensions of the countdown alarm and fits it into the space.
- the route map is returned from the server to the mobile device in the form of a byte stream of a .png image.
- this byte stream is converted back into a .bmp file.
- the .bmp file is fitted into a bitmap field in the display.
- the countdown alarm is calculated in a countdown timer display widget.
- the countdown timer display widget comprises a number of elements.
- the first element is the current time. If there is some cushion available, then this cushion is displayed in the alarm widget, preferably as a green horizontal bar. The commute time is then displayed in the widget, preferably as a red horizontal bar. The final part of the display widget is the appointment start time.
- the situation- aware application takes given data (current location A and location of an appointment B, current time and desired destination arrival time), calculates the fastest route from A to B, checks historical travel times from A to B to arrive at the appointment time, indexes real-time traffic conditions to calculate the traffic buffer (optional), and then creates the countdown alarm. The alarm is then overlaid or displayed within the route map (or some portion thereof), such as already shown in Figure 3.
- the application may zoom out to show both locations A and B.
- the countdown alarm dynamically changes to show the time cushion, traffic delay and historic travel duration.
- the display may be modified, such as shown in Figure 5.
- the application alerts the user that he or she is going to be late; at this time, a menu item may also be provided to enable the user to make a call (to the destination) or send an email (or SMS) to notify another of the anticipated delay in the arrival.
- Historic traffic The historic time to travel, by car, transit or as a pedestrian, from start location to finish location. Historic time typically corresponds to same time of day and day of week, using predetermined turn-by-turn directions or pedestrian or transit navigation directions.
- Traffic surplus/deficit At predetermined intervals real-time traffic conditions are assessed for the intended route. If the real-time traffic conditions require that the predicted travel time increases, then this is said to be a traffic surplus.
- the traffic surplus is the incremental traffic delay over historic traffic for the intended route. In effect, this value represents the increased time to get to the destination under current traffic conditions. If, for some reason, the traffic surplus is in fact a deficit (because traffic is unusually light on the intended route), then a deficit shows and the time cushion increases accordingly.
- T (Real-time travel duration from Ll to L2) - 1 T can be negative if there is unusually light traffic.
- the cushion (C) The time cushion is a time interval between the current time and the departure time.
- the departure time equals the time when the user should leave the start location, taking account of historic traffic conditions plus the traffic surplus interval to arrive at the finish destination on time.
- the server uses a last valid location as an assumed start location. If the start location is incorrect, the end user can open a menu and select a "locate me” option, choose an alternative start location from a list, or enter a new start location.
- the user can check the display as desired to determine if he or she will arrive on time.
- the server recognizes this and periodically (e.g., once per minute) checks the route ahead for traffic.
- the server updates the user's position, and the green portion of the bar (the cushion) fluctuates according to the number of minutes the end user is then predicted to arrive early for the meeting.
- the end user may keep this display running right up until his or her arrival at the desired destination.
- the situation- aware application uses the personal information manager (PIM) of the mobile device.
- PIM personal information manager
- the PIM is a software application that functions as a personal organizer.
- a PIM' s purpose is to facilitate the recording, tracking and management of certain types of personal information.
- other tools such as a calendar, mail client, or the like
- the mobile client working from the PEVI agenda and location, displays the countdown timer in the manner previously described to provide situation- awareness.
- the situation- aware application brings together data (e.g., from the PIM calendar and address book) to enable the end user to have an appointment location displayed on a map that also includes the mobile device's current location (obtained, for example, from a GPS or A- GPS data service).
- APIs to the service provide destination location coordinates, preferably by reverse geo-coding addresses in the PIM, or by any other convenient technique.
- pedestrian routes or transit route APIs calculate (or provide) the fastest route from the current location to the destination (finish) location.
- Traffic APIs calculate (or provide) the historic traffic (or normal time on public transport) for the route and the realtime traffic delays for the route. Using this data, the application calculates a time cushion between a current time and the time the user must leave for the appointment to arrive on- time. Preferences can also be set to provide one or more alerts in the event traffic delays or other unanticipated events occur along the intended route.
- the end user can tell at a glance whether he or she is going to be on-time for the appointment.
- the application determines and displays in a unique manner a latest departure time to ensure that the end user can arrive at the desired destination given the anticipated and real-time traffic.
- the application enables the end user to arrive on-time, to know a latest departure time (for optimal productivity), to have peace-of-mind during the travel that he or she will arrive in sufficient time for the appointment, and to easily carry out messaging if unforeseen circumstances occur that will delay arrival.
- the countdown alarm may be a display widget that is displayed in other than a horizontal timeline. Thus, for example, in an alternative embodiment, the alarm may be displayed vertically.
- the cushion and commute times may be displayed one above the other, one inside the other (as in a set of circles), or in some other juxtaposed relation. Regardless of display format or orientation, the cushion element and the corresponding commute element will change dynamically in the manner described as the timer runs forward and approaches the latest departure time.
- the countdown timer comprises one or more audible signals associated with the display graphics.
- the mobile device may also be controlled by the software to issue an audible warning at the start of the cushion (the leftmost portion of the green bar), as well as an audible "time to leave” warning at what is the beginning of the red portion. Additional reminders may be output aurally as needed or desired to ensure that the end user departs in a timely manner. Where the display is not working or it otherwise disabled, it may be desired just to issue the audible warnings.
- the route map may omit the traffic conditions (or perhaps one type of traffic data), although this is a less preferred approach. It may also be desirable to provide ancillary information to the countdown alarm.
- fuel consumption data may be overlaid or otherwise displayed in juxtaposition to the route map (including predicted traffic) with the constraint that the optimal departure time be selected to minimize travel duration and fuel consumption.
- route map including predicted traffic
- a further variant enables the display of location of places routinely visited (e.g., for instance home and work locations) and the times (and/or days of the week) when the user wishes to arrive. Thus, "when to leave" alerts can be received for frequent trips without the necessity of updating the PIM calendar.
- Another variant adds time and location-based weather reports along the planned route.
- weather reports fix the location of an individual and then provide hourly weather forecasts (or other forecasts, such as daily forecasts) for the specific location.
- hourly weather forecasts or other forecasts, such as daily forecasts
- a more convenient and accurate representation of weather predicts where an individual will be (e.g., from PIM calendar data) and their progress along a route and presents the weather forecast that is customized according to a future time and position.
- This is illustrated in Figure 7. Due to fluctuations in traffic conditions on a route (e.g., during rush hour to a major city), altering the departure time can impact the travel time and fuel consumption for the journey (more traffic time corresponds to more idling of the vehicle consuming fuel without moving, or consuming fuel sub-optimally by moving slowly).
- another variant of the application presents alternative departure and arrival time options adjacent to times specified in the PIM calendar.
- This display is generated by consulting real-time, historic and predicted traffic for the best route. For each departure time option, the speed of traffic for each segment of each route is predicted. By correlating the duration and speed of travel, along each segment, for each option, with the fuel consumption profile of the vehicle, the predicted fuel consumed can be calculated, together with the carbon footprint and conveniently presented to the driver so that they can make an informed choice according to their afore mentioned priorities.
- Figure 8 illustrates the representative displays.
- Another variant matches the timing, start locations and finish locations of drivers from their PIM entries, and matches users who have similar plans enabling users to carpool and reduce traveling costs, as well as reduce congestion.
- This variant may be implemented as a managed or hosted service using a web site that is accessed by end users in the usual manner.
- Another variant of the application allows users to select PIM entries for future events and to predict the travel time at the specific time and day of travel.
- Another variant may interpret the "when to leave" screen as confirmation that the driver is on schedule, or late, for the PIM calendar event. If there is a change in traffic conditions, either before departure or while on route, the application can interact with turn- by-turn directions to allow the user to navigate around congestion.
- Another variant enables users to specify their preferred refreshments, e.g., branded coffee, their preferred time to consume and the duration of a travel break. This information can be used to geo-locate convenient vendors on the route, corresponding to the users progress, and a break time can be added to the countdown alarm (sometimes in a new color), adjusting the optimum time of departure accordingly. This is illustrated in Figure 9.
- the client 100 communicates to the server over an interface.
- AJAX Asynchronous Javascript and XML
- AJAX technologies include XHTML (Extensible HTML) and CSS (Cascading Style Sheets) for marking up and styling information, the use of DOM (Document Object Model) accessed with client-side scripting languages, the use of an XMLHttpRequest object (an API used by a scripting language) to transfer XML and other text data asynchronously to and from a server using HTTP), and use of XML or JSON (Javascript Object Notation, a lightweight data interchange format) as a format to transfer data between the server and the client.
- XHTML Extensible HTML
- CSS CSS
- DOM Document Object Model
- XMLHttpRequest object an API used by a scripting language
- JSON Javascript Object Notation, a lightweight data interchange format
- This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer.
- a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including an optical disk, a CD-ROM, and a magnetic-optical disk, a read-only memory (ROM), a random access memory (RAM), a magnetic or optical card, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
- a representative mobile device is a Blackberry Curve 8800 mobile device running the client-side situation-aware application functionality as a J2ME application.
- a given implementation of the server 102 component is a Linux-based server running Apache, mySQL, and where the server-side situation- aware application functionality is implemented in Python code, and/or one or more Perl scripts.
- the service is provided by an operator using a set of one or more computing-related entities (systems, machines, processes, programs, libraries, functions, or the like) that together facilitate or provide the inventive functionality described above.
- the service comprises a set of one or more computers.
- a representative machine is a network-based server running commodity (e.g. Pentium-class) hardware, an operating system (e.g., Linux, Windows, OS-X, or the like), an application runtime environment (e.g., Java, .ASP), and a set of applications or processes (e.g., Java applets or servlets, linkable libraries, native code, or the like, depending on platform), that provide the functionality of a given system or subsystem.
- the service may be implemented in a standalone server, or across a distributed set of machines.
- a server connects to the publicly-routable Internet, a corporate intranet, a private network, or any combination thereof, depending on the desired implementation environment.
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Automation & Control Theory (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Navigation (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A technique for providing a mobile device user with a 'when to leave' alarm on his or her mobile device. The user has scheduled an appointment at a given time and location in the user's personal information manager (PIM) executing on the mobile device. A representative PIM is a calendar on the mobile device. The 'when to leave' alarm is provided to the end user in the form of a display widget (or 'countdown alarm') that automatically activates a given time (e.g., 30 minutes) before a latest departure time for an event in the user's PIM.
Description
SITUATION-AWARE PERSONAL INFORMATION MANAGEMENT
FOR A MOBILE DEVICE
This application is based on and claims priority from Serial No. 60/969,359, filed
August 31, 2007.
BACKGROUND OF THE INVENTION
Technical Field
The present invention relates generally to mobile devices and, in particular, to techniques for providing end users of such devices with real-time situation-aware data. Background of the Related Art
Mobile devices such as the Blackberry® phone have become ubiquitous in today's society. In addition to providing basic wireless telephone service, such devices are Internet- accessible and include highly-efficient processors and display functionality for rendering rich graphical information that is available to be downloaded to the device over the Internet. These devices also include personal information manager (PIM) functions, such as appointment calendars, address books, and the like.
Web sites such as Google Maps provide end users with the capability of obtaining map data defining a navigation route. A recently- added feature to Google Maps enables the end user to view real-time traffic conditions along a desired route.
Vehicle-mounted navigation devices also are well-known in the prior art. These devices interact with global positioning systems (GPS) to provide an end user with up-to-date location information as an end user drives the vehicle along a given route.
BRIEF SUMMARY The subject disclosure is a technique for providing a mobile device user with a "when to leave" alarm on his or her mobile device so that the user may depart for a desired destination in sufficient time to arrive for a scheduled appointment in a timely manner. In a representative embodiment, a system comprises an end user mobile device that is connectable to a server hosted in or managed by a service provider. The user has scheduled an appointment at a given time and location in the user's personal information manager (PIM) executing on the mobile device. A representative PIM is a calendar on the mobile device (or on a calendar in another device that is then synchronized to the mobile device
calendar). According to one aspect of the invention, a "when to leave" alarm is provided to the end user in the form of a display widget (or "countdown alarm") that automatically activates a given time (e.g., 30 minutes) before a latest departure time for an event in the user's PIM. In one embodiment, the "when to leave" alarm is generated as follows. The mobile device current time and location is compared with the time and location of the end user's next appointment as defined in the PIM (or the like). Using the location data, a fastest route from the current location to the destination location is determined or obtained, preferably taking into consideration traffic conditions. At a given time, a display on the mobile device of the "when to leave" screen is initiated. The "when to leave" screen preferably includes a map of the end user's current location, which changes to a route map, displaying the route ahead a given time period (e.g., 5 minutes) before anticipated departure. The route map preferably shows the fastest route. On the mobile device, a countdown alarm is displayed, preferably in the form of a first color bar concatenated with a second color bar. In a preferred embodiment, the travel time to the destination is shown in red, and a "cushion" - a time between a current time and a latest departure time - is displayed in green. As time elapses, the green portion of the bar shrinks, and the red portion of the bar fluctuates according to real-time and predicted traffic conditions on the route.
Preferably, the countdown alarm is a display widget, which includes a timeline running along a given display axis (e.g. horizontally). As described above, the countdown alarm is, in effect, a timer. A first item on the timeline represents a current time on the mobile device. Next on the timeline is the cushion portion (e.g., shown as a green bar), followed by a travel (or "commute") portion (e.g., shown as a red bar). The length of the cushion (along the timeline) is calculated according to the following algorithm: given an appointment time and the current time, the cushion is equal to [(appointment time - current time) - commute time] . The quantity within the parenthetical is sometimes referred to as the buffer. The commute time is typically provided from a server, which also provides a route map for the commute. After the commute portion, typically a last item on the timeline is the appointment time itself. The commute portion of the timer typically takes into consideration various types of traffic and travel time. These traffic types include, for example, real-time traffic, historic
traffic, and predicted traffic. Real-time traffic typically refers to a check of the traffic along a route at a given time or instant. Historic traffic refers to traffic by time of day and day of week for a given portion of the route. Predicted traffic refers to a blend of real-time and historic traffic, and typically refers to a prediction of how non-recurring traffic will dissipate by the time the traveler arrives at a given segment of the route (e.g., following an accident, which by then might have cleared).
The foregoing has outlined some of the more pertinent features of the invention. These features should be construed to be merely illustrative. Many other beneficial results can be attained by applying the disclosed invention in a different manner or by modifying the invention as will be described.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: Figure 1 is a block diagram of the system components in a preferred embodiment of the invention;
Figure 2 illustrates a representative countdown widget that is displayed in conjunction with a route map according to the situation- aware functionality described herein;
Figure 3 illustrates an alternative embodiment of the countdown widget that is displayed in conjunction with a route map according to the situation- aware functionality;
Figure 4 illustrates the widget of Figure 3 during the end user's travel along the route; Figure 5 illustrates the widget modified to display an alert to the end user; Figure 6 illustrates the display widget and associated temporal variables; Figure 7 illustrates a route map with a weather data overlay that is time- and location- specific;
Figure 8 illustrates mobile device displays showing alternative departure and arrival time options adjacent to times, as well as associated fuel consumption;
Figure 9 illustrates a display showing the countdown alarm that includes a portion representing a break time.
DETAILED DESCRIPTION
The subject disclosure enables mobile device users to perform "situation-aware" personal information management on his or her mobile device. As used herein, a "mobile device user" should be broadly construed. It includes any wireless client device, e.g., a cellphone, pager, a personal digital assistant (PDA, e.g., with GPRS NIC), a mobile computer with a smartphone client, or the like. A typical mobile device is a wireless access protocol (WAP)-enabled device (e.g., an iPhone®, a Blackberry® device, or the like) that is capable of sending and receiving data in a wireless manner using the wireless application protocol. The wireless application protocol ("WAP") allows users to access information via wireless devices, such as mobile phones, pagers, two-way radios, communicators, and the like. WAP supports wireless networks, including CDPD, CDMA, GSM, PDC, PHS, TDMA, FLEX, ReFLEX, iDEN, TETRA, DECT, DataTAC, and Mobitex, and it operates with many handheld device operating systems, such as PalmOS, EPOC, Windows CE, FLEXOS, OS/9, and JavaOS. Typically, WAP-enabled devices use graphical displays and can access the Internet (or other communication network) on so-called mini- or micro-browsers, which are web browsers with small file sizes that can accommodate the reduced memory constraints of handheld devices and the low-bandwidth constraints of a wireless networks. In a representative embodiment, the mobile device is a cellular telephone that operates over GPRS (General Packet Radio Service), which is a data technology for GSM networks. In addition to a conventional voice communication, a given mobile device can communicate with another such device via many different types of message transfer techniques, including SMS (short message service), enhanced SMS (EMS), multi-media message (MMS), email WAP, paging, or other known or later-developed wireless data formats.
Wireless device operating environments in which the subject matter may be implemented also are well-known. In a representative embodiment, a mobile device is connectable (typically via WAP) to a transmission functionality that varies depending on implementation. Thus, for example, where the wireless device operating environment is a wide area wireless network (e.g., a 2.5 G network), the transmission functionality comprises one or more components such as a mobile switching center (MSC) (an enhanced ISDN switch that is responsible for call handling of mobile subscribers), a visitor location register (VLR) (an intelligent database that stores on a temporary basis data required to handle calls
set up or received by mobile devices registered with the VLR), a home location register (HLR) (an intelligent database responsible for management of each subscriber's records), one or more base stations (which provide radio coverage with a cell), a base station controller (BSC) (a switch that acts as a local concentrator of traffic and provides local switching to effect handover between base stations), and a packet control unit (PCU) (a device that separates data traffic coming from a mobile device). The HLR also controls certain services associated with incoming calls. Of course, the subject matter herein may be implemented in other (e.g., 3G) and next- generation mobile networks and devices as well. The mobile device is the physical equipment used by the end user, typically a subscriber to the wireless network. Typically, a mobile device is a 2.5 G- or 3G-compliant device that includes a subscriber identity module (SIM), which is a smart card that carries subscriber-specific information, mobile equipment (e.g., radio and associated signal processing devices), a man-machine interface (MMI), and one or more interfaces to external devices (e.g., computers, PDAs, and the like). The mobile device may also include a data store. With the above as background, the subject matter of the present invention is now described in more detail. According to the subject matter herein, mobile device situation- awareness is facilitated, preferably through a managed service provider. The service provider may be the same entity that provides the end user mobile service, or any other entity. In a representative embodiment, the service provider operates a web site that is Internet-accessible through a web browser on the mobile device (or other machine such as the end user's PC). In a representative embodiment, shown in Figure 1, a "system" that implements the invention includes a mobile device client 100, a server 102, and a third party integration layer 104. The integration layer 104 may comprise part of the server 102 if the service provider has access to the location and traffic data (as will be described below). The mobile device client preferably is downloaded to and installed in the mobile device in any convenient manner. In one embodiment, the end user opens his or her device browser to the service provider web site and selects a link to download and install the client. Alternatively, the client may be provided as original equipment on the mobile device or otherwise pushed to and installed in the device in any convenient manner. The end user may obtain the client by responding to an SMS or other invitation. The client may be retrieved to another machine
(such as the end user's PC) and then transferred to the mobile device over a medium such as a Bluetooth connection.
As shown in Figure 1, the client, server and integration layers each comprise a number of functional components. This representation is meant to be for convenience of illustration and description, and it should not be taken to limit the scope of the invention as one or more of the functions may be combined. Typically, these components are implemented in software (as a set of processor-executable computer instructions, associated data structures, and the like). One or more of the functions may be combined or otherwise implemented in any convenient manner (e.g., in hardware, in firmware, in combined hardware and software, or the like). As noted above, the mobile device includes a micro- browser or other graphics rendering engine for displaying information to the end user in the usual manner. The device is Internet-accessible and interacts with the server 102 using known Internet protocols such as HTTP, HTTPS, and the like. The server 102 is shown as a single device but this is not a requirement either; one or more programs, processes, or other code may comprise the server and be executed on one or more machines (in one or more networked locations).
The operation of the system is best described by the following example. As seen in Figure 1, the client 100 and the server 102 include various functional components and associated data stores to facilitate the operation. The operation of the disclosed method may be carried out using system components other than as shown in Figure 1.
In this example architecture, the client 100 includes a situation- aware cache 101, and the server includes its own situation-aware cache 103. These data stores are used to facilitate the creation and display of a countdown alarm. The server 102 also includes a database (e.g., MySQL) 105 for storing location information, as well as a user profile database 107 for storing user preference data. The integration layer provides one or more application programming interfaces (APIs), such as a geo-coding API 109 for providing the server with information about the destination location, as well as a mapping and traffic API 111 for providing the server with map data and real-time (or historic) traffic data. The geo-coding API provides destination location coordinates, preferably by reverse geo-coding addresses in the end user's PIM. The mobile device actual location is provided using GPS, A-GPS, or other data service, which obtains the device location is a known manner. The map and traffic
data is provided (via API 111) from a data service provider or obtained by the application natively. Of course, any convenient data services may be used or otherwise integrated into the situation-aware service offering.
A user of the mobile device enters an appointment event in his or his PC- or web- based calendar 108. Typically, the event data includes fields for date, time, activity, and location. Preferably, the location is a street address. Instead of manual entry, a service provider or other source may be used to obtain a destination location address upon receiving a request for such information. The PC- or web-based calendar 108 at some point is synchronized to a mobile PEVI native calendar 110. Of course, the appointment event data may be entered into the PIM native calendar 110 directly. An application calendar module 112 reads the mobile device calendar 110 over a connection, such as an industry standard JSR 75 link. In particular, the calendar module 112 preferably is automatically synchronized to the mobile PIM calendar 110 whenever a new appointment event is added to the calendar 110. Of course, the components 110 and 112 may be integrated together. The appointment event data is assimilated by a PIM data upload function 114, which transfers the data to the server 102, preferably via HTTP. This data is received at the server 102 and processed by an agenda analyzer component 116. The agenda analyzer 116 provides the processed data to a parse engine 118, which is also connected to the third party integration layer 104, preferably via XML. The geo-coding API 109 takes unstructured address information, assesses its quality, adds one or more geo-codes, and structures that data into XML. The structured and geo-code data is stored in the database 105. Meanwhile, a set of user preferences (such as locations of home, work, daily commute times), security data, and current location (typically, the mobile device last known location) data are uploaded to the server, such as by a preferences specification component 113 operating in the client 100. This preference data is stored in the user profile database 107.
As the time of an event approaches, the server code compares the last known location and current time with the location and time of a next appointment. At a given time (typically, 30 minutes before a latest departure time as calculated below), the databases 105 and 107 transfer to a mapping engine and countdown profiler component 115 the following data: current time and location, and event time and location. The mapping engine and countdown profiler component 115 also accesses the third party mapping and traffic APIs,
preferably via XML, to obtain the route map and traffic data. The route map data may be obtained at any convenient time once the starting and ending locations are determined, although typically it is desired to obtain the route map with the associated traffic data (which, of course varies based on time of day, day of week, and other non-recurring events, such as traffic accidents, adverse weather, and the like). As described above, a route map may take into consideration various types of traffic and travel time. These traffic types include, for example, real-time traffic, historic traffic, and predicted traffic. Real-time traffic typically refers to a check of the traffic along a route at a given time or instant. Historic traffic refers to traffic by time of day and day of week for a given portion of the route. Predicted traffic refers to a blend of real-time and historic traffic, and typically refers to a prediction of how non-recurring traffic will dissipate by the time the traveler arrives at a given segment of the route (e.g., following an accident, which by then might have cleared). The real-time traffic may be weighted more heavily for the drive closer to the user's departure location, while the predicted traffic may be weighted more heavily for the drive as the user nears the desired destination.
Using the current and event time and location data, and taking into consideration the traffic data, the mapping engine and countdown profiler component 115. This component generates the route map and the commute time. This information is used by the client side of the application to generate and display the countdown alarm to instruct the mobile device user "when to leave" if he or she intends to arrive timely at the desired appointment destination given the time of day, route of travel and traffic conditions along the anticipated route. The situation- aware cache 103 manages the data and pushes the resulting map, commute time and appointment time to the client 100, where it is received by the situation- aware cache 101. The cache 101 on the client side then provisions a route map 117 (with the best or recommended route), as well as the countdown alarm widget 119. As will be seen, this information is then displayed to the end user (preferably in a "just-in-time" manner) to attempt to influence the user's departure (i.e., to provide the desired "situation-awareness").
As also seen in Figure 1, preferably the data output from the client- side situation- aware cache 101 also is transmitted to the in-vehicle mapping system or other personal navigation device (PND) 121, e.g., using Bluetooth or the like. Alternatively, the server (or other machine or device) may push this information there directly. This enables automated
destination retrieval as well as proactive re-routing to avoid traffic in the event the end user makes driving errors or otherwise modifies the route on-the-fly.
Thus, according to an embodiment of the invention, the "when to leave" screen (the countdown alarm) automatically activates a given time (e.g., 30 minutes) before a latest departure time for an event in the user's personal information manager (PIM). On the server side, the service compares the mobile device current location with the time and location of the end user's next appointment, works out (or otherwise obtains) a fastest route (preferably allowing for real-time and/or predicted traffic), and then provides information to the client side, which (at a given time) initiates the display (on the mobile device) of the "when to leave" screen. The "when to leave" screen preferably includes a map of the end user's current location, which changes to a route map, displaying the commute ahead a given time period (e.g., 5 minutes) before anticipated departure. The route map preferably shows the fastest route, together with a countdown alarm. The countdown alarm preferably is a graphic element, such as shown in Figure 2. As seen there, preferably the countdown alarm is a display widget 200 that includes a number of elements. The first element is the current time 202. As described above, if (as a result of the calculation by the mapping engine and countdown profiler component) there is some cushion available (between the user' s necessary departure given the anticipated route and traffic (real-time and/or predicted), then this cushion is displayed in the alarm widget, preferably as a green horizontal bar 204. The commute time also is displayed in the widget, preferably as a red horizontal bar 206. The final part of the display widget is the appointment start time 208. The current time 202 and appointment start time 208 may include additional information. Thus, for example, the current time 202 field may itself include a countdown indication, and the appointment start time field may be annotated to include other data, such as event attendees, reminders, and the like.
Thus, as seen in Figure 2, the countdown alarm preferably is a display widget, which includes a timeline running along a given display axis (e.g. horizontally). As described above, the countdown alarm is, in effect, a timer. A first item on the timeline represents a current time on the mobile device. Next on the timeline is the cushion portion (e.g., shown as a green bar), followed by a travel (or "commute") portion (e.g., shown as a red bar). The length of the cushion (along the timeline) is calculated according to the following algorithm:
given an appointment time and the current time, the cushion is equal to [(appointment time - current time) - commute time] . The quantity within the parenthetical is sometimes referred to as the buffer. The commute time is typically provided from a server, which also provides a route map for the commute. After the commute portion, typically a last item on the timeline is the appointment time itself.
Figure 3 illustrates an alternative embodiment of the countdown alarm. In this embodiment, the countdown alarm 300 comprises an additional element. Once again, the first element is the current time 302. The green bar 304 represents the current time cushion according to real-time traffic conditions, and the red bar 306 illustrates the countdown travel time from the current location to the destination using historic traffic conditions. The appointment start time 308 is also provided. In addition, in this embodiment the countdown alarm 300 also includes an orange bar 305, which represents a traffic surplus (that represents an incremental traffic delay over historic traffic for the intended route) that may be exist given the real-time traffic conditions. This surplus is included in the red bar portion of the countdown alarm in Figure 2. In this embodiment, the countdown alarm also displays the departure and destination locations in a text box 310.
The following describes one technique for overlaying the countdown alarm on the route map. In general, the route map is provisioned according to predetermined dimensions (corresponding to the display area of the mobile device) leaving a space for the countdown alarm. The program then calculates the dimensions of the countdown alarm and fits it into the space. In particular, preferably the route map is returned from the server to the mobile device in the form of a byte stream of a .png image. Then, at the mobile device, this byte stream is converted back into a .bmp file. The .bmp file is fitted into a bitmap field in the display. The countdown alarm is calculated in a countdown timer display widget. In one embodiment, the countdown timer display widget comprises a number of elements. As noted above, the first element is the current time. If there is some cushion available, then this cushion is displayed in the alarm widget, preferably as a green horizontal bar. The commute time is then displayed in the widget, preferably as a red horizontal bar. The final part of the display widget is the appointment start time. Thus, according to the described subject matter, the situation- aware application takes given data (current location A and location of an appointment B, current time and desired
destination arrival time), calculates the fastest route from A to B, checks historical travel times from A to B to arrive at the appointment time, indexes real-time traffic conditions to calculate the traffic buffer (optional), and then creates the countdown alarm. The alarm is then overlaid or displayed within the route map (or some portion thereof), such as already shown in Figure 3. While on route, as shown in Figure 4, the application may zoom out to show both locations A and B. Preferably, while on route the countdown alarm dynamically changes to show the time cushion, traffic delay and historic travel duration. If the user is running late (e.g., due to a traffic incident), the display may be modified, such as shown in Figure 5. In particular, and as shown in Figure 5, when the historical time and traffic delay is greater than a current time until the planned arrival time, preferably the application alerts the user that he or she is going to be late; at this time, a menu item may also be provided to enable the user to make a call (to the destination) or send an email (or SMS) to notify another of the anticipated delay in the arrival.
The following describes a representative algorithm for generating the countdown timer, such as shown in Figure 6. This algorithm is executed in software (as a set of processor-enabled program instructions) by the server-side countdown profiler component:
Time (Hl): Current time Time (H2): Scheduled time due at destination location Start location (Ll): GPS coordinates from the mobile phone (or network) Destination location (L2): Location of agenda item (event appointment)
Historic traffic (t): The historic time to travel, by car, transit or as a pedestrian, from start location to finish location. Historic time typically corresponds to same time of day and day of week, using predetermined turn-by-turn directions or pedestrian or transit navigation directions.
Historic traffic = t t = historic travel time from Ll to L2
Traffic surplus/deficit (T) At predetermined intervals real-time traffic conditions are assessed for the intended route. If the real-time traffic
conditions require that the predicted travel time increases, then this is said to be a traffic surplus. The traffic surplus is the incremental traffic delay over historic traffic for the intended route. In effect, this value represents the increased time to get to the destination under current traffic conditions. If, for some reason, the traffic surplus is in fact a deficit ( because traffic is unusually light on the intended route), then a deficit shows and the time cushion increases accordingly.
Traffic surplus = T
T = (Real-time travel duration from Ll to L2) - 1 T can be negative if there is unusually light traffic.
The cushion (C) The time cushion is a time interval between the current time and the departure time. The departure time equals the time when the user should leave the start location, taking account of historic traffic conditions plus the traffic surplus interval to arrive at the finish destination on time.
The cushion = C
C = (((H2 - Hl) - T) - t)
Preferably, the server uses a last valid location as an assumed start location. If the start location is incorrect, the end user can open a menu and select a "locate me" option, choose an alternative start location from a list, or enter a new start location.
While on route to the destination, as noted above, the user can check the display as desired to determine if he or she will arrive on time. In particular, as the mobile device begins following the desired route, the server recognizes this and periodically (e.g., once per minute) checks the route ahead for traffic. The server updates the user's position, and the green portion of the bar (the cushion) fluctuates according to the number of minutes the end user is then predicted to arrive early for the meeting. The end user may keep this display running right up until his or her arrival at the desired destination.
As noted above, preferably the situation- aware application uses the personal information manager (PIM) of the mobile device. The PIM is a software application that functions as a personal organizer. As an information management tool, a PIM' s purpose is to facilitate the recording, tracking and management of certain types of personal information. If the device does not include a PIM, other tools (such as a calendar, mail client, or the like) may be used to interface the appointment data to the situation-aware functionality as previously described. The mobile client, working from the PEVI agenda and location, displays the countdown timer in the manner previously described to provide situation- awareness. The situation- aware application brings together data (e.g., from the PIM calendar and address book) to enable the end user to have an appointment location displayed on a map that also includes the mobile device's current location (obtained, for example, from a GPS or A- GPS data service). APIs to the service provide destination location coordinates, preferably by reverse geo-coding addresses in the PIM, or by any other convenient technique. Turn-by- turn directions, pedestrian routes or transit route APIs calculate (or provide) the fastest route from the current location to the destination (finish) location. Traffic APIs calculate (or provide) the historic traffic (or normal time on public transport) for the route and the realtime traffic delays for the route. Using this data, the application calculates a time cushion between a current time and the time the user must leave for the appointment to arrive on- time. Preferences can also be set to provide one or more alerts in the event traffic delays or other unanticipated events occur along the intended route. With the countdown alarm, the end user can tell at a glance whether he or she is going to be on-time for the appointment. In this manner, the application determines and displays in a unique manner a latest departure time to ensure that the end user can arrive at the desired destination given the anticipated and real-time traffic. As a consequence, the application enables the end user to arrive on-time, to know a latest departure time (for optimal productivity), to have peace-of-mind during the travel that he or she will arrive in sufficient time for the appointment, and to easily carry out messaging if unforeseen circumstances occur that will delay arrival. Variants The countdown alarm may be a display widget that is displayed in other than a horizontal timeline. Thus, for example, in an alternative embodiment, the alarm may be
displayed vertically. In another alternative, the cushion and commute times may be displayed one above the other, one inside the other (as in a set of circles), or in some other juxtaposed relation. Regardless of display format or orientation, the cushion element and the corresponding commute element will change dynamically in the manner described as the timer runs forward and approaches the latest departure time.
One of ordinary skill in the art will appreciate that the green-red (Figure 2) or green- orange-red (Figure 3) coloration is not limiting, as any other convenient colorations (or grey- scales) may be used.
While the above-described and illustrated countdown alarms are preferred, other approaches may be used to render or augment the countdown timer. In one alternative embodiment, the countdown timer comprises one or more audible signals associated with the display graphics. Thus, considering the Figure 2 embodiment, the mobile device may also be controlled by the software to issue an audible warning at the start of the cushion (the leftmost portion of the green bar), as well as an audible "time to leave" warning at what is the beginning of the red portion. Additional reminders may be output aurally as needed or desired to ensure that the end user departs in a timely manner. Where the display is not working or it otherwise disabled, it may be desired just to issue the audible warnings.
The route map may omit the traffic conditions (or perhaps one type of traffic data), although this is a less preferred approach. It may also be desirable to provide ancillary information to the countdown alarm.
One type of information might be fuel consumption data during the actual or upcoming travel. In this embodiment, fuel consumption data may be overlaid or otherwise displayed in juxtaposition to the route map (including predicted traffic) with the constraint that the optimal departure time be selected to minimize travel duration and fuel consumption. A further variant enables the display of location of places routinely visited (e.g., for instance home and work locations) and the times (and/or days of the week) when the user wishes to arrive. Thus, "when to leave" alerts can be received for frequent trips without the necessity of updating the PIM calendar.
Another variant adds time and location-based weather reports along the planned route. Generally, weather reports fix the location of an individual and then provide hourly weather forecasts (or other forecasts, such as daily forecasts) for the specific location. A
more convenient and accurate representation of weather, however, predicts where an individual will be (e.g., from PIM calendar data) and their progress along a route and presents the weather forecast that is customized according to a future time and position. This is illustrated in Figure 7. Due to fluctuations in traffic conditions on a route (e.g., during rush hour to a major city), altering the departure time can impact the travel time and fuel consumption for the journey (more traffic time corresponds to more idling of the vehicle consuming fuel without moving, or consuming fuel sub-optimally by moving slowly). Based on the user's configurable priorities (e.g., to arrive punctually or to minimize travel time or fuel consumption), another variant of the application presents alternative departure and arrival time options adjacent to times specified in the PIM calendar. This display is generated by consulting real-time, historic and predicted traffic for the best route. For each departure time option, the speed of traffic for each segment of each route is predicted. By correlating the duration and speed of travel, along each segment, for each option, with the fuel consumption profile of the vehicle, the predicted fuel consumed can be calculated, together with the carbon footprint and conveniently presented to the driver so that they can make an informed choice according to their afore mentioned priorities. Figure 8 illustrates the representative displays.
Another variant matches the timing, start locations and finish locations of drivers from their PIM entries, and matches users who have similar plans enabling users to carpool and reduce traveling costs, as well as reduce congestion. This variant may be implemented as a managed or hosted service using a web site that is accessed by end users in the usual manner.
Another variant of the application allows users to select PIM entries for future events and to predict the travel time at the specific time and day of travel.
Another variant may interpret the "when to leave" screen as confirmation that the driver is on schedule, or late, for the PIM calendar event. If there is a change in traffic conditions, either before departure or while on route, the application can interact with turn- by-turn directions to allow the user to navigate around congestion. Another variant enables users to specify their preferred refreshments, e.g., branded coffee, their preferred time to consume and the duration of a travel break. This information
can be used to geo-locate convenient vendors on the route, corresponding to the users progress, and a break time can be added to the countdown alarm (sometimes in a new color), adjusting the optimum time of departure accordingly. This is illustrated in Figure 9. As noted above, preferably the client 100 communicates to the server over an interface. There may also be an interface between the server and one or more third party daa services. One or more of these interfaces may be conveniently enabled using AJAX (Asynchronous Javascript and XML), which are a known set of web development techniques that enhance the web page's interactivity, speed and usability. AJAX technologies include XHTML (Extensible HTML) and CSS (Cascading Style Sheets) for marking up and styling information, the use of DOM (Document Object Model) accessed with client-side scripting languages, the use of an XMLHttpRequest object (an API used by a scripting language) to transfer XML and other text data asynchronously to and from a server using HTTP), and use of XML or JSON (Javascript Object Notation, a lightweight data interchange format) as a format to transfer data between the server and the client. While the above describes a particular order of operations performed by certain embodiments of the invention, it should be understood that such order is exemplary, as alternative embodiments may perform the operations in a different order, combine certain operations, overlap certain operations, or the like. References in the specification to a given embodiment 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.
While the subject matter herein has been described in the context of a method or process, the disclosure also relates to apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including an optical disk, a CD-ROM, and a magnetic-optical disk, a read-only memory (ROM), a random access memory (RAM), a magnetic or optical card, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
A representative mobile device is a Blackberry Curve 8800 mobile device running the client-side situation-aware application functionality as a J2ME application. A given implementation of the server 102 component is a Linux-based server running Apache, mySQL, and where the server-side situation- aware application functionality is implemented in Python code, and/or one or more Perl scripts.
More generally, the service is provided by an operator using a set of one or more computing-related entities (systems, machines, processes, programs, libraries, functions, or the like) that together facilitate or provide the inventive functionality described above. In a typical implementation, the service comprises a set of one or more computers. A representative machine is a network-based server running commodity (e.g. Pentium-class) hardware, an operating system (e.g., Linux, Windows, OS-X, or the like), an application runtime environment (e.g., Java, .ASP), and a set of applications or processes (e.g., Java applets or servlets, linkable libraries, native code, or the like, depending on platform), that provide the functionality of a given system or subsystem. As described, the service may be implemented in a standalone server, or across a distributed set of machines. Typically, a server connects to the publicly-routable Internet, a corporate intranet, a private network, or any combination thereof, depending on the desired implementation environment.
While given components of the system have been described separately, one of ordinary skill will appreciate that some of the functions may be combined or shared in given instructions, program sequences, code portions, and the like.
Having described my invention, what I now claim is as follows.
Claims
1. A method to provide situation-awareness to a user of a mobile device, comprising: receiving first information identifying a current time, and a starting location; receiving second information identifying an event time, and an ending location; receiving third information indicative of a recommended vehicle route from the starting location to the ending location, the third information also including data associated with traffic conditions along the recommended vehicle route; and based on the first, second and third information, generating fourth information for output from a mobile device to indicate a latest departure time from the starting location to ensure that the user of the mobile device can arrive at the ending location at the event time via the recommended vehicle route.
2. The method as described in claim 1 wherein the fourth information includes a data stream that generates a countdown timer widget for display on the mobile device.
3. The method as described in claim 2 wherein the countdown time widget includes a first portion, and a second portion, the first portion indicating a time period between the current time and the latest departure time, and the second portion indicating a travel time over the recommended vehicle route given the traffic conditions.
4. The method as described in claim 3 wherein the first portion is displayed in a first color, and the second portion is displayed in a second color.
5. The method as described in claim 2 wherein the countdown time widget includes a first portion, a second portion, and a third portion, the first portion indicating a time period between the current time and the latest departure time, the second portion indicating a travel time over the recommended vehicle route given the traffic conditions, and the third portion indicating an incremental traffic delay over historic traffic for the recommended vehicle route.
6. The method as described in claim 5 wherein each of the first, second and third portions of the countdown time widget are displayed in different colors.
7. The method as described in claim 1 wherein the traffic conditions include one of: real-time traffic conditions, predicted traffic conditions based on historic traffic conditions, and combinations thereof.
8. The method as described in claim 1 wherein the second information is obtained from a personal information manager (PIM) associated with the mobile device.
9. The method as described in claim 3 further including adjusting at least the first portion of the countdown timer as the current time approaches the latest departure time.
10. The method as described in claim 3 further including adjusting at least the second portion of the countdown timer as the mobile device travels along the recommended vehicle route.
11. The method as described in claim 10 further including displaying an alert if during the travel the mobile device will not arrive at the ending location prior to the event time.
12. The method as described in claim 11 further including enabling the user to issue a notification indicating that the user will not arrive at the ending location prior to the event time.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US96935907P | 2007-08-31 | 2007-08-31 | |
US60/969,359 | 2007-08-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2009029910A2 true WO2009029910A2 (en) | 2009-03-05 |
WO2009029910A3 WO2009029910A3 (en) | 2009-04-30 |
Family
ID=40388160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2008/074944 WO2009029910A2 (en) | 2007-08-31 | 2008-08-30 | Situation-aware personal information management for a mobile device |
Country Status (2)
Country | Link |
---|---|
US (2) | US8190359B2 (en) |
WO (1) | WO2009029910A2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2330545A1 (en) * | 2009-12-07 | 2011-06-08 | Research in Motion Corporation | Method and apparatus for adjusting reminder data stored in a database |
WO2015051333A1 (en) | 2013-10-04 | 2015-04-09 | Uber Technologies, Inc. | Determining location information using a location data point provided by a computing device |
CN104932322A (en) * | 2014-03-17 | 2015-09-23 | 福特全球技术公司 | Learning automated vehicle |
Families Citing this family (318)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001013255A2 (en) | 1999-08-13 | 2001-02-22 | Pixo, Inc. | Displaying and traversing links in character array |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
ITFI20010199A1 (en) | 2001-10-22 | 2003-04-22 | Riccardo Vieri | SYSTEM AND METHOD TO TRANSFORM TEXTUAL COMMUNICATIONS INTO VOICE AND SEND THEM WITH AN INTERNET CONNECTION TO ANY TELEPHONE SYSTEM |
US7221287B2 (en) | 2002-03-05 | 2007-05-22 | Triangle Software Llc | Three-dimensional traffic report |
US7610145B2 (en) | 2003-07-25 | 2009-10-27 | Triangle Software Llc | System and method for determining recommended departure time |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US7633076B2 (en) | 2005-09-30 | 2009-12-15 | Apple Inc. | Automated response to and sensing of user activity in portable devices |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8352966B2 (en) * | 2007-09-11 | 2013-01-08 | Yahoo! Inc. | System and method of inter-widget communication |
US8862710B2 (en) | 2007-09-11 | 2014-10-14 | Telecommunication Systems, Inc. | Dynamic configuration of mobile station location services |
US9053089B2 (en) | 2007-10-02 | 2015-06-09 | Apple Inc. | Part-of-speech tagging using latent analogy |
US20090105940A1 (en) * | 2007-10-23 | 2009-04-23 | Destinator Technologies, Inc. | Route calculation based on traffic events |
US8620662B2 (en) * | 2007-11-20 | 2013-12-31 | Apple Inc. | Context-aware unit selection |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8065143B2 (en) | 2008-02-22 | 2011-11-22 | Apple Inc. | Providing text input using speech data and non-speech data |
US8606517B1 (en) * | 2008-04-02 | 2013-12-10 | Strategic Design Federaton W, Inc. | Travel route system and method |
US8024111B1 (en) | 2008-04-02 | 2011-09-20 | Strategic Design Federation W, Inc. | Travel route system and method |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US8428869B2 (en) * | 2008-04-07 | 2013-04-23 | Telecommunication Systems, Inc. | Context enabled address selection |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US8464150B2 (en) | 2008-06-07 | 2013-06-11 | Apple Inc. | Automatic language identification for dynamic text processing |
US8423288B2 (en) * | 2009-11-30 | 2013-04-16 | Apple Inc. | Dynamic alerts for calendar events |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8768702B2 (en) | 2008-09-05 | 2014-07-01 | Apple Inc. | Multi-tiered voice feedback in an electronic device |
US8898568B2 (en) | 2008-09-09 | 2014-11-25 | Apple Inc. | Audio user interface |
US8712776B2 (en) | 2008-09-29 | 2014-04-29 | Apple Inc. | Systems and methods for selective text to speech synthesis |
US8583418B2 (en) | 2008-09-29 | 2013-11-12 | Apple Inc. | Systems and methods of detecting language and natural language strings for text to speech synthesis |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US8594627B2 (en) | 2008-10-06 | 2013-11-26 | Telecommunications Systems, Inc. | Remotely provisioned wirelessly proxy |
WO2010042172A1 (en) * | 2008-10-06 | 2010-04-15 | Telecommunication Systems, Inc. | Probabilistic reverse geocoding |
EP2344842A4 (en) * | 2008-10-07 | 2012-11-14 | Telecomm Systems Inc | User interface for dynamic user-defined stopovers during guided navigation ("side trips") |
US9200913B2 (en) | 2008-10-07 | 2015-12-01 | Telecommunication Systems, Inc. | User interface for predictive traffic |
US9285239B2 (en) * | 2008-10-07 | 2016-03-15 | Telecommunication Systems, Inc. | User interface for content channel HUD (heads-up display) and channel sets for location-based maps |
US20100088018A1 (en) * | 2008-10-08 | 2010-04-08 | Kevin Tsurutome | Glance ahead navigation |
US8457887B2 (en) * | 2008-10-13 | 2013-06-04 | Centurylink Intellectual Property Llc | System and method for providing travel-related information associated with a calendar appointment |
WO2010045975A1 (en) * | 2008-10-22 | 2010-04-29 | Tomtom International B.V. | Navigation system and method for providing departure times |
US8788309B2 (en) * | 2008-10-23 | 2014-07-22 | International Business Machines Corporation | Application of cost constraints in event scheduling |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
KR101057191B1 (en) * | 2008-12-30 | 2011-08-16 | 주식회사 하이닉스반도체 | Method of forming fine pattern of semiconductor device |
US8862252B2 (en) * | 2009-01-30 | 2014-10-14 | Apple Inc. | Audio user interface for displayless electronic device |
US8619072B2 (en) | 2009-03-04 | 2013-12-31 | Triangle Software Llc | Controlling a three-dimensional virtual broadcast presentation |
US8982116B2 (en) | 2009-03-04 | 2015-03-17 | Pelmorex Canada Inc. | Touch screen based interaction with traffic data |
US9046924B2 (en) | 2009-03-04 | 2015-06-02 | Pelmorex Canada Inc. | Gesture based interaction with traffic data |
US8457888B2 (en) * | 2009-03-08 | 2013-06-04 | Mitac International Corp. | Method for reminding users about future appointments while taking into account traveling time to the appointment location |
US8380507B2 (en) | 2009-03-09 | 2013-02-19 | Apple Inc. | Systems and methods for determining the language to use for speech generated by a text to speech engine |
US8457821B2 (en) * | 2009-04-07 | 2013-06-04 | Cisco Technology, Inc. | System and method for managing electric vehicle travel |
DE102010064593A1 (en) * | 2009-05-21 | 2015-07-30 | Koh Young Technology Inc. | Form measuring device and method |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10540976B2 (en) | 2009-06-05 | 2020-01-21 | Apple Inc. | Contextual voice commands |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US20120309363A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
JP4719804B2 (en) * | 2009-09-24 | 2011-07-06 | 富士通東芝モバイルコミュニケーションズ株式会社 | Mobile device |
US20110110534A1 (en) * | 2009-11-12 | 2011-05-12 | Apple Inc. | Adjustable voice output based on device status |
US8682649B2 (en) | 2009-11-12 | 2014-03-25 | Apple Inc. | Sentiment prediction from textual data |
US20110130950A1 (en) * | 2009-12-02 | 2011-06-02 | Yonatan Wexler | Travel directions with travel-time estimates |
US8600743B2 (en) | 2010-01-06 | 2013-12-03 | Apple Inc. | Noise profile determination for voice-related feature |
US8381107B2 (en) | 2010-01-13 | 2013-02-19 | Apple Inc. | Adaptive audio feedback system and method |
US8311838B2 (en) | 2010-01-13 | 2012-11-13 | Apple Inc. | Devices and methods for identifying a prompt corresponding to a voice input in a sequence of prompts |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8977584B2 (en) | 2010-01-25 | 2015-03-10 | Newvaluexchange Global Ai Llp | Apparatuses, methods and systems for a digital conversation management platform |
EP2355018A1 (en) * | 2010-02-08 | 2011-08-10 | Research In Motion Limited | Providing calendar notifications based on changes in traffic patterns |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US8639516B2 (en) | 2010-06-04 | 2014-01-28 | Apple Inc. | User-specific noise suppression for voice quality improvements |
US8713021B2 (en) | 2010-07-07 | 2014-04-29 | Apple Inc. | Unsupervised document clustering using latent semantic density analysis |
US9960971B1 (en) * | 2010-08-04 | 2018-05-01 | Open Invention Network Llc | Web service selector component |
US8719006B2 (en) | 2010-08-27 | 2014-05-06 | Apple Inc. | Combined statistical and rule-based part-of-speech tagging for text-to-speech synthesis |
US8719014B2 (en) | 2010-09-27 | 2014-05-06 | Apple Inc. | Electronic device with text error correction based on voice recognition data |
EP2638493A4 (en) | 2010-11-14 | 2017-12-13 | Muddy River, Series 97 of Allied Security Trust 1 | Crowd sourced traffic reporting |
US10515147B2 (en) | 2010-12-22 | 2019-12-24 | Apple Inc. | Using statistical language models for contextual lookup |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US8781836B2 (en) | 2011-02-22 | 2014-07-15 | Apple Inc. | Hearing assistance system for providing consistent human speech |
US9349296B2 (en) * | 2011-03-11 | 2016-05-24 | The Boeing Company | Methods and systems for dynamically providing contextual weather information |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
WO2012159083A2 (en) | 2011-05-18 | 2012-11-22 | Triangle Software Llc | System for providing traffic data and driving efficiency data |
US10672399B2 (en) | 2011-06-03 | 2020-06-02 | Apple Inc. | Switching between text data and audio data based on a mapping |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8521407B2 (en) * | 2011-06-10 | 2013-08-27 | GM Global Technology Operations LLC | System and method for ensuring a person reaches a destination on time |
US8812294B2 (en) | 2011-06-21 | 2014-08-19 | Apple Inc. | Translating phrases from one language into another using an order-based set of declarative rules |
US8682363B1 (en) * | 2011-08-10 | 2014-03-25 | Eporin, LLC | System and method of sending notifications prior to service arrival |
US8706472B2 (en) | 2011-08-11 | 2014-04-22 | Apple Inc. | Method for disambiguating multiple readings in language conversion |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US9195968B2 (en) * | 2011-09-09 | 2015-11-24 | Microsoft Technology Licensing, Llc | Cloud-based broker service for digital assistants |
US8762156B2 (en) | 2011-09-28 | 2014-06-24 | Apple Inc. | Speech recognition repair using contextual information |
WO2013049820A1 (en) * | 2011-10-01 | 2013-04-04 | Proxpro, Inc. | Identifying future location and providing path crossing indications |
KR101402506B1 (en) * | 2011-12-01 | 2014-06-03 | 라인 가부시키가이샤 | System and method for providing information interactively by instant messaging application |
US8694254B2 (en) | 2011-12-02 | 2014-04-08 | Gil Fuchs | System and method for improved routing that combines real-time and likelihood information |
DE102012200192A1 (en) * | 2012-01-09 | 2013-07-11 | Robert Bosch Gmbh | Method and device for operating a vehicle |
US8781718B2 (en) | 2012-01-27 | 2014-07-15 | Pelmorex Canada Inc. | Estimating time travel distributions on signalized arterials |
WO2013123512A1 (en) * | 2012-02-16 | 2013-08-22 | Ims Solutions, Inc. | Traffic portal enquiry and alert system |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9124998B2 (en) | 2012-03-20 | 2015-09-01 | Samsung Electronics Co., Ltd. | Smart alarm |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US8775442B2 (en) | 2012-05-15 | 2014-07-08 | Apple Inc. | Semantic search using a single-source semantic model |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US10019994B2 (en) | 2012-06-08 | 2018-07-10 | Apple Inc. | Systems and methods for recognizing textual identifiers within a plurality of words |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
KR101554449B1 (en) | 2012-06-22 | 2015-09-18 | 구글 인코포레이티드 | Weather forecasts based on expected location |
WO2013192533A2 (en) | 2012-06-22 | 2013-12-27 | Google, Inc. | Contextual traffic or transit alerts |
CN106408252B (en) | 2012-06-22 | 2019-11-29 | 谷歌有限责任公司 | It presents and is directed to current location or the information of time |
US9222788B2 (en) | 2012-06-27 | 2015-12-29 | Microsoft Technology Licensing, Llc | Proactive delivery of navigation options |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
DE102012212065A1 (en) * | 2012-07-11 | 2014-01-16 | Robert Bosch Gmbh | Method for operating a driver assistance system for a vehicle and driver assistance system for a vehicle |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US8935167B2 (en) | 2012-09-25 | 2015-01-13 | Apple Inc. | Exemplar-based latent perceptual modeling for automatic speech recognition |
US8588821B1 (en) * | 2012-10-08 | 2013-11-19 | Google Inc. | Techniques for automatically outputting severe weather notifications at a user's mobile computing device |
US11394790B2 (en) * | 2012-10-09 | 2022-07-19 | Cvent Inc. | Method, system and apparatus for providing activity feed for events to facilitate gathering and communicating of event information |
US20140200033A1 (en) * | 2012-10-17 | 2014-07-17 | Alminder, Inc. | Controlling Device Functionality Based On Device Location And Calendar Information |
US10223909B2 (en) | 2012-10-18 | 2019-03-05 | Uber Technologies, Inc. | Estimating time travel distributions on signalized arterials |
DE102012219927A1 (en) * | 2012-10-31 | 2014-04-30 | Bayerische Motoren Werke Aktiengesellschaft | Vehicle assistance device |
US9554244B2 (en) * | 2013-01-24 | 2017-01-24 | Sap Se | Distribution of location and movement information of meeting participants |
CN104969289B (en) | 2013-02-07 | 2021-05-28 | 苹果公司 | Voice trigger of digital assistant |
EP2767963B1 (en) * | 2013-02-18 | 2021-08-25 | Harman Becker Automotive Systems GmbH | A system and a method for automatic scheduling |
US9854084B2 (en) * | 2013-03-06 | 2017-12-26 | Google Llc | Contextual alarm and notification management |
US9121710B2 (en) * | 2013-03-13 | 2015-09-01 | Ford Global Technologies, Llc | User interface system and method based on calendar event |
WO2014153130A1 (en) | 2013-03-14 | 2014-09-25 | Sirius Xm Radio Inc. | High resolution encoding and transmission of traffic information |
US10572476B2 (en) | 2013-03-14 | 2020-02-25 | Apple Inc. | Refining a search based on schedule items |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
US9977779B2 (en) | 2013-03-14 | 2018-05-22 | Apple Inc. | Automatic supplementation of word correction dictionaries |
US9733821B2 (en) | 2013-03-14 | 2017-08-15 | Apple Inc. | Voice control to diagnose inadvertent activation of accessibility features |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10642574B2 (en) | 2013-03-14 | 2020-05-05 | Apple Inc. | Device, method, and graphical user interface for outputting captions |
EP2973002B1 (en) | 2013-03-15 | 2019-06-26 | Apple Inc. | User training by intelligent digital assistant |
US9922642B2 (en) | 2013-03-15 | 2018-03-20 | Apple Inc. | Training an at least partial voice command system |
WO2014168730A2 (en) | 2013-03-15 | 2014-10-16 | Apple Inc. | Context-sensitive handling of interruptions |
US20140278057A1 (en) * | 2013-03-15 | 2014-09-18 | John Michael Berns | System and method for automatically calendaring events and associated reminders |
US10655979B2 (en) | 2013-06-08 | 2020-05-19 | Apple Inc. | User interface for displaying predicted destinations |
US20140365505A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Harvesting Addresses |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US9303997B2 (en) * | 2013-03-15 | 2016-04-05 | Apple Inc. | Prediction engine |
US9317813B2 (en) | 2013-03-15 | 2016-04-19 | Apple Inc. | Mobile device with predictive routing engine |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
EP3937002A1 (en) | 2013-06-09 | 2022-01-12 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
CN105265005B (en) | 2013-06-13 | 2019-09-17 | 苹果公司 | System and method for the urgent call initiated by voice command |
WO2015020942A1 (en) | 2013-08-06 | 2015-02-12 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
US20150198738A1 (en) * | 2013-08-20 | 2015-07-16 | Raghav Gupta | Virtual meterologist based on weather forecasting system and method |
US20150285952A1 (en) * | 2013-08-20 | 2015-10-08 | GeoTerrestrial, Inc. dba WeatherSphere | Weather forecasting system and method |
US10331305B2 (en) | 2013-11-12 | 2019-06-25 | Microsoft Technology Licensing, Llc | Aggregating and presenting event information |
DE102013224525A1 (en) * | 2013-11-29 | 2015-06-03 | Bayerische Motoren Werke Aktiengesellschaft | Route calculation with breaks |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
WO2015105277A1 (en) * | 2014-01-07 | 2015-07-16 | 에스케이플래닛 주식회사 | Apparatus and method for changing alarm information in accordance with weather |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US9483763B2 (en) | 2014-05-29 | 2016-11-01 | Apple Inc. | User interface for payments |
US20150346983A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Travel time estimation and alerting |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
WO2015184186A1 (en) | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-command single utterance input method |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
WO2015193853A1 (en) * | 2014-06-19 | 2015-12-23 | Iveco S.P.A. | System for managing a vehicular mission of a goods delivery vehicle |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
DE102014214757B4 (en) * | 2014-07-28 | 2018-12-20 | Volkswagen Aktiengesellschaft | A method and apparatus for reminding a user of an appointment at a remote location |
US9503516B2 (en) | 2014-08-06 | 2016-11-22 | Google Technology Holdings LLC | Context-based contact notification |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US10066959B2 (en) * | 2014-09-02 | 2018-09-04 | Apple Inc. | User interactions for a mapping application |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US9606986B2 (en) | 2014-09-29 | 2017-03-28 | Apple Inc. | Integrated word N-gram and class M-gram language models |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10664707B2 (en) * | 2014-10-06 | 2020-05-26 | Marc R. Hannah | Managed access system for traffic flow optimization |
US20160117372A1 (en) * | 2014-10-28 | 2016-04-28 | KrafftlT AB | Software application that determines the optimal times for outdoor activities based on outdoor conditions |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
KR20160084081A (en) * | 2015-01-05 | 2016-07-13 | 한국전자통신연구원 | Device and method for sart calendar |
WO2016121500A1 (en) * | 2015-01-27 | 2016-08-04 | 株式会社Nttドコモ | System and program |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9593959B2 (en) * | 2015-03-31 | 2017-03-14 | International Business Machines Corporation | Linear projection-based navigation |
US10365112B2 (en) * | 2015-03-31 | 2019-07-30 | Here Global B.V. | Method and apparatus for providing a route forecast user interface |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US9940637B2 (en) | 2015-06-05 | 2018-04-10 | Apple Inc. | User interface for loyalty accounts and private label accounts |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US10127188B2 (en) * | 2015-06-05 | 2018-11-13 | International Business Machines Corporation | Displaying calendar information in a horizontal bar |
US20160358133A1 (en) | 2015-06-05 | 2016-12-08 | Apple Inc. | User interface for loyalty accounts and private label accounts for a wearable device |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US9652486B2 (en) * | 2015-06-07 | 2017-05-16 | Apple Inc. | Power saving techniques for a navigation application |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US9976869B2 (en) * | 2015-09-25 | 2018-05-22 | International Business Machines Corporation | Temporal solar capacity navigation |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10685297B2 (en) * | 2015-11-23 | 2020-06-16 | Google Llc | Automatic booking of transportation based on context of a user of a computing device |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
AU2017100667A4 (en) | 2016-06-11 | 2017-07-06 | Apple Inc. | Activity and workout updates |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | User interface for correcting recognition errors |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
DK201770429A1 (en) | 2017-05-12 | 2018-12-14 | Apple Inc. | Low-latency intelligent automated assistant |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Multi-modal interfaces |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | Far-field extension for digital assistant services |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US10677599B2 (en) * | 2017-05-22 | 2020-06-09 | At&T Intellectual Property I, L.P. | Systems and methods for providing improved navigation through interactive suggestion of improved solutions along a path of waypoints |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
JP7053325B2 (en) * | 2018-03-19 | 2022-04-12 | 本田技研工業株式会社 | Information providing device and its control method |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
WO2019200879A1 (en) * | 2018-04-17 | 2019-10-24 | 华为技术有限公司 | Service recommendation method and related device |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | Virtual assistant operation in multi-device environments |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
DK179822B1 (en) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
US10944859B2 (en) | 2018-06-03 | 2021-03-09 | Apple Inc. | Accelerated task performance |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
CN109766163B (en) * | 2019-01-17 | 2020-02-07 | 网易(杭州)网络有限公司 | Synchronous display method and device, storage medium and electronic device |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11863700B2 (en) | 2019-05-06 | 2024-01-02 | Apple Inc. | Providing user interfaces based on use contexts and managing playback of media |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | User activity shortcut suggestions |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11227599B2 (en) | 2019-06-01 | 2022-01-18 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
JP7108871B2 (en) * | 2020-03-30 | 2022-07-29 | パナソニックIpマネジメント株式会社 | Information display system |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11183193B1 (en) | 2020-05-11 | 2021-11-23 | Apple Inc. | Digital assistant hardware abstraction |
JP2021195206A (en) * | 2020-06-11 | 2021-12-27 | トヨタ自動車株式会社 | Material transportation support apparatus and material transportation method |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
CN114860136A (en) * | 2021-01-18 | 2022-08-05 | 华为技术有限公司 | Display method of widget and electronic equipment |
US12000706B2 (en) * | 2022-07-29 | 2024-06-04 | Toyota Connected North America, Inc. | Vehicle carbon footprint management |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040220768A1 (en) * | 2000-09-07 | 2004-11-04 | Bernhard Klein | Method for signalling a time of departure and a mobile data processing device |
KR20050009321A (en) * | 2003-07-16 | 2005-01-25 | 친 쿠앙 루오 | Heat pipe having an elastic sealing member |
US20050096842A1 (en) * | 2003-11-05 | 2005-05-05 | Eric Tashiro | Traffic routing method and apparatus for navigation system to predict travel time and departure time |
KR20060003200A (en) * | 2004-07-05 | 2006-01-10 | 주식회사 현대오토넷 | Osd display device |
KR100619371B1 (en) * | 2005-03-03 | 2006-09-11 | 에스케이 텔레콤주식회사 | System for servicing schedule management and method therefor |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5635924A (en) * | 1996-03-29 | 1997-06-03 | Loral Aerospace Corp. | Travel route information monitor |
US5913917A (en) * | 1997-08-04 | 1999-06-22 | Trimble Navigation Limited | Fuel consumption estimation |
US6549768B1 (en) * | 1999-08-24 | 2003-04-15 | Nokia Corp | Mobile communications matching system |
US20020059178A1 (en) * | 2000-07-21 | 2002-05-16 | Mazda Motor Corporation | Information management method, information processing method, information processing apparatus, information processing apparatus and information management apparatus to be mounted in mobile body, computer program product, and computer readable storage medium |
US7256711B2 (en) * | 2003-02-14 | 2007-08-14 | Networks In Motion, Inc. | Method and system for saving and retrieving spatial related information |
US7610145B2 (en) * | 2003-07-25 | 2009-10-27 | Triangle Software Llc | System and method for determining recommended departure time |
JP4317000B2 (en) * | 2003-12-10 | 2009-08-19 | パイオニア株式会社 | GUIDANCE GUIDE DEVICE, ITS SYSTEM, ITS METHOD, ITS PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM |
JP4392747B2 (en) * | 2003-12-24 | 2010-01-06 | アイシン・エィ・ダブリュ株式会社 | Navigation system |
US7310676B2 (en) * | 2004-02-09 | 2007-12-18 | Proxpro, Inc. | Method and computer system for matching mobile device users for business and social networking |
US9100776B2 (en) * | 2004-10-06 | 2015-08-04 | Intelligent Mechatronic Systems Inc. | Location based event reminder for mobile device |
KR20060081193A (en) * | 2005-01-07 | 2006-07-12 | 삼성전자주식회사 | Method providing guidance of path in mobile phone implemented navigation function connected with schedule function |
US20070255457A1 (en) * | 2006-04-28 | 2007-11-01 | Bright Planet Network, Inc. | Consumer Pollution Impact Profile System and Method |
US7739040B2 (en) * | 2006-06-30 | 2010-06-15 | Microsoft Corporation | Computation of travel routes, durations, and plans over multiple contexts |
US9175964B2 (en) * | 2007-06-28 | 2015-11-03 | Apple Inc. | Integrated calendar and map applications in a mobile device |
-
2008
- 2008-08-30 US US12/202,236 patent/US8190359B2/en not_active Expired - Fee Related
- 2008-08-30 WO PCT/US2008/074944 patent/WO2009029910A2/en active Application Filing
-
2012
- 2012-05-25 US US13/480,538 patent/US8874363B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040220768A1 (en) * | 2000-09-07 | 2004-11-04 | Bernhard Klein | Method for signalling a time of departure and a mobile data processing device |
KR20050009321A (en) * | 2003-07-16 | 2005-01-25 | 친 쿠앙 루오 | Heat pipe having an elastic sealing member |
US20050096842A1 (en) * | 2003-11-05 | 2005-05-05 | Eric Tashiro | Traffic routing method and apparatus for navigation system to predict travel time and departure time |
KR20060003200A (en) * | 2004-07-05 | 2006-01-10 | 주식회사 현대오토넷 | Osd display device |
KR100619371B1 (en) * | 2005-03-03 | 2006-09-11 | 에스케이 텔레콤주식회사 | System for servicing schedule management and method therefor |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2330545A1 (en) * | 2009-12-07 | 2011-06-08 | Research in Motion Corporation | Method and apparatus for adjusting reminder data stored in a database |
WO2015051333A1 (en) | 2013-10-04 | 2015-04-09 | Uber Technologies, Inc. | Determining location information using a location data point provided by a computing device |
JP2016540191A (en) * | 2013-10-04 | 2016-12-22 | ウーバー テクノロジーズ,インコーポレイテッド | Determination of location information using location data points provided by a computing device |
CN106454745A (en) * | 2013-10-04 | 2017-02-22 | 优步技术公司 | Determining location information using a location data point provided by a computing device |
EP3052964A4 (en) * | 2013-10-04 | 2017-06-07 | Uber Technologies Inc. | Determining location information using a location data point provided by a computing device |
US9778063B2 (en) | 2013-10-04 | 2017-10-03 | Uber Technologies, Inc. | Determining location information using a location data point provided by a computing device |
US9933274B2 (en) | 2013-10-04 | 2018-04-03 | Uber Technologies, Inc. | Determining location information using a location data point provided by a computing device |
CN104932322A (en) * | 2014-03-17 | 2015-09-23 | 福特全球技术公司 | Learning automated vehicle |
Also Published As
Publication number | Publication date |
---|---|
US20090192702A1 (en) | 2009-07-30 |
WO2009029910A3 (en) | 2009-04-30 |
US8190359B2 (en) | 2012-05-29 |
US20140039787A1 (en) | 2014-02-06 |
US8874363B2 (en) | 2014-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8874363B2 (en) | Situation-aware personal information management for a mobile device | |
US9518833B2 (en) | System and method of automatic destination selection | |
US6950745B2 (en) | Navigation system | |
US8924142B2 (en) | System and method of representing route information | |
US7941753B2 (en) | Communicating appointment and/or mapping information among a calendar application and a navigation application | |
US8532920B2 (en) | Automatic origin determination for faster route request initiation and resulting system response time | |
US20060155465A1 (en) | Method for route guidance on mobile terminal capable of interworking scheduling and navigation functions | |
US8457888B2 (en) | Method for reminding users about future appointments while taking into account traveling time to the appointment location | |
EP1179815B1 (en) | Mobile information processing system | |
US7085649B2 (en) | Electronic organizer | |
US20050114014A1 (en) | System and method to notify a person of a traveler's estimated time of arrival | |
EP2751523A1 (en) | System and method for automatically presenting path-relevant information to a vehicle operator | |
CN105096637A (en) | Public transportation-based navigation information acquisition method and device | |
KR101759657B1 (en) | Method for providing real-time navigating service | |
JP2016183901A (en) | Navigation device, navigation method, and navigation program | |
JP2004220095A (en) | Method and system for delivering information to on-vehicle terminal and on-vehicle terminal device | |
JP2003256621A (en) | Cyclic route search type scheduler system | |
CA2726562C (en) | Automatic origin determination for faster route request initiation and resulting system response time | |
KR20050117089A (en) | Traffic guidance service system and method in using mobile communication terminal | |
CA2725283A1 (en) | System and method of representing route information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08828750 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 08828750 Country of ref document: EP Kind code of ref document: A2 |