This invention relates to mobile communication devices. More particularly, this invention relates to mobile communication devices having configurable and customizable auto responders.
Mobile devices such as cellular telephones, smart phones, GPS systems, and cellular-enabled personal computers have become very common and very powerful. This combination of ubiquity and capability has created an ongoing demand for even more capable devices and even more complex and enhanced applications.
Part of the power and capabilities of mobile devices are based on the existence of various infrastructures such as communication networks provided by mobile telephone operators. Such networks enable not only cellular communication links, but they also support “basic” services such as time keeping and access to the public telephone network. Other infrastructures include the United States Government operated global positioning system (GPS), which enables easily accessible position sensing, and ultra-accurate time signals that can be used by communication networks and mobile devices to synchronize signals and operations.
The power and capabilities of mobile devices are also based on using fast, powerful semiconductor devices such as very large scale integrated (VLSI) chips, their supporting components such as resistors, inductors, capacitors, and antennas, and software development and support tools. Such enable the development and use of powerful application software (“Apps”) that can run on mobile devices to implement various features.
State-of-the-art mobile devices, sometimes referred to as smartphones, use the available infrastructures, devices, and software to implement a wide range of built-in features and capabilities. For example, communication ports, touch screen displays, keyboards, on/off sensors, compass orientation sensors, accelerometers, magnometers, light sensors, proximity sensors, cameras, timers, microphones, audio outputs, memory card readers, internal memory, specialized software, GPS, and capabilities such as programmability, identifying cell towers, ascertaining cell tower signal strengths, identifying WiFi networks, and determining battery levels (strength).
Much of the capabilities of mobile devices are implemented using specialized software applications, referred to hereinafter as “apps” that extend the basic features of mobile devices. Apps are available to enhance telephone communications, electronic texting, data communications, social networking, calendars, alarms, memo and note recording, GPS navigation, location tracking, music (MP3) and video (MP4) playback, video calling, conference calling, movie playback, picture taking and sending, games, emails, audio and video downloading, internet access and browsing, specialized advertising, short range communications such as Bluetooth™, mobile banking, instant messaging and the ever-popular specialized ringtones.
The immense power, speed, and capabilities of mobile devices can at times become breathtaking. But, mobile devices have so much capability and power, they at times become so burdensome and intrusive that their use is legally restricted. For example, many states have implemented laws that restrict the use of mobile devices when driving. At other times a user may decide that the use of a mobile device is not warranted. For example, some drivers would rather not use a mobile device when driving, even if such is legal. At other times some users may not wish to be interrupted. However, most users would like to know who called even if they do not wish to actually answer a call.
To assist users in avoiding illegal driving activity related to mobile devices, and to assist other users from being distracted, a company, Location Labs, has developed a “Safe Driving” product for smart phones that automatically detects when a user is driving, and that automatically sets the mobile device into a “Driving Mode” which disables most texting and calling features, sends all incoming calls directly to voicemail, and hides text messages while driving. In emergencies, the “Driving Mode” can be overridden but, if overridden, a text message or an e-mail can be sent to a selected party (such as a parent). This “Safe Driving” product has proven itself to be a useful feature that enhances safety.
Some users may want to automatically “answer” an incoming call and send a message even if they cannot or will not personally handle the incoming call. The solution to the conflict of answering without answering is the auto responder.
An auto responder is a computerized system that automatically responds to incoming signals. Auto responders have proven themselves over the years to be very useful in automatically addressing problems with e-mails. For example, the rather basic automatically generated response from a service provider that an email could not be sent is one type of auto responder.
However, auto responders have proven themselves useful in other contexts such as automatically answering phones and responding with messages such as “X is not available and will return on Monday, please leave a message.” Auto responders have also been used by marketers to leave automated messages while collecting phone numbers and the times of incoming calls. Later, pre-planned messages can be sent to the collected phone numbers.
While auto responders are known and have been used successfully, in the context of mobile devices the use of auto responders has been more limited. Mobile device auto responders that send “canned” messages in response to an incoming signal are known. For example, the foregoing Location Labs “Safe Driving” product when in “Driving Mode” can send an auto-response to alert an incoming caller that the call recipient is unavailable. However, enhanced mobile device auto responders that make use of the power of modern mobile devices would be useful.
The invention relates to mobile device auto responders that dynamically send customized automated messages that depend on the identity of an incoming call, on the location of the mobile device, on the speed of the mobile device, on the acceleration of the mobile device, on the direction the mobile device is moving, on the type of call that is incoming (email, text, audio, instant messaging) and/or on the time of day. The automated message can be customized to include the location, speed, heading, and/or acceleration of the mobile device as well as an estimated time of arrival over a predetermined stored route to a predetermined location. Such a stored route may be learned. The automated message may be audio, email, iMessage™, another type of instant message, or an SMS message.
According to one aspect, the invention is a processor-implemented method for handling incoming communications to a mobile device. The method includes receiving an incoming communication from a caller to the mobile device and determining if use of the mobile device is restricted. The caller is identified to determine a caller identity, and a response message is automatically transmitted responsive to determining use of the mobile device is restricted and determining the caller identity.
According to one aspect, the invention is a processor-implemented method for handling incoming communications to a mobile device. The method includes receiving an incoming communication from a caller to the mobile device and determining if use of the mobile device is restricted. At least one of location, speed, acceleration and heading (compass orientation) of the mobile device is determined, and a response message is automatically transmitted to the caller responsive to determining use of the mobile device is restricted. The response message includes an indication of at least one of the location, heading, speed and the acceleration of the mobile device.
According to another aspect, the invention is a communication network having a mobile device with a processor, memory for storing information, a data port for receiving incoming calls and for sending messages, a GPS finder for determining the current location of the mobile device, a heading sensor for determining the direction the mobile device is moving, at least one I/O element for producing a human detectable output, and a clock for determining time. The memory, data port, GPS finder, I/O element, and clock are all operatively connected to the processor. Application software controls the processor to determine if the mobile device is moving. If moving, the application software causes the processor to automatically stop the I/O element from producing the human detectable output and is so programmed automatically prevents the driver from making any non-emergency calls. Then, upon the data port receiving an incoming call from a caller the application software controls the processor to identify the caller and then to automatically formulate a response message that depends on the identity of the caller. That automatically formulated response message is then automatically sent to the caller via the data port.
According to another aspect, the invention is a communication network having a mobile device with a processor, persistent memory for storing information, a data port for receiving incoming calls and for sending messages, a GPS finder for determining the current location of the mobile device, a method of determining the direction the mobile device is heading, at least one I/O element for producing a human detectable output, and a clock for determining time. The persistent memory, data port, GPS finder, I/O element, and clock are all operatively connected to the processor. Application software controls the processor to determine if the mobile device is moving. If moving, the application software causes the processor to automatically stop the I/O element from producing the human detectable output and if so programmed automatically prevents the driver from making any non-emergency calls. Then, upon the data port receiving an incoming call the application software controls the processor to determine the current location of the mobile device, and then to automatically formulate a response message that depends on the current location. That automatically formulated response message is then automatically sent to the caller via the data port.
In yet another aspect, the invention is a communication network having a mobile device with a processor, persistent memory for storing route and destination information, a data port for receiving incoming calls and for sending messages, a GPS finder for determining the current location of the mobile device, at least one I/O element for producing a human detectable output, and a clock for determining time. The persistent memory, data port, GPS finder, I/O element, and clock are all operatively connected to the processor. Application software causes the processor to determine the current location and current speed of the mobile device when the data port receives an incoming call. The application software than causes the processor to use the current location to determine route information to a destination. The application software further causes the processor to produce and estimated time of arrival at the destination. The application software then controls the processor to automatically formulate a response message that includes the estimated time of arrival and to automatically cause the data port to send the response message. The route information in the persistent memory can be learned over time or stored by the user.
The foregoing Summary as well as the following detailed description will be readily understood in conjunction with the appended drawings which illustrate embodiments of the invention. In the drawings:
The disclosed subject matter will now be described more fully hereinafter with reference to the accompanying drawings. It should be understood that this invention may take many different forms and thus the invention should not be construed as being limited to the specific embodiment set forth herein.
In the figures like numbers refer to like elements. Furthermore, the terms “a” and “an” as used herein do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced items. All documents and references referred to herein are hereby incorporated by reference for all purposes.
Still referring to
The communication link 100 also includes a caller 124 having a representative computerized communication system 140 that communicates over the communication path 16 with the driver 112. The communication system 140 is comprised of a telephone 129 for providing voice and SMS (short message service) communications, a computer 127 for supporting email and iMessage™ communications, and a monitor 126 that supports visual communications. Both the communication system 140 and the auto responder app 118 support voice, email, and SMS capabilities.
The mobile device 116 is capable of running a multitude of software applications and can be configured to enable a variety of features using a variety of settings and resources. The driver 112 can set up the mobile device 116 by adjusting sound levels, visual intensity levels, dates, times, timers, calendars, contact lists, contact groupings, speed dials, tools, and clock settings. In addition, the auto responder app 118 can automatically adjust features and settings and use any of the foregoing mentioned sensors as required to perform its programmed task(s). In particular, the auto responder app 118 can automatically prevent incoming call notifications, such as ring tones, vibrations, and display changes.
Still referring to
Still referring to
Moving up the hierarchical progression from the firmware 220 is an operating system (OS) 224. The operating system 224 provides a set of software programs that manage the electronic hardware 202 and firmware 220 and implement common services for a wide range of application software. The operating system 224 includes a low-level “kernel” routine 226 that handles software integration to the firmware 220 and electronic hardware 202 to implement underlying functionality. In practice the kernel 226 is seldom modified when used to form a family of mobile devices. However, different releases of operating systems may have different kernels 226. Over the kernel 226 is a set of core services 230 that, while basic, may change from time to time or from family device to family device. The core services 230 are software-based functions that support the on-board services of the mobile device 116. In the mobile device 116 those core services include system 250 software routines that support and enable obtaining GPS or other location information, accelerometer information, heading information, time information, and use of memory, as well as messaging routines 251 and telephony routines 252. The messaging routines 251 support voicemail, email, SMS service, iMessage™ and other instant messaging services, visual, and audio messaging while the telephony routines 252 support the data port 130.
Overlaying the operating system 224 is the auto responder app 118 whose operation is described in more detail subsequently.
The persistent storage 214 stores a wide range of permanent data in databases, specifically including position information. Such position information can be input by the driver 112, downloaded from a remote source, or learned over time. In particular, the position information includes destination information, such as the locations of the driver's home, office, and other locations that the driver 112 often goes to. The persistent storage 214 also stores route information, which includes routes the driver 112 commonly uses to go to the various destinations. For example, the route 12 shown in
In addition, the persistent storage 214 contains time information regarding the routes. For example, the persistent storage 214 records an average of 2 minutes to travel from the driver's home to the on-ramp of I-5, the average time it takes the driver 112 to travel each half-mile on I-5, and the average time it takes the driver 112 to travel from the off-ramp of I-5 to his office. The persistent storage 214 can therefore be used to estimate travel times between the driver's 112 home and his office, and along each half-mile of I-5.
The persistent storage 214 further includes time-of-day information. As is well-known to drivers in many urban areas, the time required to travel from point A to point B can be heavily dependent on the time-of-day. Driving 30 miles on I-5 starting at 3:00 AM might take 30 minutes while that same distance over the same route starting at 5:00 PM might take well over 2 hours. Thus the persistent storage 214 includes information to provide travel time estimates based on the time of day. For example, the times required to travel the same route at different times during a day can be stored or, equivalently, time-dependent correction factors can be stored.
The operation 400 starts 402 and proceeds with an automatic determination as to whether the driver 112 is driving, step 404. If the driver 112 is not driving the auto responder app 118 idles in a loop waiting for the driver 112 to start driving. During idling, the auto responder app 118 is transparent and does not interfere with other operations of the mobile device 116. However, the auto responder app 118 can be programmed during idling. For example, the auto responder app 118 can be configured to respond to all callers or to just select callers in the persistent storage 214. Additionally, response formats for auto response messages can be assigned (voice, visual, SMS, email, iMessage™, instant message), specific responses can be formatted for each select caller in the persistent storage 214, driving routes, such as the route 12 in
When driving is detected in step 404 the operation 400 proceeds to automatically configure the mobile device 116 for auto responding, step 406. Auto configuration includes shutting off the ability of the driver 112 to make any outgoing calls (except emergency calls to selected numbers such as 911), texting, and data entry. Furthermore, all incoming message notifications to the driver 112 such as ring tones, vibrations, and display screen messages and actions (such as lighting up) are prevented. In addition, the operating state of the mobile device 116 before driving is saved and stored in the persistent storage 214.
After the mobile device is configured a determination is made as to whether the driver 112 is still driving, step 408. If not, the operation 400 proceeds to step 410 where the operating state of the mobile device 116 before driving started is recalled from the persistent storage 214 and restored. Then operation 400 proceeds back to step 404 where the auto responder app 118 waits for the driver 112 to start driving again.
However, if in step 408 the operation 400 detects that the driver 112 is still driving, a determination is made as to whether an override of the auto responder app 118 should be taken, step 412. In one case a driver 112 may seek to manually override the auto responder app 118. In another case the auto responder app 118 may detect an abnormal state, such as a probability of a collision, resulting from a sharp, high output from the accelerometer 122 or the mobile device 116 being out of an allowed area based on the location finder 128. If yes, a special emergency message is sent to a select party (such as a parent, co-worker, police department) or parties step 414, the saved operating state of the mobile device 116 is restored, step 415, and the operation 400 stops, step 417. The format, emergency message content, and select party are all pre-programmed (or defaults) and are stored in the persistent storage 214. After step 417 the driver 112 is free to make and send calls and messages in a normal fashion.
If there is no override, the operation 400 proceeds from step 412 to a determination as to whether there is an incoming call, step 416. If there is no incoming call the operation 400 returns to step 408 and a multi-step loop begins until the driver 112 stops driving, the driver 112 overrides the auto response app 118, or an incoming call is received.
If in step 416 an incoming call is received, the incoming caller's phone number is available via caller ID. A determination is then made as to whether the auto responder app 118 will respond to all callers, step 418. If the auto responder app 118 is set up to respond to only select callers the outcome of step 418 is NO, and the operation 400 proceeds by determining whether to respond to the caller, step 420. That determination involves attempting to find the caller in the persistent storage 214 using the incoming phone number. If the caller's phone number is not in the persistent storage 214 the determination in step 420 is NO and the operation 400 returns to step 408. But, if the caller's phone number is in the persistent storage 214 the determination is YES and an auto response is to be sent.
If an auto response is to be sent per step 418 or per step 420, the operation 400 proceeds to step 422 where a determination is made as to the format of the auto response. Formats include audio, video, SMS messages, iMessage™, instant messages, and/or email. The determination of which format to use can be preprogrammed and stored in the persistent storage 214, it can depend on who the incoming caller is (using caller ID), it can depend on the format of the incoming call, or an auto response in each format can be sent.
After the determination of the format of the auto response per step 422 the operation 400 proceeds to formulate one or more auto responses, step 424. It should be understood that the auto response app 118 is highly configurable and that different callers may be sent different auto responses, the auto responses may depend on the time of day, or on the driver's 112 location, speed, heading, or acceleration. Additionally, an auto response can be configured to include current information such as the driver's location, speed, heading, and estimated time of arrival. Details about step 422 are shown in more detail in the flow diagram of
After the format of the auto response is determined per step 422, and after the auto response itself is formulated, the auto response is sent, step 426. Then the operation 400 returns to step 408 for continuing operations.
Step 424 starts, step 502, and proceeds with determining the location of the driver 112, step 504. This involves having the auto responder app 118 interrogate the location finder 128 to find the location of the mobile device 116. Next, the auto responder app 118 determines the speed of the mobile device 116, step 506. Typically this will be performed by interrogating the location finder 128. After step 506 the auto responder app 118 determines the acceleration of the mobile device 116, step 508. This is performed by interrogating the accelerometer 122. Next, the auto responder app 118 determines the heading of the mobile device 116 using the compass 125, step 522. Then, at step 510 the time is determined by interrogating the clock 114.
The foregoing methods of determining location, speed, heading, and acceleration are example only. Such information may also be gleaned from cell tower signals or Wi-Fi signals. Additionally, acceleration and speed may also be estimated from GPS location fixes.
After step 510, a determination is then made as to whether an estimated time of arrival can be determined, step 512. To estimate the time of arrival, the destination and the route must be known. Those parameters must have been programmed or contained in the persistent storage 214. In addition, the location of the driver 112 determined in step 504 must correspond to a route in the persistent storage 214. Alternatively, the location of the driver 112 can be used to select a route from a list of routes and a destination. The distance between the driver 112 and the destination can be determined, either from the persistent storage 214, or by interrogating an external reference such as Google Maps™, MapQuest™ or other network accessible mapping data source.
If an estimated time of arrival can be determined, it is determined, step 514. That estimated time of arrival can be found from the current time (available from the clock 114), the distance to travel from step 512, and the speed, from step 506. However, a better estimate can be obtained using historical time travel information in the persistent storage 214. For example, the prior travel times to travel from the current location along the current route can be stored. An even better estimate is available if prior travel times to travel from the current location along the current route at the current time of day are stored. Compilation of historical information and its use are disclosed in U.S. patent application Ser. No. 13/350,497 entitled “System and Method for Implementing Histogram Controlled Mobile Devices,” filed on Jan. 13, 2012. However, other ways to compile and use historical information will be apparent to those skilled in the art.
In step 516, the auto responder app 118 identifies the caller. If the auto responder app 118 is configured to send the same auto response to all callers, step 516 need not be performed. However, since the invention is configurable to send different auto response messages to different callers, step 516 should be understood as enabling sufficient caller identification to enable assembly of a tailored message for the particular caller.
After step 516, the auto response message is assembled, step 518. As previously noted auto response messages may depend on the caller, which is available per step 516. Auto response messages may also depend on time, which is available per step 510. Auto response messages may also depend on the current location of the mobile device 116, which is available per step 504. Auto response messages may depend on the current acceleration, which is available per step 508. Auto response messages may depend on the current heading, which is available per step 522. Auto response messages may depend on the current speed, which is available per step 506. Auto response messages may include an estimated arrival time, which is available per step 514. Finally, the auto response message may depend on the type of incoming call. If an email is received one auto response can be sent, if an SMS message is received another auto response can be sent, if an iMessage™ is received another auto response can be sent, if an instant message is received another auto response can be sent, and if a voice call is received yet another auto response can be sent.
Assembly of the auto response message involves incorporating the components of the auto response message in accord with an arrangement stored in the persistent storage 214. For example, if during step 516 the caller 124 is identified as the parent of the driver 112 the persistent storage 214 has a stored arrangement consisting of the current location of the driver 112, the current speed of the driver 112, and an estimated time of arrival. In response, step 518 would arrange a message informing the caller 125 of the current location, speed, and estimated time of arrival. For other callers “canned” responses such as “Jim is currently driving and is unavailable,” or “Robin is currently unavailable and will return your call as soon as possible,” can be incorporated into the auto response message.
After assembly of the auto response message the process ends, step 520 and step 424 is complete.
While various embodiments of the invention have been described in detail above, the invention is not limited to the described embodiments, which should be considered as merely exemplary. Many modifications and extensions of the invention may be developed, and all such modifications are deemed to be within the scope of the invention defined by the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
4956825 | Wilts et al. | Sep 1990 | A |
5882258 | Kelly et al. | Mar 1999 | A |
5973683 | Cragun et al. | Oct 1999 | A |
6690940 | Brown et al. | Feb 2004 | B1 |
7106843 | Gainsboro et al. | Sep 2006 | B1 |
7313383 | Fujii | Dec 2007 | B2 |
7705726 | Graves et al. | Apr 2010 | B2 |
7876704 | Bims et al. | Jan 2011 | B1 |
8095175 | Todd et al. | Jan 2012 | B2 |
8107432 | Seo | Jan 2012 | B2 |
8225413 | De et al. | Jul 2012 | B1 |
8249627 | Olincy et al. | Aug 2012 | B2 |
8315597 | Olincy et al. | Nov 2012 | B2 |
8351408 | Daigle | Jan 2013 | B2 |
8369838 | Mallavarapu et al. | Feb 2013 | B2 |
8503994 | Sanjeev | Aug 2013 | B1 |
8594065 | Polito et al. | Nov 2013 | B2 |
8768286 | Naboulsi | Jul 2014 | B2 |
20030211889 | Walker et al. | Nov 2003 | A1 |
20030216138 | Higuchi et al. | Nov 2003 | A1 |
20050003895 | Nara | Jan 2005 | A1 |
20060270476 | Denkewicz | Nov 2006 | A1 |
20070039624 | Roberts et al. | Feb 2007 | A1 |
20080201441 | Bodic et al. | Aug 2008 | A1 |
20090002147 | Bloebaum et al. | Jan 2009 | A1 |
20090017750 | Marcinkiewicz | Jan 2009 | A1 |
20090055938 | Samuel | Feb 2009 | A1 |
20090089876 | Finamore et al. | Apr 2009 | A1 |
20090181356 | Dasgupta | Jul 2009 | A1 |
20090204471 | Elenbaas et al. | Aug 2009 | A1 |
20090248436 | Takagi et al. | Oct 2009 | A1 |
20090271247 | Karelin et al. | Oct 2009 | A1 |
20090298019 | Rogan et al. | Dec 2009 | A1 |
20100028844 | Wiseman | Feb 2010 | A1 |
20100106573 | Gallagher et al. | Apr 2010 | A1 |
20100210254 | Kelly et al. | Aug 2010 | A1 |
20100279626 | Bradley et al. | Nov 2010 | A1 |
20100330543 | Black et al. | Dec 2010 | A1 |
20110047078 | Ginter et al. | Feb 2011 | A1 |
20110055546 | Klassen et al. | Mar 2011 | A1 |
20110093161 | Zhou et al. | Apr 2011 | A1 |
20110117878 | Barash et al. | May 2011 | A1 |
20110151830 | Blanda et al. | Jun 2011 | A1 |
20110275321 | Zhou et al. | Nov 2011 | A1 |
20110294520 | Zhou et al. | Dec 2011 | A1 |
20110296014 | Cancel et al. | Dec 2011 | A1 |
20110307434 | Rostampour et al. | Dec 2011 | A1 |
20120001548 | Recker et al. | Jan 2012 | A1 |
20120081500 | Border et al. | Apr 2012 | A1 |
20120083287 | Casto et al. | Apr 2012 | A1 |
20120110071 | Zhou et al. | May 2012 | A1 |
20120166285 | Shapiro et al. | Jun 2012 | A1 |
20120171990 | Williams et al. | Jul 2012 | A1 |
20120172100 | Colar et al. | Jul 2012 | A1 |
20120188163 | Xiao | Jul 2012 | A1 |
20120223861 | Kupfer et al. | Sep 2012 | A1 |
20120244883 | Tibbits et al. | Sep 2012 | A1 |
20120253918 | Marois | Oct 2012 | A1 |
20120315880 | Peitrow et al. | Dec 2012 | A1 |
20130054674 | Myers et al. | Feb 2013 | A1 |
20130111510 | Baker et al. | May 2013 | A1 |
20130143512 | Hernandez et al. | Jun 2013 | A1 |
20130143521 | Hernandez et al. | Jun 2013 | A1 |
20130185411 | Martin | Jul 2013 | A1 |
20130217331 | Manente | Aug 2013 | A1 |
20130217363 | Myers | Aug 2013 | A1 |
20130303106 | Martin | Nov 2013 | A1 |
20130305384 | Weiss | Nov 2013 | A1 |
Number | Date | Country |
---|---|---|
2863439 | Jun 2005 | FR |
Entry |
---|
Office Action dated Jan. 16, 2013 for U.S. Appl. No. 13/087,302. |
U.S. Appl. No. 14/174,552, filed Feb. 6, 2014. |
U.S. Appl. No. 14/250,777, filed Apr. 11, 2014. |
U.S. Appl. No. 14/244,225, filed Apr. 3, 2014. |
http://www.slideshare.net/mhoward6170/zoomsafer-how-it-works. |
Number | Date | Country | |
---|---|---|---|
20130303106 A1 | Nov 2013 | US |