US20140266701A1 - Alerts Based on Danger in the Vicinity of a Client Device - Google Patents
Alerts Based on Danger in the Vicinity of a Client Device Download PDFInfo
- Publication number
- US20140266701A1 US20140266701A1 US13/834,518 US201313834518A US2014266701A1 US 20140266701 A1 US20140266701 A1 US 20140266701A1 US 201313834518 A US201313834518 A US 201313834518A US 2014266701 A1 US2014266701 A1 US 2014266701A1
- Authority
- US
- United States
- Prior art keywords
- client device
- risk
- risk factor
- location
- alert
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/02—Alarms for ensuring the safety of persons
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/18—Status alarms
- G08B21/22—Status alarms responsive to presence or absence of persons
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B31/00—Predictive alarm systems characterised by extrapolation or other computation using updated historic data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72457—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72418—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting emergency services
- H04M1/72421—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting emergency services with automatic activation of emergency service functions, e.g. upon sensing an alarm
Definitions
- multimedia content available for use on a client device has increased. Furthermore, client device users can take advantage of the multimedia content available on the client device at almost any time and place. A user utilizing headphones to listen to multimedia content may have a decreased awareness to the surrounding environment.
- One embodiment provides a method for providing an alert at a client device.
- the method includes receiving an ambient noise signal; determining a frequency of the ambient noise signal; analyzing the frequency of the ambient noise signal to determine a change in frequency of the ambient noise signal over time; determining a first risk factor based on the change in frequency of the ambient noise signal over time; and providing an alert at the client device based on the first risk factor.
- Another embodiment includes a computer readable storage device for providing an alert at a client device.
- the computer readable storage device having computer executable instructions for performing the steps of receiving an ambient noise signal; determining a frequency of the ambient noise signal; analyzing the frequency of the ambient noise signal to determine a change in frequency of the ambient noise signal over time; determining a first risk factor based on the change in frequency of the ambient noise signal over time; and providing an alert at the client device based on the first risk factor.
- Yet another embodiment includes a mobile alert system configured to provide an alert at a client device.
- the mobile alert system comprising: a location awareness engine, the location awareness engine configured to receive one or more signals indicative of the surrounding environment of the client device, the signals indicative of a surrounding environment of the client device comprise: an ambient noise signal received from a microphone coupled to the client device; wherein the location awareness engine is configured to determine a total risk factor based on the signals indicative of the surrounding environment of the client device, and cause the client device to provide an alert based on the total risk factor.
- FIG. 1 is a block diagram illustrating a system for providing an alert to a user at a client device, according to an example embodiment
- FIG. 2 is a block diagram illustrating components of a client device of FIG. 1 configured to provide an alert, according to one embodiment
- FIG. 3 is a block diagram illustrating functional components for a server of FIG. 1 , according to one embodiment
- FIG. 4 is a block diagram illustrating the various states of a processor within a server during the process of retrieving public accident records related to a particular location of the client device, according to an example embodiment
- FIG. 5 is a block diagram illustrating the various states of a processor within a client device during the process of providing an alert at the client device, according to an example embodiment
- FIG. 6 is a flow diagram for determining a risk factor associated with an ambient noise signal, according to an example embodiment
- FIG. 7 is a flow diagram illustrating a particular embodiment of the determining a risk factor associated with the ambient noise signal, from FIG. 6 ;
- FIG. 8 is a flow diagram for determining a risk factor associated with a location of the client device, according to an example embodiment
- FIG. 9 is a flow diagram illustrating a particular embodiment of the determining a risk factor associated with the location of the client device, from FIG. 8 ;
- FIG. 10 is a flow diagram for determining a risk factor associated with a public record of accidents at the location of the client device, according to an example embodiment
- FIG. 11 is a flow diagram illustrating a particular embodiment of the determining a risk factor associated with a public record of accidents at the location of the client device, from FIG. 10 ;
- FIG. 12 is a flow diagram for determining whether to issue an alert at the client device, according to an example embodiment.
- FIG. 13 is a flow diagram illustrating a process to determine a type of alert to issue at the client device, according to an example embodiment.
- multimedia content available for use on a client device has increased. Furthermore, client device users can take advantage of the multimedia content available on the client device at almost any time and place. Many types of multimedia content can distract a user's attention, such as audio content, video content, text content, or any type of media that can be experienced on a client device.
- one example use case is a user utilizing headphones to listen to multimedia content.
- the user may have a decreased awareness to the surrounding environment because of the proximity of the audio portion of the multimedia in relation to the user's ears. This problem can be further exacerbated by a high volume level of the multimedia content.
- a user should be aware of the surrounding environment.
- One such instance is when the user is potentially in danger. For example, if the user is walking in proximity to an area known to have high vehicular traffic such as a railway or road and using headphones to listen to music on a client device, then there is potential for the user to be in danger because the music playing in the headphones reduces the user's ability to listen to the surrounding environment. In this particular situation, the preoccupied user may not be able to hear an approaching vehicle, such as a car or train, and if the user is close enough to the road or train track, the user may be injured.
- an approaching vehicle such as a car or train
- an alert provided at the client device informs the user of the impending danger.
- certain factors pertaining to the surrounding environment of the user may be analyzed. Examples include the ambient noise, the location, and a public record of accidents at the user/client device's location.
- FIG. 1 is a block diagram of an example communications environment in which various embodiments of the present disclosure may be implemented.
- a client device 101 is connected to a server 104 through a data network 103 .
- the client device 101 may be a mobile device such as a smart phone, a tablet computer, a laptop computer, a watch with a computer operating system, a personal digital assistant (PDA), a video game console, a wearable or embedded digital device(s), or any one of a number of additional devices capable of playing multimedia content and being transported by a user.
- PDA personal digital assistant
- the data network 103 of FIG. 1 is generally a wireless network.
- Example networks include but are not limited to Wide Area Networks (WAN) such as a Long Term Evolution (LTE) network, a Global System for Mobile Communications (GSM) network, a Code Division Multiple Access (CDMA) network, Wireless Local Area Networks (WLAN) such as the various IEEE 802.11 standards, or any other kind of data network.
- WAN Wide Area Networks
- LTE Long Term Evolution
- GSM Global System for Mobile Communications
- CDMA Code Division Multiple Access
- WLAN Wireless Local Area Networks
- the data network 103 allows the client device 101 to communicate with the server 104 .
- client device 101 may transmit information to the server 104 and receive information from the server 104 .
- Data network 103 may include a set of cell towers, as well as a set of base stations and/or mobile switching centers (MSCs). In some embodiments, the data network 103 may include various cell tower/base station/MSC arrangements.
- Server 104 is connected to the client device 101 through the data network 103 .
- the connection enables server 104 to both receive data from the client device 101 and to transmit data to the client device 101 .
- the server 104 comprises processors and memory configured to receive information from one or more client devices, such as client device 101 .
- processors and memory located at the server 104 may be configured to access the Internet.
- processors and memory located at the server 104 may further be configured to aggregate information pertaining to public accident data for animals, humans, and vehicles at specific locations at a database, such as database 105 .
- the client device 101 is capable of sending a query to the server 104 regarding accident reports in the public record at a specific location through the data network 103 .
- server 104 accesses the Internet
- the server 104 receives a location from the client device 101 and queries the Internet for accident reports at that specific location and provides those reports to the client device 101 through the data network 103 .
- database 105 includes an aggregation of public accident reports at specific locations
- the client device 101 sends location information to the server 104
- server 104 accesses database 105 to collect the accident reports and then relays the accident reports to the client device 101 through the data network 103 .
- the client device 101 receives location information from a data network such as Global Positioning System (GPS) 106 .
- GPS Global Positioning System
- the client device 101 receives its location from the GPS network 106 in terms of GPS coordinates, which can be used to determine a precise location of the client device 101 .
- the client device 101 attempts to ascertain its location based on its connection to data network 103 .
- data network 103 is a WLAN system or a WAN system
- the client device 101 can either approximate its location based on a known physical location of the WLAN or WAN access point to which the client device 101 is currently attached, or the client device 101 can triangulate its position based on a measured signal strength received from at least two access points.
- the client device 101 queries the Internet via the data network 103 , or queries a map stored on a local memory device of the client device 101 for an approximation as to the proximity of the client device 101 to a potential hazard such as a road or railway. An alert is then output from the client device 101 to warn the user of the client device 101 of the potential hazard.
- a potential hazard such as a road or railway.
- the client device 101 includes one or more processors 201 , memory 202 , a network interface 203 , one or more storage devices 204 , power source 205 , one or more output devices 260 , and one or more input devices 280 .
- the client device 101 also includes an operating system 208 .
- Each of the components including the processor 201 , memory 202 , network interface 203 , storage device 204 , power source 205 , output device 260 , input device 280 , and the operating system 208 is interconnected physically, communicatively, and/or operatively for inter-component communications.
- processor 201 is configured to implement functionality and/or process instructions for execution within client device 101 .
- processor 201 executes instructions stored in memory 202 or instructions stored on a storage device 204 .
- Memory 202 which may be a non-transient, computer-readable storage medium, is configured to store information within client device 101 during operation.
- memory 202 includes a temporary memory, an area for information not to be maintained when the client device 101 is turned off. Examples of such temporary memory include volatile memories such as random access memories (RAM), dynamic random access memories (DRAM), and static random access memories (SRAM).
- RAM random access memories
- DRAM dynamic random access memories
- SRAM static random access memories
- Storage device 204 also includes one or more non-transient computer-readable storage media.
- the storage device 204 is generally configured to store larger amounts of information than memory 202 .
- the storage device 204 may further be configured for long-term storage of information.
- the storage device 204 includes non-volatile storage elements.
- Non-limiting examples of non-volatile storage elements include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories.
- the client device 101 uses network interface 203 to communicate with external devices via one or more networks, such as the data network 103 of FIG. 1 , one or more wireless networks, and other types of networks through which a communication with the client device 101 may be established.
- Network interface 203 may be a network interface card, such as an Ethernet card, an optical transceiver, a radio frequency transceiver, or any other type of device that can send and receive information.
- Other non-limiting examples of network interfaces include Bluetooth®, 3G and WiFi® radios in client computing devices, and USB.
- the client device 101 includes one or more input devices 280 .
- Input devices 280 are configured to receive input from a user or a surrounding environment of the user through tactile, audio, and/or video feedback.
- Non-limiting examples of input device 280 include a presence-sensitive screen, a mouse, a keyboard, a voice responsive system, video camera, microphone or any other type of input device.
- a presence-sensitive screen includes a touch-sensitive screen.
- One or more output devices 260 are also included in client device 101 .
- Output devices 260 are configured to provide output to a user using tactile, audio, and/or video stimuli.
- Output device 260 may include a display screen (part of the presence-sensitive screen), a sound card, a video graphics adapter card, or any other type of device for converting a signal into an appropriate form understandable to humans or machines.
- Additional examples of output device 260 include a speaker such as headphones, a cathode ray tube (CRT) monitor, a liquid crystal display (LCD), or any other type of device that can generate intelligible output to a user.
- CTR cathode ray tube
- LCD liquid crystal display
- the client device 101 includes one or more power sources 205 to provide power to the device.
- power source 205 include single-use power sources, rechargeable power sources, and/or power sources developed from nickel-cadmium, lithium-ion, or other suitable material.
- the client device 101 includes an operating system 208 .
- the operating system 208 controls operations of the components of the client device 101 .
- the operating system 208 facilitates the interaction of the processor(s) 201 , memory 202 , network interface 203 , storage device(s) 204 , input device 280 , output device 260 , and power source 205 .
- the client device 101 further includes a location awareness engine 240 , as illustrated in FIG. 2 .
- the location awareness engine 240 receives one or more signals indicative of the surrounding environment of the client device 101 .
- the signals may include an ambient noise signal, a location of the client device 101 , and/or a public record of accidents that occurred at the location of the client device 101 , or any other signals capable of providing information regarding the surrounding environment of the client device 101 .
- the location awareness engine 240 is capable of determining whether or not to alert the user as to an upcoming danger.
- server 104 is configured to retrieve public record data pertaining to human, animal, and/or vehicular accidents at a particular location through a public record engine 305 .
- vehicular accidents may include accidents involving automobiles, busses, trains, etc.
- a location awareness engine 306 may reside on the server and be configured to receive signals corresponding to the surrounding environment of the client device 101 and, in certain situations, command the client device 101 to provide an alert.
- the server 104 includes one or more processors 301 , memory 302 , network interface 303 , and one or more storage devices 304 .
- each of the components including the processor(s) 301 , memory 302 , network interface 303 , storage device 304 , public record engine 305 and location awareness engine 306 are interconnected physically, communicatively, and/or operatively for inter-component communications.
- processors 301 are configured to implement functionality and/or process instructions for execution within server 104 .
- processors 301 execute instructions stored in memory 302 or instructions stored on storage devices 304 .
- Memory 302 which may be a non-transient, computer-readable storage medium, is configured to store information within server 104 during operation.
- memory 302 includes a temporary memory, i.e. an area for information not to be maintained when the server 104 is turned off. Examples of such temporary memory include volatile memories such as random access memories (RAM), dynamic random access memories (DRAM), and static random access memories (SRAM).
- RAM random access memories
- DRAM dynamic random access memories
- SRAM static random access memories
- Storage devices 304 also include one or more non-transient computer-readable storage media. Storage devices 304 are generally configured to store larger amounts of information than memory 302 . Storage devices 304 may further be configured for long-term storage of information. In some examples, storage devices 304 include non-volatile storage elements. Non-limiting examples of non-volatile storage elements include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories.
- EPROM electrically programmable memories
- EEPROM electrically erasable and programmable
- the server 104 uses network interface 303 to communicate with external devices via one or more networks, such as the data network 103 of FIG. 1 .
- networks may include one or more wireless networks, wired networks, fiber optics networks, and other types of networks through which communication between the server 104 and an external device may be established.
- Network interface 303 may be a network interface card, such as an Ethernet card, an optical transceiver, a radio frequency transceiver, or any other type of device that can send and receive information.
- the public record engine 305 includes program instructions and/or data that are executable by the server 104 .
- the program instructions and data included in the public record engine 305 includes instructions to receive location information from a client device, such as the client device 101 , and to utilize that location to query memory 302 , and/or at an external database, such as database 105 , and/or the internet for public records pertaining to human and animal accidents at that particular location.
- the program instructions and data further include instructions for relaying, back to the client device 101 , a total quantity of such accidents at the particular location of the client device 101 .
- FIG. 4 is a block diagram of the Public Record Engine 305 , according to one embodiment of the disclosure.
- the block diagram represents various states of a processor within a server during the process of retrieving a public record of human, animal, and/or vehicular accident data related to a particular location of the client device 101 from FIG. 1 , according to a particular embodiment of the disclosure.
- the processor(s) 301 of server 104 are configured as a receiving engine.
- the receiving engine 400 is configured to receive a location of the client device 101 either in terms of a GPS location or a location determined based on specific connection parameters from one or more WLAN or WAN access points.
- the processor(s) 301 of server 104 are configured as a requesting engine.
- the requesting engine 410 queries the Internet or a database, such as database 105 , for information associated with the request received at 400 .
- the information associated with the request may include an accident report pertaining to a human, animal, and/or vehicular accident that occurred at the geographic location received by the receiving engine 400 .
- the accident report may further contain data or information related to a number of accidents, severity of an accident, damage to property, a timestamp associated with an accident, or a kind of vehicle involved in the accident.
- the processor(s) 301 of server 104 are configured as an accumulator.
- the accumulator is configured to aggregate the accident reports received as a result of the query from the requesting engine 410 . The aggregation of accident reports is then accumulated into a collection of accident reports.
- the processor(s) 301 of server 104 are configured as a transmitter.
- the transmitter is configured to transmit the collection of accident reports. Specifically, the transmitter 430 transmits the collection of accident reports to the location awareness engine 240 (see, FIG. 2 ) and/or the location awareness engine 306 (see, FIG. 3 ), depending on the specific embodiment of the disclosure.
- FIG. 5 is a block diagram of the various states of the location awareness engine 500 , according to one embodiment of the disclosure.
- the location awareness engine 500 may take the form of the location awareness engine 240 from FIG. 2 executing on a processor 201 of the client device 101 , or the location awareness engine 306 from FIG. 3 executing on a processor 301 within a server 104 .
- the location awareness engine 500 of FIG. 5 takes on the various states illustrated in FIG. 5 during the process of determining a risk of danger due to the surrounding environment of the client device 101 , and providing an alert if the risk warrants an alert.
- the processor(s) 201 / 301 of client device 101 or server 104 are configured as a receiving engine 510 .
- the receiving engine is configured to receive one or more signals relaying information regarding a current surrounding environment of the client device 101 .
- these signals may be an ambient noise in the environment, a location of the client device 101 , and/or a public record of accident information at the location of the client device 101 .
- the processor(s) 201 of client device 101 or the processor(s) 301 of server 104 are configured as a calculator.
- the calculator analyzes the signal and determines a risk factor for each signal received by the receiving engine 510 . If more than one risk factor was calculated, then the calculator 520 combines the calculated risk factors for each received signal to obtain a total risk factor. If only one risk factor was calculated, then the total risk factor is just the one calculated risk factor. If risk factors associated with different signals are calculated at different times, then the total risk factor is determined based on the calculated risk factors available and may be supplemented as additional risk factors are calculated.
- the processor(s) 201 of client device 101 or the processor(s) 301 of server 104 are configured as a comparator.
- the comparator compares the total risk factor to a threshold value related to a confidence level that the user is in danger.
- more than one threshold exists in order to reflect the varying confidence level based on the signals received at the receiving engine 510 .
- one or more thresholds are configurable.
- the processor(s) 201 of client device 101 or the processor(s) 301 of server 104 are configured as an alerting engine.
- the alerting engine determines an appropriate alert to provide at client device 101 based on the results of the comparison done at the comparator 530 . For instance, if the total risk factor exceeds a first threshold, then there is a high enough confidence level that the user is potentially in danger and an alert is issued at client device 101 in order to provide warning to the user. Further, in embodiments of the disclosure with more than one threshold, more than one level of alert may be issued. For instance, the alerts may increase in intensity based on the comparator 530 indicating that the total risk factor has exceeded a higher threshold.
- FIGS. 6-13 illustrate flow diagrams detailing a particular embodiment of operation of the location awareness engine 500 of FIG. 5 .
- FIG. 6 illustrates a flow diagram for determining a risk factor associated with a signal related to the ambient noise surrounding the client device 101 , according to one embodiment of the disclosure.
- a location awareness engine 500 receives an ambient noise signal from client device 101 .
- the ambient noise signal is originally received at a microphone configured as an input device 280 (see, FIG. 2 ) and passed to the location awareness engine 500 either executing as a local location awareness engine 240 at the client device 101 or as a remote location awareness engine 340 executing at the server 104 .
- the location awareness engine 500 calculates a change in frequency over time of the ambient noise signal, at block 620 .
- the location awareness engine 500 determines a risk factor associated with the change in frequency, at block 630 .
- FIG. 7 provides an embodiment of the disclosure regarding how the risk factor for the ambient noise signal is determined in block 630 from the flow diagram of FIG. 6 .
- the embodiment of the disclosure illustrated in FIG. 7 utilizes the Doppler Effect for sound waves emitted from an object in motion. Therefore, if the frequency of the ambient sound stays constant over time, there is either no object or the object is stationary. If the frequency of the ambient noise decreases, then the object is moving away from the observer, and if the frequency of the ambient noise increases, then the object is moving toward the observer.
- the location awareness engine 500 analyzes the change in frequency of the ambient noise signal over time at block 702 .
- the location awareness engine 500 checks to see if the frequency of the ambient noise changes over time. If the frequency does not change over time, then it is presumed that any object creating noise in the vicinity surrounding the client device 101 is not moving. In this condition, the location awareness engine 500 assesses no risk at block 706 and ends the analysis of the ambient noise signal.
- the location awareness engine 500 checks to see if the frequency is increasing or decreasing at decision block 708 . If the frequency is decreasing, then the location awareness engine 500 determines that the object must be travelling away from the client device 101 and assesses no risk at block 710 . If the frequency is increasing, then the location awareness engine 500 proceeds to calculate the speed of the object moving toward the client device 101 based on the total change in frequency over time, at block 712 . In the particular embodiment illustrated in FIG. 7 , three distinct ranges of speed are utilized to determine three separate levels of risk. While FIG. 7 only illustrates three ranges, more or less ranges are contemplated.
- the three ranges of speed in FIG. 7 dictate that for an object determined to be moving toward the client device 101 at less than 20 mph at decision block 714 a moderate risk level will be assessed at block 716 . If it is determined that the object is moving faster than 20 mph but slower than 40 mph as decision block 718 , then a high risk factor is assessed at block 720 . If the object is determined to be travelling faster than 40 mph at decision block 718 , then a critical risk factor is assessed at block 722 . As an aside, in the embodiment of the disclosure illustrated in FIG. 7 , the speeds of 20 mph and 40 mph were chosen as mere examples, as other speeds are contemplated.
- FIG. 8 illustrates a flow diagram for the location awareness engine 500 (see, FIG. 5 ) determining a risk factor associated with the location of the client device 101 , according to one embodiment of the disclosure.
- the location awareness engine 500 To determine a risk factor associated with the location of the client device 101 , the location awareness engine 500 first receives a location of the client device 101 , at block 810 . Next, the location awareness engine 500 determines specific geographic features in proximity to the location of the client device 101 , at block 820 . Finally, the location awareness engine 500 determines a risk factor based on the location of the client device 101 , at block 830 .
- FIG. 9 illustrates a specific embodiment of the flow diagram of FIG. 8 , according to one embodiment of the disclosure. Specifically, FIG. 9 illustrates a flow diagram where a risk factor based on a current location is determined to be no risk, moderate risk, high risk, or critical risk.
- the location awareness engine checks if the client device 101 is capable of receiving a GPS signal. If the client device 101 is not capable of receiving a GPS signal, then it is assumed that the location information received from the client device 101 will be less accurate. Therefore, at decision block 904 , the location awareness engine 500 analyzes the location information from the client device 101 to determine if it is proximate a road or a railway. If the location is determined to not be proximate a road or railway, then no risk is assessed at block 906 , and if the location is determined to be proximate a road or railway, then a moderate risk is assessed at block 908 .
- the location awareness engine 500 checks if a railway or road is within ten meters of client device 101 , at decision block 910 . If the client device 101 is not within 10 meters of a railway or road, then a no risk level is assessed at block 912 . However, if the client device 101 is within ten meters of a railway or road, then the location awareness engine 500 checks if the client device 101 is within five meters of a railway or road, at decision block 914 . If the client device 101 is not within five meters of a railway or road, then a high risk level is assessed at block 916 . If the client device 101 is within five meters of a railway or road, then a critical risk level is assessed at block 918 .
- FIG. 10 illustrates a flow diagram for the location awareness engine 500 (see, FIG. 5 ) determining a risk factor associated with a number of accidents involving either a human, an animal, and/or a vehicle within the public record and occurring at the current location of the client device 101 , according to one embodiment of the disclosure.
- the location awareness engine 500 retrieves a quantity of public accident records.
- the location awareness engine 500 analyzes the retrieved public records to determine a quantity of accidents at that particular location.
- the location awareness engine 500 determines a risk factor based on the quantity of accidents at that location.
- FIG. 11 illustrates a specific embodiment of the flow diagram of FIG. 10 , according to one embodiment of the disclosure. Specifically, FIG. 11 illustrates a flow diagram where a risk factor based on a public record of accident reports associated with the location of the client device 101 is determined to be no risk, moderate risk, high risk, or critical risk.
- the location awareness engine 500 checks if there is any record of an animal, human, and/or vehicular accident at the current location. If there is no record, then a no risk condition is assessed at block 1104 . If there is a record, then the location awareness engine 500 determines whether there were less than two accidents per year, at decision block 1106 . If there were less than two accidents per year, then a moderate risk is accessed at block 1108 .
- the location awareness engine 500 checks whether there are more than two accidents per year but less than ten, at decision block 1110 . If there are more than two but less than ten accidents per year, then a high risk is assessed at block 1112 . If decision block 1110 determines that there are more than ten accidents per year, then the location awareness engine 500 assesses a critical risk factor, at block 1114 . While two and ten accidents are used to define the risk above, other numbers are contemplated. Furthermore, in other embodiments, additional risk assessments may be made based on the severity and time of occurrence of the accidents.
- FIG. 12 illustrates a flow diagram for a decision on whether to provide an alert at the client device 101 , according to one embodiment of the disclosure.
- the location awareness engine 500 (see, FIG. 5 ) combines the risk factors from the various signals to create a total risk factor, at block 1210 .
- the total risk factor may be a numerical value corresponding to the combination of accessed risk factors.
- the total risk factor may be an average risk factor realized by determining an average of the assessed risk level from all of the received signals.
- the total risk factor may be skewed for certain situations that are known to be dangerous.
- the total risk factor may be automatically assessed as being critical in the event that an object is detected to be moving quickly toward the client device 101 , and the client device 101 is in close proximity to a railway or road, or an object is detected to be quickly moving toward the client device 101 and there is a large accident record at that particular location, or any other combination of events that may be considered highly dangerous.
- the location awareness engine 500 compares the total risk factor to a threshold.
- the threshold represents a confidence level that the user is potentially in danger.
- the location awareness engine 500 compares the total risk factor against the threshold to determine whether the total risk factor is at or above the threshold, and if it is, then issues an alert at block 1240 . If the total risk factor does not exceed the threshold, then no alert is issued, at block 1250 .
- FIG. 13 illustrates a specific embodiment of the flow diagram of FIG. 12 , according to one embodiment of the disclosure.
- the location awareness engine 500 combines the risk factors assessed in FIGS. 7 , 9 , and 11 to obtain a total risk factor.
- the location awareness engine 500 compares the total risk factor to a threshold related to a confidence level that the user is in moderate danger. The results of this comparison are determined at decision block 1306 , which asks whether the total risk factor is less than the threshold for moderate danger. If it is less, then no alert is issued, at block 1308 .
- a subsequent comparison to a threshold related to a confidence level that the user is in high danger is done at block 1310 . If the total risk factor does not exceed this threshold, then a moderate alert is issued at the client device 101 , at block 1314 .
- An example of signal conditions that could result in a moderate alert being issued is an object traveling toward the client device 101 at less than 20 miles per hour is detected, GPS is not active so the calculated location is not accurate, and the public accident record indicates less than two accidents per year.
- An example of a moderate risk alert could be slightly reducing the volume of the client device 101 , giving a single vibration of the client device 101 , and sending a text message to the client device 101 detailing the risk.
- a high alert is issued at the client device 101 , at block 1320 .
- An example of signal conditions that could result in a moderate alert being issued is an object traveling toward the client device 101 between 20 and 40 miles per hour, GPS is enabled on the client device 101 and the GPS coordinates reveal that the client device 101 is within ten meters of a railway or road, and the public records mention a high occurrence of accidents at that particular location, such as more than two accidents per year.
- An example of a high risk alert could be reducing the volume of the client device 101 , causing several vibrations of the client device 101 , and sending a text message to the client device 101 detailing the risk.
- a critical alert is issued at the client device 101 .
- An example of the signal conditions that would result in a critical alert is an object moving toward the client device 101 at over 40 miles per hour, GPS is active and the location reveals that the client device 101 is within five meters of a railway or road, and the public records reveal a high accident occurrence at that particular location, such as more than ten accidents per year.
- An example of a critical risk alert could be silencing the client device 101 , causing several vibrations of the client device 101 , and sending a text message to the client device 101 detailing the risk.
- the users may be provided with an opportunity to control whether programs or features collect personal information (e.g., information about a user's social network, social actions or activities, profession, a user's preferences, a user's current location, or a user's demographics information such as health or age), or to control whether and/or how to retrieve content (i.e., recorded voicemails) from a content server (i.e., a voicemail server), or to control storage location of the personal information such as storing the information locally at the client device as opposed to sending to a server.
- certain data may be anonymized in one or more ways before it is stored or used, so that personally identifiable information is removed.
- a user's identity may be anonymized so that no personally identifiable information can be determined for the user, or a user's geographic location may be generalized where location information is obtained (such as, for example, to a city, ZIP code, or state level), so that a particular location of a user cannot be determined.
- location information such as, for example, to a city, ZIP code, or state level
- the user may have control over how information is collected about him or her and used by the systems discussed herein.
Abstract
Description
- Over time, multimedia content available for use on a client device has increased. Furthermore, client device users can take advantage of the multimedia content available on the client device at almost any time and place. A user utilizing headphones to listen to multimedia content may have a decreased awareness to the surrounding environment.
- One embodiment provides a method for providing an alert at a client device. The method includes receiving an ambient noise signal; determining a frequency of the ambient noise signal; analyzing the frequency of the ambient noise signal to determine a change in frequency of the ambient noise signal over time; determining a first risk factor based on the change in frequency of the ambient noise signal over time; and providing an alert at the client device based on the first risk factor.
- Another embodiment includes a computer readable storage device for providing an alert at a client device. The computer readable storage device having computer executable instructions for performing the steps of receiving an ambient noise signal; determining a frequency of the ambient noise signal; analyzing the frequency of the ambient noise signal to determine a change in frequency of the ambient noise signal over time; determining a first risk factor based on the change in frequency of the ambient noise signal over time; and providing an alert at the client device based on the first risk factor.
- Yet another embodiment includes a mobile alert system configured to provide an alert at a client device. The mobile alert system comprising: a location awareness engine, the location awareness engine configured to receive one or more signals indicative of the surrounding environment of the client device, the signals indicative of a surrounding environment of the client device comprise: an ambient noise signal received from a microphone coupled to the client device; wherein the location awareness engine is configured to determine a total risk factor based on the signals indicative of the surrounding environment of the client device, and cause the client device to provide an alert based on the total risk factor.
-
FIG. 1 is a block diagram illustrating a system for providing an alert to a user at a client device, according to an example embodiment; -
FIG. 2 is a block diagram illustrating components of a client device ofFIG. 1 configured to provide an alert, according to one embodiment; -
FIG. 3 is a block diagram illustrating functional components for a server ofFIG. 1 , according to one embodiment; -
FIG. 4 is a block diagram illustrating the various states of a processor within a server during the process of retrieving public accident records related to a particular location of the client device, according to an example embodiment; -
FIG. 5 is a block diagram illustrating the various states of a processor within a client device during the process of providing an alert at the client device, according to an example embodiment; -
FIG. 6 is a flow diagram for determining a risk factor associated with an ambient noise signal, according to an example embodiment; -
FIG. 7 is a flow diagram illustrating a particular embodiment of the determining a risk factor associated with the ambient noise signal, fromFIG. 6 ; -
FIG. 8 is a flow diagram for determining a risk factor associated with a location of the client device, according to an example embodiment; -
FIG. 9 is a flow diagram illustrating a particular embodiment of the determining a risk factor associated with the location of the client device, fromFIG. 8 ; -
FIG. 10 is a flow diagram for determining a risk factor associated with a public record of accidents at the location of the client device, according to an example embodiment; -
FIG. 11 is a flow diagram illustrating a particular embodiment of the determining a risk factor associated with a public record of accidents at the location of the client device, fromFIG. 10 ; -
FIG. 12 is a flow diagram for determining whether to issue an alert at the client device, according to an example embodiment; and -
FIG. 13 is a flow diagram illustrating a process to determine a type of alert to issue at the client device, according to an example embodiment. - Over time, multimedia content available for use on a client device has increased. Furthermore, client device users can take advantage of the multimedia content available on the client device at almost any time and place. Many types of multimedia content can distract a user's attention, such as audio content, video content, text content, or any type of media that can be experienced on a client device.
- Regarding a user having a decreased awareness to the surrounding environment, one example use case is a user utilizing headphones to listen to multimedia content. In this situation, the user may have a decreased awareness to the surrounding environment because of the proximity of the audio portion of the multimedia in relation to the user's ears. This problem can be further exacerbated by a high volume level of the multimedia content.
- While in some use cases a user's awareness to the surrounding environment while listening to audio content is not an issue, in certain circumstances a user should be aware of the surrounding environment. One such instance is when the user is potentially in danger. For example, if the user is walking in proximity to an area known to have high vehicular traffic such as a railway or road and using headphones to listen to music on a client device, then there is potential for the user to be in danger because the music playing in the headphones reduces the user's ability to listen to the surrounding environment. In this particular situation, the preoccupied user may not be able to hear an approaching vehicle, such as a car or train, and if the user is close enough to the road or train track, the user may be injured.
- Therefore, an alert provided at the client device informs the user of the impending danger. To provide this alert, certain factors pertaining to the surrounding environment of the user may be analyzed. Examples include the ambient noise, the location, and a public record of accidents at the user/client device's location.
-
FIG. 1 is a block diagram of an example communications environment in which various embodiments of the present disclosure may be implemented. In the environment depicted inFIG. 1 , aclient device 101 is connected to aserver 104 through adata network 103. Theclient device 101 may be a mobile device such as a smart phone, a tablet computer, a laptop computer, a watch with a computer operating system, a personal digital assistant (PDA), a video game console, a wearable or embedded digital device(s), or any one of a number of additional devices capable of playing multimedia content and being transported by a user. - The
data network 103 ofFIG. 1 is generally a wireless network. Example networks include but are not limited to Wide Area Networks (WAN) such as a Long Term Evolution (LTE) network, a Global System for Mobile Communications (GSM) network, a Code Division Multiple Access (CDMA) network, Wireless Local Area Networks (WLAN) such as the various IEEE 802.11 standards, or any other kind of data network. Thedata network 103 allows theclient device 101 to communicate with theserver 104. For example,client device 101 may transmit information to theserver 104 and receive information from theserver 104.Data network 103 may include a set of cell towers, as well as a set of base stations and/or mobile switching centers (MSCs). In some embodiments, thedata network 103 may include various cell tower/base station/MSC arrangements. -
Server 104 is connected to theclient device 101 through thedata network 103. The connection enablesserver 104 to both receive data from theclient device 101 and to transmit data to theclient device 101. Theserver 104 comprises processors and memory configured to receive information from one or more client devices, such asclient device 101. In one embodiment, processors and memory located at theserver 104 may be configured to access the Internet. In another embodiment, processors and memory located at theserver 104 may further be configured to aggregate information pertaining to public accident data for animals, humans, and vehicles at specific locations at a database, such asdatabase 105. Theclient device 101 is capable of sending a query to theserver 104 regarding accident reports in the public record at a specific location through thedata network 103. In the embodiment whereserver 104 accesses the Internet, theserver 104 receives a location from theclient device 101 and queries the Internet for accident reports at that specific location and provides those reports to theclient device 101 through thedata network 103. In the embodiment wheredatabase 105 includes an aggregation of public accident reports at specific locations, theclient device 101 sends location information to theserver 104, andserver 104accesses database 105 to collect the accident reports and then relays the accident reports to theclient device 101 through thedata network 103. - In certain embodiments of the disclosure, the
client device 101 receives location information from a data network such as Global Positioning System (GPS) 106. In this embodiment, theclient device 101 receives its location from theGPS network 106 in terms of GPS coordinates, which can be used to determine a precise location of theclient device 101. - In other embodiments, where the
client device 101 is unable to communicate with theGPS network 106, or the GPS functionality on theclient device 101 is turned off, theclient device 101 attempts to ascertain its location based on its connection todata network 103. For example, ifdata network 103 is a WLAN system or a WAN system, then theclient device 101 can either approximate its location based on a known physical location of the WLAN or WAN access point to which theclient device 101 is currently attached, or theclient device 101 can triangulate its position based on a measured signal strength received from at least two access points. - Once a location of the
client device 101 is ascertained, theclient device 101 queries the Internet via thedata network 103, or queries a map stored on a local memory device of theclient device 101 for an approximation as to the proximity of theclient device 101 to a potential hazard such as a road or railway. An alert is then output from theclient device 101 to warn the user of theclient device 101 of the potential hazard. - Turning now to
FIG. 2 , a block diagram of basic functional components for theclient device 101 ofFIG. 1 , according to one aspect of the disclosure, is illustrated. In general, many other embodiments of theclient device 101 may be used. In the illustrated embodiment ofFIG. 2 , theclient device 101 includes one ormore processors 201,memory 202, anetwork interface 203, one ormore storage devices 204,power source 205, one ormore output devices 260, and one ormore input devices 280. Theclient device 101 also includes anoperating system 208. Each of the components including theprocessor 201,memory 202,network interface 203,storage device 204,power source 205,output device 260,input device 280, and theoperating system 208 is interconnected physically, communicatively, and/or operatively for inter-component communications. - As illustrated,
processor 201 is configured to implement functionality and/or process instructions for execution withinclient device 101. For example,processor 201 executes instructions stored inmemory 202 or instructions stored on astorage device 204.Memory 202, which may be a non-transient, computer-readable storage medium, is configured to store information withinclient device 101 during operation. In some embodiments,memory 202 includes a temporary memory, an area for information not to be maintained when theclient device 101 is turned off. Examples of such temporary memory include volatile memories such as random access memories (RAM), dynamic random access memories (DRAM), and static random access memories (SRAM).Memory 202 also maintains program instructions for execution by theprocessor 201. -
Storage device 204 also includes one or more non-transient computer-readable storage media. Thestorage device 204 is generally configured to store larger amounts of information thanmemory 202. Thestorage device 204 may further be configured for long-term storage of information. In some examples, thestorage device 204 includes non-volatile storage elements. Non-limiting examples of non-volatile storage elements include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. - The
client device 101 usesnetwork interface 203 to communicate with external devices via one or more networks, such as thedata network 103 ofFIG. 1 , one or more wireless networks, and other types of networks through which a communication with theclient device 101 may be established.Network interface 203 may be a network interface card, such as an Ethernet card, an optical transceiver, a radio frequency transceiver, or any other type of device that can send and receive information. Other non-limiting examples of network interfaces include Bluetooth®, 3G and WiFi® radios in client computing devices, and USB. - The
client device 101 includes one ormore input devices 280.Input devices 280 are configured to receive input from a user or a surrounding environment of the user through tactile, audio, and/or video feedback. Non-limiting examples ofinput device 280 include a presence-sensitive screen, a mouse, a keyboard, a voice responsive system, video camera, microphone or any other type of input device. In some examples, a presence-sensitive screen includes a touch-sensitive screen. - One or
more output devices 260 are also included inclient device 101.Output devices 260 are configured to provide output to a user using tactile, audio, and/or video stimuli.Output device 260 may include a display screen (part of the presence-sensitive screen), a sound card, a video graphics adapter card, or any other type of device for converting a signal into an appropriate form understandable to humans or machines. Additional examples ofoutput device 260 include a speaker such as headphones, a cathode ray tube (CRT) monitor, a liquid crystal display (LCD), or any other type of device that can generate intelligible output to a user. - The
client device 101 includes one ormore power sources 205 to provide power to the device. Non-limiting examples ofpower source 205 include single-use power sources, rechargeable power sources, and/or power sources developed from nickel-cadmium, lithium-ion, or other suitable material. - The
client device 101 includes anoperating system 208. Theoperating system 208 controls operations of the components of theclient device 101. For example, theoperating system 208 facilitates the interaction of the processor(s) 201,memory 202,network interface 203, storage device(s) 204,input device 280,output device 260, andpower source 205. - In certain embodiments of the disclosure, the
client device 101 further includes a location awareness engine 240, as illustrated inFIG. 2 . The location awareness engine 240 receives one or more signals indicative of the surrounding environment of theclient device 101. For instance, the signals may include an ambient noise signal, a location of theclient device 101, and/or a public record of accidents that occurred at the location of theclient device 101, or any other signals capable of providing information regarding the surrounding environment of theclient device 101. Utilizing at least one of the signals, the location awareness engine 240 is capable of determining whether or not to alert the user as to an upcoming danger. - Moving to
FIG. 3 , a block diagram of basic functional components for aserver 104 is depicted, according to one aspect of the disclosure. Specifically,server 104 is configured to retrieve public record data pertaining to human, animal, and/or vehicular accidents at a particular location through apublic record engine 305. In some examples, vehicular accidents may include accidents involving automobiles, busses, trains, etc. Additionally, in certain embodiments of the disclosure, alocation awareness engine 306 may reside on the server and be configured to receive signals corresponding to the surrounding environment of theclient device 101 and, in certain situations, command theclient device 101 to provide an alert. - More generally, beyond the
public record engine 305 and thelocation awareness engine 306, theserver 104 includes one ormore processors 301,memory 302,network interface 303, and one ormore storage devices 304. In some embodiments, each of the components including the processor(s) 301,memory 302,network interface 303,storage device 304,public record engine 305 andlocation awareness engine 306 are interconnected physically, communicatively, and/or operatively for inter-component communications. - As illustrated,
processors 301 are configured to implement functionality and/or process instructions for execution withinserver 104. For example,processors 301 execute instructions stored inmemory 302 or instructions stored onstorage devices 304.Memory 302, which may be a non-transient, computer-readable storage medium, is configured to store information withinserver 104 during operation. In some embodiments,memory 302 includes a temporary memory, i.e. an area for information not to be maintained when theserver 104 is turned off. Examples of such temporary memory include volatile memories such as random access memories (RAM), dynamic random access memories (DRAM), and static random access memories (SRAM).Memory 302 also maintains program instructions for execution by theprocessors 301. -
Storage devices 304 also include one or more non-transient computer-readable storage media.Storage devices 304 are generally configured to store larger amounts of information thanmemory 302.Storage devices 304 may further be configured for long-term storage of information. In some examples,storage devices 304 include non-volatile storage elements. Non-limiting examples of non-volatile storage elements include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. - The
server 104 usesnetwork interface 303 to communicate with external devices via one or more networks, such as thedata network 103 ofFIG. 1 . Such networks may include one or more wireless networks, wired networks, fiber optics networks, and other types of networks through which communication between theserver 104 and an external device may be established.Network interface 303 may be a network interface card, such as an Ethernet card, an optical transceiver, a radio frequency transceiver, or any other type of device that can send and receive information. - The
public record engine 305 includes program instructions and/or data that are executable by theserver 104. The program instructions and data included in thepublic record engine 305 includes instructions to receive location information from a client device, such as theclient device 101, and to utilize that location to querymemory 302, and/or at an external database, such asdatabase 105, and/or the internet for public records pertaining to human and animal accidents at that particular location. The program instructions and data further include instructions for relaying, back to theclient device 101, a total quantity of such accidents at the particular location of theclient device 101. -
FIG. 4 is a block diagram of thePublic Record Engine 305, according to one embodiment of the disclosure. The block diagram represents various states of a processor within a server during the process of retrieving a public record of human, animal, and/or vehicular accident data related to a particular location of theclient device 101 fromFIG. 1 , according to a particular embodiment of the disclosure. At 400, the processor(s) 301 ofserver 104 are configured as a receiving engine. The receivingengine 400 is configured to receive a location of theclient device 101 either in terms of a GPS location or a location determined based on specific connection parameters from one or more WLAN or WAN access points. - At 410, the processor(s) 301 of
server 104 are configured as a requesting engine. The requestingengine 410 queries the Internet or a database, such asdatabase 105, for information associated with the request received at 400. The information associated with the request may include an accident report pertaining to a human, animal, and/or vehicular accident that occurred at the geographic location received by the receivingengine 400. The accident report may further contain data or information related to a number of accidents, severity of an accident, damage to property, a timestamp associated with an accident, or a kind of vehicle involved in the accident. - At 420, the processor(s) 301 of
server 104 are configured as an accumulator. At 420, the accumulator is configured to aggregate the accident reports received as a result of the query from the requestingengine 410. The aggregation of accident reports is then accumulated into a collection of accident reports. - At 430, the processor(s) 301 of
server 104 are configured as a transmitter. At 430, the transmitter is configured to transmit the collection of accident reports. Specifically, thetransmitter 430 transmits the collection of accident reports to the location awareness engine 240 (see,FIG. 2 ) and/or the location awareness engine 306 (see,FIG. 3 ), depending on the specific embodiment of the disclosure. -
FIG. 5 is a block diagram of the various states of thelocation awareness engine 500, according to one embodiment of the disclosure. In certain embodiments, thelocation awareness engine 500 may take the form of the location awareness engine 240 fromFIG. 2 executing on aprocessor 201 of theclient device 101, or thelocation awareness engine 306 fromFIG. 3 executing on aprocessor 301 within aserver 104. In either embodiment, thelocation awareness engine 500 ofFIG. 5 takes on the various states illustrated inFIG. 5 during the process of determining a risk of danger due to the surrounding environment of theclient device 101, and providing an alert if the risk warrants an alert. At 500, the processor(s) 201/301 ofclient device 101 orserver 104 are configured as a receivingengine 510. At 510, the receiving engine is configured to receive one or more signals relaying information regarding a current surrounding environment of theclient device 101. For instance, these signals may be an ambient noise in the environment, a location of theclient device 101, and/or a public record of accident information at the location of theclient device 101. - At 520, the processor(s) 201 of
client device 101 or the processor(s) 301 ofserver 104 are configured as a calculator. At 520, the calculator analyzes the signal and determines a risk factor for each signal received by the receivingengine 510. If more than one risk factor was calculated, then thecalculator 520 combines the calculated risk factors for each received signal to obtain a total risk factor. If only one risk factor was calculated, then the total risk factor is just the one calculated risk factor. If risk factors associated with different signals are calculated at different times, then the total risk factor is determined based on the calculated risk factors available and may be supplemented as additional risk factors are calculated. - At 530, the processor(s) 201 of
client device 101 or the processor(s) 301 ofserver 104 are configured as a comparator. At 530, the comparator compares the total risk factor to a threshold value related to a confidence level that the user is in danger. In certain embodiments of the disclosure, more than one threshold exists in order to reflect the varying confidence level based on the signals received at the receivingengine 510. In some embodiments, one or more thresholds are configurable. - At 540, the processor(s) 201 of
client device 101 or the processor(s) 301 ofserver 104 are configured as an alerting engine. At 540, the alerting engine determines an appropriate alert to provide atclient device 101 based on the results of the comparison done at thecomparator 530. For instance, if the total risk factor exceeds a first threshold, then there is a high enough confidence level that the user is potentially in danger and an alert is issued atclient device 101 in order to provide warning to the user. Further, in embodiments of the disclosure with more than one threshold, more than one level of alert may be issued. For instance, the alerts may increase in intensity based on thecomparator 530 indicating that the total risk factor has exceeded a higher threshold. -
FIGS. 6-13 illustrate flow diagrams detailing a particular embodiment of operation of thelocation awareness engine 500 ofFIG. 5 .FIG. 6 illustrates a flow diagram for determining a risk factor associated with a signal related to the ambient noise surrounding theclient device 101, according to one embodiment of the disclosure. In this flow diagram, atblock 610, alocation awareness engine 500 receives an ambient noise signal fromclient device 101. The ambient noise signal is originally received at a microphone configured as an input device 280 (see,FIG. 2 ) and passed to thelocation awareness engine 500 either executing as a local location awareness engine 240 at theclient device 101 or as a remote location awareness engine 340 executing at theserver 104. In either configuration, thelocation awareness engine 500 calculates a change in frequency over time of the ambient noise signal, atblock 620. Finally, thelocation awareness engine 500 determines a risk factor associated with the change in frequency, atblock 630. -
FIG. 7 provides an embodiment of the disclosure regarding how the risk factor for the ambient noise signal is determined inblock 630 from the flow diagram ofFIG. 6 . The embodiment of the disclosure illustrated inFIG. 7 utilizes the Doppler Effect for sound waves emitted from an object in motion. Therefore, if the frequency of the ambient sound stays constant over time, there is either no object or the object is stationary. If the frequency of the ambient noise decreases, then the object is moving away from the observer, and if the frequency of the ambient noise increases, then the object is moving toward the observer. - Utilizing the Doppler Effect, the
location awareness engine 500, in the particular embodiment ofFIG. 7 , analyzes the change in frequency of the ambient noise signal over time atblock 702. Atdecision block 704, thelocation awareness engine 500 checks to see if the frequency of the ambient noise changes over time. If the frequency does not change over time, then it is presumed that any object creating noise in the vicinity surrounding theclient device 101 is not moving. In this condition, thelocation awareness engine 500 assesses no risk atblock 706 and ends the analysis of the ambient noise signal. - If there is a change in frequency, then the
location awareness engine 500 checks to see if the frequency is increasing or decreasing atdecision block 708. If the frequency is decreasing, then thelocation awareness engine 500 determines that the object must be travelling away from theclient device 101 and assesses no risk atblock 710. If the frequency is increasing, then thelocation awareness engine 500 proceeds to calculate the speed of the object moving toward theclient device 101 based on the total change in frequency over time, atblock 712. In the particular embodiment illustrated inFIG. 7 , three distinct ranges of speed are utilized to determine three separate levels of risk. WhileFIG. 7 only illustrates three ranges, more or less ranges are contemplated. - Accordingly, the three ranges of speed in
FIG. 7 dictate that for an object determined to be moving toward theclient device 101 at less than 20 mph at decision block 714 a moderate risk level will be assessed atblock 716. If it is determined that the object is moving faster than 20 mph but slower than 40 mph asdecision block 718, then a high risk factor is assessed atblock 720. If the object is determined to be travelling faster than 40 mph atdecision block 718, then a critical risk factor is assessed atblock 722. As an aside, in the embodiment of the disclosure illustrated inFIG. 7 , the speeds of 20 mph and 40 mph were chosen as mere examples, as other speeds are contemplated. -
FIG. 8 illustrates a flow diagram for the location awareness engine 500 (see,FIG. 5 ) determining a risk factor associated with the location of theclient device 101, according to one embodiment of the disclosure. To determine a risk factor associated with the location of theclient device 101, thelocation awareness engine 500 first receives a location of theclient device 101, atblock 810. Next, thelocation awareness engine 500 determines specific geographic features in proximity to the location of theclient device 101, atblock 820. Finally, thelocation awareness engine 500 determines a risk factor based on the location of theclient device 101, atblock 830. -
FIG. 9 illustrates a specific embodiment of the flow diagram ofFIG. 8 , according to one embodiment of the disclosure. Specifically,FIG. 9 illustrates a flow diagram where a risk factor based on a current location is determined to be no risk, moderate risk, high risk, or critical risk. Atblock 902, the location awareness engine checks if theclient device 101 is capable of receiving a GPS signal. If theclient device 101 is not capable of receiving a GPS signal, then it is assumed that the location information received from theclient device 101 will be less accurate. Therefore, atdecision block 904, thelocation awareness engine 500 analyzes the location information from theclient device 101 to determine if it is proximate a road or a railway. If the location is determined to not be proximate a road or railway, then no risk is assessed atblock 906, and if the location is determined to be proximate a road or railway, then a moderate risk is assessed atblock 908. - Returning to decision block 902, if the
client device 101 is capable of receiving a GPS signal, then thelocation awareness engine 500 checks if a railway or road is within ten meters ofclient device 101, atdecision block 910. If theclient device 101 is not within 10 meters of a railway or road, then a no risk level is assessed atblock 912. However, if theclient device 101 is within ten meters of a railway or road, then thelocation awareness engine 500 checks if theclient device 101 is within five meters of a railway or road, atdecision block 914. If theclient device 101 is not within five meters of a railway or road, then a high risk level is assessed atblock 916. If theclient device 101 is within five meters of a railway or road, then a critical risk level is assessed atblock 918. -
FIG. 10 illustrates a flow diagram for the location awareness engine 500 (see,FIG. 5 ) determining a risk factor associated with a number of accidents involving either a human, an animal, and/or a vehicle within the public record and occurring at the current location of theclient device 101, according to one embodiment of the disclosure. Atblock 1010, thelocation awareness engine 500 retrieves a quantity of public accident records. Atblock 1020, thelocation awareness engine 500 analyzes the retrieved public records to determine a quantity of accidents at that particular location. Atblock 1030, thelocation awareness engine 500 determines a risk factor based on the quantity of accidents at that location. -
FIG. 11 illustrates a specific embodiment of the flow diagram ofFIG. 10 , according to one embodiment of the disclosure. Specifically,FIG. 11 illustrates a flow diagram where a risk factor based on a public record of accident reports associated with the location of theclient device 101 is determined to be no risk, moderate risk, high risk, or critical risk. Atblock 1102, thelocation awareness engine 500 checks if there is any record of an animal, human, and/or vehicular accident at the current location. If there is no record, then a no risk condition is assessed atblock 1104. If there is a record, then thelocation awareness engine 500 determines whether there were less than two accidents per year, atdecision block 1106. If there were less than two accidents per year, then a moderate risk is accessed atblock 1108. If the record indicates more than two per year, then thelocation awareness engine 500 checks whether there are more than two accidents per year but less than ten, atdecision block 1110. If there are more than two but less than ten accidents per year, then a high risk is assessed atblock 1112. Ifdecision block 1110 determines that there are more than ten accidents per year, then thelocation awareness engine 500 assesses a critical risk factor, atblock 1114. While two and ten accidents are used to define the risk above, other numbers are contemplated. Furthermore, in other embodiments, additional risk assessments may be made based on the severity and time of occurrence of the accidents. -
FIG. 12 illustrates a flow diagram for a decision on whether to provide an alert at theclient device 101, according to one embodiment of the disclosure. After the one or more risk factors for the various signals described above are determined, the location awareness engine 500 (see,FIG. 5 ) combines the risk factors from the various signals to create a total risk factor, atblock 1210. In certain embodiments of the disclosure, the total risk factor may be a numerical value corresponding to the combination of accessed risk factors. In other embodiments, the total risk factor may be an average risk factor realized by determining an average of the assessed risk level from all of the received signals. In some embodiments, the total risk factor may be skewed for certain situations that are known to be dangerous. For example, the total risk factor may be automatically assessed as being critical in the event that an object is detected to be moving quickly toward theclient device 101, and theclient device 101 is in close proximity to a railway or road, or an object is detected to be quickly moving toward theclient device 101 and there is a large accident record at that particular location, or any other combination of events that may be considered highly dangerous. - Returning now to the flow diagram in
FIG. 12 , atblock 1220, thelocation awareness engine 500 compares the total risk factor to a threshold. The threshold represents a confidence level that the user is potentially in danger. Atdecision block 1230, thelocation awareness engine 500 compares the total risk factor against the threshold to determine whether the total risk factor is at or above the threshold, and if it is, then issues an alert atblock 1240. If the total risk factor does not exceed the threshold, then no alert is issued, atblock 1250. -
FIG. 13 illustrates a specific embodiment of the flow diagram ofFIG. 12 , according to one embodiment of the disclosure. Atblock 1302, thelocation awareness engine 500 combines the risk factors assessed inFIGS. 7 , 9, and 11 to obtain a total risk factor. Atblock 1304, thelocation awareness engine 500 compares the total risk factor to a threshold related to a confidence level that the user is in moderate danger. The results of this comparison are determined atdecision block 1306, which asks whether the total risk factor is less than the threshold for moderate danger. If it is less, then no alert is issued, atblock 1308. - However, if the total risk factor is higher than the threshold for moderate danger, then a subsequent comparison to a threshold related to a confidence level that the user is in high danger is done at
block 1310. If the total risk factor does not exceed this threshold, then a moderate alert is issued at theclient device 101, atblock 1314. An example of signal conditions that could result in a moderate alert being issued is an object traveling toward theclient device 101 at less than 20 miles per hour is detected, GPS is not active so the calculated location is not accurate, and the public accident record indicates less than two accidents per year. An example of a moderate risk alert could be slightly reducing the volume of theclient device 101, giving a single vibration of theclient device 101, and sending a text message to theclient device 101 detailing the risk. - If the comparison done at
decision block 1312 reveals that the total risk factor is higher than the threshold that the user is in high danger, then an additional comparison to a threshold related to a confidence level that the user is in critical danger is done atblock 1316. If the total risk factor does not exceed this threshold, as determined atdecision block 1318, then a high alert is issued at theclient device 101, atblock 1320. An example of signal conditions that could result in a moderate alert being issued is an object traveling toward theclient device 101 between 20 and 40 miles per hour, GPS is enabled on theclient device 101 and the GPS coordinates reveal that theclient device 101 is within ten meters of a railway or road, and the public records mention a high occurrence of accidents at that particular location, such as more than two accidents per year. An example of a high risk alert could be reducing the volume of theclient device 101, causing several vibrations of theclient device 101, and sending a text message to theclient device 101 detailing the risk. - However, if the comparison shows that the total risk factor is above the threshold related to a confidence level that the user is in critical danger, then a critical alert is issued at the
client device 101. An example of the signal conditions that would result in a critical alert is an object moving toward theclient device 101 at over 40 miles per hour, GPS is active and the location reveals that theclient device 101 is within five meters of a railway or road, and the public records reveal a high accident occurrence at that particular location, such as more than ten accidents per year. An example of a critical risk alert could be silencing theclient device 101, causing several vibrations of theclient device 101, and sending a text message to theclient device 101 detailing the risk. - For situations in which the systems discussed here collect personal information about users, or may make use of personal information, the users may be provided with an opportunity to control whether programs or features collect personal information (e.g., information about a user's social network, social actions or activities, profession, a user's preferences, a user's current location, or a user's demographics information such as health or age), or to control whether and/or how to retrieve content (i.e., recorded voicemails) from a content server (i.e., a voicemail server), or to control storage location of the personal information such as storing the information locally at the client device as opposed to sending to a server. In addition, certain data may be anonymized in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, a user's identity may be anonymized so that no personally identifiable information can be determined for the user, or a user's geographic location may be generalized where location information is obtained (such as, for example, to a city, ZIP code, or state level), so that a particular location of a user cannot be determined. Thus, the user may have control over how information is collected about him or her and used by the systems discussed herein.
- The use of the terms “a” and “an” and “the” and “at least one” and similar referents in the context of describing the disclosed subject matter (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The use of the term “at least one” followed by a list of one or more items (for example, “at least one of A and B”) is to be construed to mean one item selected from the listed items (A or B) or any combination of two or more of the listed items (A and B), unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or example language (e.g., “such as”) provided herein, is intended merely to better illuminate the disclosed subject matter and does not pose a limitation on the scope of the disclosure unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the invention.
- Variations of the embodiments disclosed herein may become apparent to those of ordinary skill in the art upon reading the foregoing description. The inventors expect skilled artisans to employ such variations as appropriate, and the inventors intend for the invention to be practiced otherwise than as specifically described herein. Accordingly, the invention includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the invention unless otherwise indicated herein or otherwise clearly contradicted by context.
Claims (27)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/834,518 US8842005B1 (en) | 2013-03-15 | 2013-03-15 | Alerts based on danger in the vicinity of a client device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/834,518 US8842005B1 (en) | 2013-03-15 | 2013-03-15 | Alerts based on danger in the vicinity of a client device |
Publications (2)
Publication Number | Publication Date |
---|---|
US20140266701A1 true US20140266701A1 (en) | 2014-09-18 |
US8842005B1 US8842005B1 (en) | 2014-09-23 |
Family
ID=51525066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/834,518 Active 2033-04-04 US8842005B1 (en) | 2013-03-15 | 2013-03-15 | Alerts based on danger in the vicinity of a client device |
Country Status (1)
Country | Link |
---|---|
US (1) | US8842005B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160234378A1 (en) * | 2013-11-18 | 2016-08-11 | Yulong Computer Telecommunication Scientific (Shenzhen) Co., Ltd. | Terminal and terminal management method |
CN109743439A (en) * | 2018-12-07 | 2019-05-10 | 黑匣子(杭州)车联网科技有限公司 | A kind of method of net about vehicle emergency relief automatic alarm in danger |
US11240636B1 (en) * | 2020-07-28 | 2022-02-01 | Bank Of America Corporation | Digital passport with verified data provenance |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9761137B2 (en) * | 2015-09-09 | 2017-09-12 | Here Global B.V. | Method and apparatus for providing locally relevant rerouting information |
US10360771B2 (en) | 2016-12-14 | 2019-07-23 | International Business Machines Corporation | Alert processing |
US11367355B2 (en) | 2020-03-04 | 2022-06-21 | International Business Machines Corporation | Contextual event awareness via risk analysis and notification delivery system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040155770A1 (en) * | 2002-08-22 | 2004-08-12 | Nelson Carl V. | Audible alarm relay system |
US20080175399A1 (en) * | 2007-01-23 | 2008-07-24 | Samsung Electronics Co.; Ltd | Apparatus and method for transmitting/receiving voice signal through headset |
US7740130B2 (en) * | 2006-05-31 | 2010-06-22 | Veyance Technologies, Inc. | Digital processor sensor loop detector and method |
US8223980B2 (en) * | 2009-03-27 | 2012-07-17 | Dooling Robert J | Method for modeling effects of anthropogenic noise on an animal's perception of other sounds |
US8345885B2 (en) * | 2009-01-16 | 2013-01-01 | Oki Electric Industry Co., Ltd. | Sound signal adjustment apparatus and method, and telephone |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE1000522A4 (en) | 1987-05-08 | 1989-01-17 | Staar Sa | Method and device warning affecting the transmission of information from a sound headphones source destination based on elements outside. |
JPH11327588A (en) | 1998-05-08 | 1999-11-26 | Taguchi Tsushin Kogyo Kk | Alarm device for converting sound alarm into another transmission medium |
US7181229B2 (en) | 2001-09-25 | 2007-02-20 | Yash Pal Singh | System which automatically disables or switches off a cellphone |
US8212661B2 (en) | 2008-05-22 | 2012-07-03 | Gary Stephen Shuster | Alert signal control using receiver velocity |
-
2013
- 2013-03-15 US US13/834,518 patent/US8842005B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040155770A1 (en) * | 2002-08-22 | 2004-08-12 | Nelson Carl V. | Audible alarm relay system |
US7740130B2 (en) * | 2006-05-31 | 2010-06-22 | Veyance Technologies, Inc. | Digital processor sensor loop detector and method |
US7942258B2 (en) * | 2006-05-31 | 2011-05-17 | Veyance Technologies, Inc. | Digital processor sensor loop detector and method |
US20080175399A1 (en) * | 2007-01-23 | 2008-07-24 | Samsung Electronics Co.; Ltd | Apparatus and method for transmitting/receiving voice signal through headset |
US8345885B2 (en) * | 2009-01-16 | 2013-01-01 | Oki Electric Industry Co., Ltd. | Sound signal adjustment apparatus and method, and telephone |
US8223980B2 (en) * | 2009-03-27 | 2012-07-17 | Dooling Robert J | Method for modeling effects of anthropogenic noise on an animal's perception of other sounds |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160234378A1 (en) * | 2013-11-18 | 2016-08-11 | Yulong Computer Telecommunication Scientific (Shenzhen) Co., Ltd. | Terminal and terminal management method |
CN109743439A (en) * | 2018-12-07 | 2019-05-10 | 黑匣子(杭州)车联网科技有限公司 | A kind of method of net about vehicle emergency relief automatic alarm in danger |
US11240636B1 (en) * | 2020-07-28 | 2022-02-01 | Bank Of America Corporation | Digital passport with verified data provenance |
US20220109960A1 (en) * | 2020-07-28 | 2022-04-07 | Bank Of America Corporation | Digital passport with verified data provenance |
US11553311B2 (en) * | 2020-07-28 | 2023-01-10 | Bank Of America Corporation | Digital passport with verified data provenance |
Also Published As
Publication number | Publication date |
---|---|
US8842005B1 (en) | 2014-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8842005B1 (en) | Alerts based on danger in the vicinity of a client device | |
TWI670191B (en) | Driving behavior determination method, device, equipment and storage medium | |
US8179321B2 (en) | Context sensitive mobile device utilization tracking | |
TW201905866A (en) | Location positioning method, device and system, and computer readable storage medium | |
US9576481B2 (en) | Method and system for intelligent traffic jam detection | |
US20110294520A1 (en) | System and Method for Preventing Cell Phone Use While Driving | |
US20160343256A1 (en) | Wireless beacon collision warning system | |
US20060242009A1 (en) | System and method of providing advertisements to portable communication devices | |
US20120032806A1 (en) | Detecting apparatus and method, and mobile terminal apparatus having detecting apparatus | |
US20060242010A1 (en) | System and method of providing advertisements to Wi-Fi devices | |
RU2673300C2 (en) | Vehicle system (versions) and method for status update in social networks | |
US10768000B2 (en) | Content presentation based on travel patterns | |
US20060240808A1 (en) | System and method of providing advertisements to cellular devices | |
US20210264789A1 (en) | Method of determining vehicle accident, server device for performing the same, and vehicle electronic device and operation method thereof | |
US20160061992A1 (en) | Automated global weather notification system | |
JPWO2014157359A1 (en) | MAP GENERATION SYSTEM, MAP GENERATION DEVICE, MAP GENERATION METHOD, AND PROGRAM | |
JP6323124B2 (en) | Notification program, condition setting program, notification method, in-vehicle device, and information processing device | |
CN111885500A (en) | Road condition reminding method and device based on narrowband Internet of things and storage medium | |
US20240089325A1 (en) | Using contextual information for vehicle trip loss risk assessment scoring | |
CN111695956A (en) | Intelligent service management method and system for automobile leasing platform and electronic equipment | |
US8447516B1 (en) | Efficient proximity detection | |
US11609558B2 (en) | Processing system for dynamic event verification and sensor selection | |
JP2017037359A (en) | On-vehicle device, reminder system and computer program | |
US11361379B1 (en) | Transmitting driving data to an insurance platform | |
CN105702067B (en) | Traffic control device detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MITTAL, SANJEEV KUMAR;REEL/FRAME:030012/0738 Effective date: 20130315 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044277/0001 Effective date: 20170929 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |