System and methods for monitoring driver distraction

The present disclosure is related to a method that includes determining that a user of a computer-based device is interacting with a screen of the computer-based device while driving a vehicle. The screen is configured to display a user interface including one or more selectable displayed application pages. Each of the one or more selectable displayed application pages displays one or more visual elements. The method also includes displaying a timer, as a persistent overlay, on at least a portion of each of the one or more selectable displayed application pages. The timer is indicative of a time duration of the user's interaction with the screen while driving. Further, at least one of the visual elements, overlaid by the timer, remains viewable and accessible by the user of the computer-based device.

BACKGROUND

The disclosed subject matter relates to monitoring a user's distraction while driving, and more specifically to systems and methods for monitoring and controlling a user's interaction with a computer-based device while driving a vehicle.

Distracted driving may include any activity that can divert a person's attention away from the primary task of driving. Such distractions may endanger the safety of the driver, the passenger(s), and the bystander(s) by increasing the chances of a motor vehicle collision. Types of distraction include visual distraction, where the driver takes his/her eyes off the road; manual distraction, where the driver takes his/her hands off the steering wheel; and cognitive distraction, where the driver takes his/her mind off from driving. The distractions may be caused by the use of a mobile phone or any other computer-based device while driving. The severity of the distraction may depend on both the level and duration of these distractions, and may be compounded by external factors, such as speed and location of the vehicle and objects in the path of the vehicle.

Therefore, use of computer-based devices (e.g., cell phones) while driving can be distracting and dangerous, even if done occasionally. Unfortunately, despite such dangers, some drivers still use mobile devices while driving.

SUMMARY

Some related arts provide various systems and methods that restrict cell phone usage while driving. Some of these methods often require a separate hardware component to be installed on the vehicle. Yet other methods require a mobile phone to monitor vehicle speed via Global Positioning Satellite (GPS) information and automatically shut down the phone when the vehicle is traveling at a high speed. However, such methods are unable to distinguish between a driver and passenger. Moreover, such methods may completely shut down the phone and prevent the user from accessing some basic applications, such as navigation.

It may therefore be beneficial to provide systems and methods for monitoring and controlling a user's interaction with a computer-based device. Specifically, it may be beneficial to provide a timer on a screen of the computer-based device to indicate a duration of a user's interaction with the computer-based device while driving. The timer may be incremented in real-time.

It may further be beneficial to provide systems and methods which monitor a user's interaction with a screen of a computer-based device, while driving, without preventing the user from accessing some basic applications or services of the computer-based device, such as navigation, emergency calling and/or emergency texting.

It may also be beneficial to notify a user using visual and audio alerts if the user's duration of interaction with the computer-based device, while driving, exceeds a predetermined threshold.

Some embodiments are directed to a method that includes determining, by using one or more sensors, that a user of a computer-based device is interacting with a screen of the computer-based device while driving a vehicle. In the instant invention, ‘interacting with the screen” can include physical touching of the screen or facial recognition by the computer based device that the user is interacting with the screen. The screen is configured to display a user interface including one or more selectable displayed application pages. Each of the one or more selectable displayed application pages displays one or more visual elements. The method also includes displaying a timer, as a persistent overlay, on at least a portion of each of the one or more selectable displayed application pages. The timer is indicative of a time duration of the user's interaction with the screen while driving. Further, at least one of the visual elements, overlaid by the timer, remains viewable and accessible by the user of the computer-based device.

Some other embodiments are directed to a method that includes providing an application for installation on a computer-based device including a screen and a processor. The screen is configured to display a user interface including one or more selectable displayed application pages. Each of the one or more selectable pages displays one or more visual elements. The application includes computer-readable instructions, which upon execution, cause the processor to determine, by using one or more sensors, that a user of the computer-based device is interacting with the screen of the computer-based device while driving a vehicle. The computer-readable instructions further cause the processor to display a timer, as a persistent overlay, on at least a portion of each of the one or more selectable displayed applications on the screen. The timer is indicative of a time duration of the user's interaction with the screen while driving. Further, at least one of the visual elements, overlaid by the timer, remains viewable and accessible by the user of the computer-based device.

Yet other embodiments are directed to a computer-based device including a screen configured to display a user interface including one or more selectable displayed applications on the screen. Each of the one or more selectable displayed applications on the screen displays one or more visual elements. The computer-based device also includes a memory that stores computer-readable instructions. The computer-based device further includes a processor configured to execute the computer-readable instructions to determine, by using one or more sensors, that a user of the computer-based device is interacting with the screen of the computer-based device while driving a vehicle. The processor is further configured to display a timer, as a persistent overlay, on at least a portion of each of the one or more selectable displayed applications on the screen. The timer is indicative of a time duration of the user's interaction with the screen while driving. Further, at least one of the visual elements, overlaid by the timer, remains viewable and accessible by the user of the computer-based device.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

In present disclosure, the term “persistent overlay” may refer to visual information overlaid on a user interface of a computer-based device. The persistent overlay may allow at least some of the presented visual information overlaid by the persistent overlay to remain viewable and accessible by a user. The persistent overlay can be presented at a subsequently presented displayed applications page on the screen of the user interface that allows at least some of the overlaid visual information to remain viewable and accessible.

In some embodiments, the persistent overlay may be rendered translucent, or semi-transparent, so as not to completely obscure the overlaid visual information. In this way, the persistent overlay can remain viewable and yet unobtrusive.

The term “selectable displayed application pages on the screen” may refer to pages of a user interface that can be selected by a user for display on a screen of a computer-based device. For example, the user may perform a swiping action on the screen of the computer-based device to navigate between the selectable displayed applications pages on the screen.

The present disclosure is related to systems and methods for monitoring a user's interaction with a computer-based device while driving a vehicle. The computer-based device may include, but is not limited to, a smartphone, a cell phone, a tablet, a Personal Computer (PC), a gaming device, a portable media player, an automobile computer system, an Internet enabled Television (TV), and so forth.

In some embodiments, the computer-based device includes a screen, a memory and a processor. In an exemplary embodiment, the screen may be a touchscreen display. The touchscreen may be a capacitive touchscreen or a resistive touchscreen. In an exemplary embodiment, the screen may include a touch sensitive layer to receive an input from the user. In some embodiments, the screen is configured to display a user interface including one or more selectable displayed application pages on the screen on the screen to the user. In an embodiment, the screen may display only one of the selectable pages at a single instance. In some embodiments, the user may select at least one of the selectable application pages to be displayed on the screen. In one embodiment, the user may swipe through the one or more selectable displayed application pages to select one of the selectable displayed application pages to be displayed on the screen. In another embodiment, the screen may simultaneously display at least portions of two or more selectable displayed application pages. The computer-based device may allow the user to select one of the selectable displayed application pages via the touch sensitive layer. Each of the one or more selectable displayed application pages displays one or more visual elements. The one or more visual elements may include display elements, such as, but not limited to, icons, folders, videos, images, a wallpaper and so forth. In some embodiments, the user may access the visual elements via the touch sensitive layer of the screen. In an embodiment, the user may select at least one of the visual element to perform one or more operations on the computer-based device.

In an exemplary embodiment, the memory may store at least one application.

The application may include computer-readable instructions, which upon execution, may perform one or more operations on the computer-based device. In some embodiments, the memory may include dynamic memory (e.g., Random Access Memory, magnetic disk, writable optical disk, etc.) and/or static memory (e.g., Read Only Memory, Compact Disc-Read Only Memory, etc.).

In an exemplary embodiment, the processor of the computer-based device may execute the computer-readable instructions stored in the memory to perform the one or more operations on the computer-based device. In some embodiments, the processor may be communicably coupled to one or more sensors. The one or more sensors may include, but not limited to, a magnetometer and GPS, gyroscope, accelerometer, proximity, sensor, barometer, ambient light sensor, microphone, multiple cameras, temperature, wifi, Bluetooth, a camera, a motion sensor, an orientation sensor, a proximity sensor, a position sensor and so forth. In some embodiments, the one or more sensors may be disposed within the computer-based device and directly connected to the processor. In some other embodiments, the one or more sensors may be disposed in the vehicle and may be communicably coupled to the processor via a control unit.

In an exemplary embodiment, the processor executes the computer-readable instructions to determine that the user of the computer-based device is driving a vehicle while interacting with the screen of the computer-based device. In some embodiments, the processor may receive input signals from the one or more sensors to determine that the user of the computer-based device is driving a vehicle. In some embodiments, the one or more sensors may include one or more vehicle sensors configured to determine various parameters such as, but not limited to, seat occupancy, number of passengers, driving velocity, and so forth. In an embodiment, the processor may combine the input signals received from the one or more sensors to determine various parameters, for example, but not limited to, a status of the vehicle, a status of the user, and a probability that the user is driving the vehicle. In an embodiment, the processor may determine that the user is driving the vehicle if the probability exceeds a predetermined threshold.

In an exemplary embodiment, the processor further determines that the user is interacting with the screen of the computer-based device while driving the vehicle using the one or more sensors. In one embodiment, the processor may receive input signals from the touch sensitive layer incorporated in the screen to determine that the user is interacting with the screen. In some embodiments, the processor may combine the input signals or data received from the one or more sensors to determine that the user is interacting with the screen while driving the vehicle.

In an exemplary embodiment, the processor may further execute the computer-readable instructions stored in the memory to display a timer on the screen upon determining that the user is interacting with the screen while driving a vehicle. In an embodiment, the timer is displayed on at least a portion of each of the one or more selectable displayed application pages. The timer may be displayed as a persistent overlay on the user interface displayed on the screen. In some embodiments, the processor may determine the portion of each of the one or more selectable displayed application pages that is used for displaying the timer based on the visual elements presented on each of the one or more selectable displayed application pages. Further, the timer may be an indicative of a duration of the user's interaction with the screen while driving. In some embodiments, the timer may overlay at least one visual element of each of the one or more selectable displayed application pages. In an exemplary embodiment, the at least one visual element, overlaid by the timer, remains viewable and accessible by the user of the computer-based device. For example, the user can select an icon, overlaid by the timer, in order to access an application installed on the computer-based device. In some embodiments, the icon, overlaid by the timer, may be at least partially visible to the user. The processor may allow the user to select the icon, overlaid by the timer, by any selection methods such as, but not limited to, tapping, clicking and so forth. The user may also be able to perform various operations on the portion of the page overlaid by the timer. Such operations may include touch operations, for example, tapping, pinching, swiping, and so forth. Further, such operations may allow the user to change various properties of the displayed application page such as, but not limited, shape, size, brightness and so forth.

FIG. 1illustrates a system100in accordance with the disclosed subject matter.

The system100implements various methods for monitoring and reducing a driver's distraction while driving.

The system100includes a computer-based device102, a network104and a remote server106. Further, a user “A”, sitting in a vehicle “V”, uses the computer-based device102to perform various tasks. In an exemplary embodiment, the system100may monitor a distraction of the user “A” when the user “A” is the driver of the vehicle “V”. The tasks may include, but not limited to, calling, texting, navigation and so forth. Example of the vehicle “V” may include, but not limited to, a wagon, a bicycle, a motor vehicle (e.g., a motorcycle, a car, a truck, a bus etc.), a rail transport vehicle (e.g., a train, a tram etc.), a watercraft (e.g., a ship, a boat etc.), an aircraft, and so forth. In some embodiments, the computer-based device102may include, but is not limited to, a smartphone, a cell phone, a tablet, a Personal Computer (PC), a gaming device, a portable media player, an automobile computer system, an Internet enabled Television (TV), and so forth. In an embodiment, the computer-based device102may be powered by an onboard energy source, such as a battery.

The computer-based device102includes a screen (not shown inFIG. 1) configured to display a user interface. The screen may include any display device such as, but not limited to, a Cathode Ray Tube (CRT) display, a Liquid Crystal Display (LCD), a Light Emitting Diode (LED) display, and the like. In an exemplary embodiment, the screen may be a touchscreen display. The touchscreen display may be a capacitive touchscreen or a resistive touchscreen. Embodiments are intended to include or otherwise cover any type of screen, including known, related art, and/or later developed technologies.

In some embodiments, the user “A” may interact with the computer-based device102via a user interface displayed on the screen. In some embodiments, the user interface may include one or more selectable displayed application pages. Each of the selectable displayed application pages displays one or more visual elements. The one or more visual elements may include display elements, such as, but not limited to, icons, folders, videos, images, wallpapers and so forth. In some embodiments, the screen may be configured to display only one selectable displayed application page at a time. In another embodiment, the screen may simultaneously display at least portions of two or more selectable displayed application pages.

The computer-based device102also includes a memory (not shown inFIG. 1) that stores computer-readable instructions. The computer-readable instructions, upon execution, are configured to perform one or more operations on the computer-based device102. In an exemplary embodiment, the memory may support the installation of an application including the computer-based instructions on the computer-based device102. The memory may include dynamic memory (e.g., Random Access Memory, magnetic disk, writable optical disk, etc.) and/or static memory (e.g., Read Only Memory, Compact Disc-Read Only Memory, etc.) for storing the computer-readable instructions. In an embodiment, the memory may store data associated with or generated by the application installed on the computer-based device102.

In some embodiments, the computer-based device102also includes a processor (not shown inFIG. 1) disposed in communication with the memory and the screen. The processor may include any processing device such as, but not restricted to, a Central Processing Unit (CPU), a microprocessor, or a microcontroller. In some embodiments, the processor may execute the computer-readable instructions stored in the memory. In an embodiment, the processor may execute the computer-readable instructions to determine that the user “A” is interacting with the screen of the computer-based device102while driving the vehicle “V”.

In an exemplary embodiment, the processor may communicate with one or more sensors (not shown inFIG. 1) to determine that the user “A” is interacting with the screen of the computer-based device102while driving the vehicle “V”. The one or more sensors may include, but not limited to, a camera, an accelerometer, a gyroscope, a compass, a barometer, an infrared sensor and so forth. In some embodiments, the one or more sensors may include one or more device sensors which are disposed within the computer-based device102and directly connected to the processor. In some other embodiments, the one or more sensors may include one or more vehicle sensors which are disposed in the vehicle “V” and may be communicably coupled to the processor via a control unit108.

In some embodiments, the processor may receive input signals from the touch sensitive layer incorporated within the screen to determine that the user “A” is interacting with the screen while driving the vehicle “V”. In some other embodiments, the processor may receive input signals from a camera to determine that the user “A” is interacting with the screen while driving the vehicle “V”. In an embodiment, the camera may be a part of the computer-based device102. In an alternative embodiment, the camera may be a part of the vehicle “V”. In further embodiments, the processor may receive input signals from a navigation system installed on the computer-based device102or the vehicle “V”. In some other embodiments, the processor may receive input signals from a Bluetooth™ device incorporated within the computer-based device102to determine the user's interaction with the screen while driving. In yet another embodiment, the processor may determine an active communication channel associated with the computer-based device102to determine the user's interaction with the screen. For example, any active communication channel established by the processor may indicate that the user is interacting with one or more applications installed on the computer-based device102. Such applications may include, but not limited to, video calling application, audio calling application, messaging application and so forth.

In some other embodiments, the processor may receive input signals from an orientation sensor of the computer-based device102to determine that the user “A” is interacting with the screen. The orientation sensor may be an accelerometer, a gyroscope, a compass and so forth. In some embodiments, the processor may receive input signals from a proximity sensor of the computer-based device102to determine that the user “A” is interacting with the screen. The proximity sensor may be a capacitive sensor, an inductive sensor, a magnetic sensor, an optical sensor, and so forth. The proximity sensor may detect a proximity between the user “A” and the computer-based device102. The processor may also determine active applications (e.g., calling, texting, or audio/video playback applications), running on the computer-based device102, to determine the user's interaction with the screen. In an exemplary embodiment, the processor may combine various input signals and data received from the one or more sensors to determine that the user “A” is interacting with the screen of the computer-based device102while driving the vehicle “V”.

The processor may also execute the computer-readable instructions to display a timer on at least a portion of each of the selectable displayed application pages of the user interface. In an exemplary embodiment, the processor may display the timer upon determining that the user “A” is interacting with the screen of the computer-based device102while driving the vehicle “V”. In some embodiments, the timer may be indicative of a time duration of interaction of the user “A” with the screen of the computer-based device102. The timer may be displayed as a persistent overlay over each of the one or more selectable displayed application displayed application pages. In some embodiments, the timer may overlay at least one visual element of a selectable displayed application page. In an exemplary embodiment, the at least one visual element, overlaid by the timer, remains viewable and accessible by the user “A”. For example, the user “A” can view and access an icon of an application overlaid by the timer.

In some embodiments, the processor may optionally vary a display size of the timer based on the one or more visual elements displayed on the user interface. The processor may vary the display size of the timer based on at least one visual element that is overlaid by the timer. In an example, the processor may optionally increase the display size of the timer in case a static wallpaper is displayed on a home screen or displayed application page. In another example, the processor may decrease the display size of the timer in case an icon, an image or a video is displayed on the screen. In alternative embodiments, the processor may receive an input from the user “A” to change the display size of the timer. In an embodiment, the user “A” may provide the input to the processor via an input device such as, but not limited to, a mouse, a button, a microphone, a camera and the touch sensitive layer of the screen.

In some embodiments, the processor may vary a display transparency of the timer based on the one or more visual elements displayed on the user interface. In some other embodiments, the processor may vary the display transparency based on a brightness value of the screen. In some other embodiments, the processor may receive an input from the user “A” to change the display transparency of the timer.

In some embodiments, the processor may reset and hide the timer upon determining that the vehicle “V” has stopped moving. In some embodiments, the processor may determine that the vehicle “V” has stopped moving based on signals receive from the control unit108. In some other embodiments, the processor may determine a state of the vehicle “V” based on the input signals received from the one or more sensors. In another embodiment, the processor may reset and hide the timer upon determining that the user “A” has stopped interacting with the screen for a first predefined time duration. In some embodiments, the first predefined duration may be automatically defined by the processor based on the computer-readable instructions. In other embodiments, the first predefined time duration may be preselected by the user “A”. The predefined time duration may be stored in the memory by the processor.

In some embodiments, the processor may receive time signals from a timing circuit (not shown) to display and update the timer on the user interface of the screen. In an embodiment, the processor may receive the time signals at varying time intervals. The processor may change or update the timer displayed on the user interface based on the received time signals. In some embodiments, the time intervals are varied based on the duration of the user's interaction with the screen. In an embodiment, the processor may increase the time intervals as the duration of the user's interaction with the screen approaches a predefined threshold. The predefined threshold may be a maximum time duration that the user “A” is allowed to interact with the screen of the computer-based device102while driving.

In an embodiment, the processor may optionally also execute the computer-readable instructions to generate an audio alert upon determining that the user “A” is interacting with the screen while driving the vehicle “V”. In some embodiments, the processor may generate a continuous audio alert signal indicative of the user's interaction with the screen. In some embodiments, the processor may vary a pitch and an amplitude associated with the sound alert as the duration of interaction approaches the predefined threshold. For example, the processor may gradually increase the pitch and/or the amplitude of the sound alert as the duration of interaction approaches the predefined threshold.

In some embodiments, the control unit108may include a processing device such as, but not restricted to, a Central Processing Unit (CPU), a microprocessor, or a microcontroller. The control unit108may be communicably coupled to the processor. In some embodiments, the control unit108may receive input signals from one or more vehicle sensors (not shown) disposed in the vehicle “V”. The control unit108may transmit the input signals received from the one or more vehicle sensors to the processor of the computer-based device102.

In an exemplary embodiment, the computer-based device102may be communicably coupled to the remote server106via the network104. The network104may include a data network such as, but not restricted to, the Internet, Local Area Network (LAN), Wide Area Network (WAN), Metropolitan Area Network (MAN), etc. In certain embodiments, the network104can include a wireless network, such as, but not restricted to, a cellular network and may employ various technologies including Enhanced Data rates for Global Evolution (EDGE), General Packet Radio Service (GPRS), Global System for Mobile communications (GSM), Internet protocol Multimedia Subsystem (IMS), Universal Mobile Telecommunications System (UMTS) etc. In some embodiments, the network104may include or otherwise cover networks or subnetworks, each of which may include, for example, a wired or wireless data pathway. The network104may include a circuit-switched voice network, a packet-switched data network, or any other network capable for carrying electronic communications. For example, the network104may include networks based on the Internet Protocol (IP) or Asynchronous Transfer Mode (ATM), and may support voice usage, for example, Voice over Internet Protocol (VoIP), Voice-over-ATM, or other comparable protocols used for voice data communications. In one implementation, the network104includes a cellular telephone network configured to enable exchange of text or Short Message Service (SMS) messages.

Examples of the network104may further include, but are not limited to, a Personal Area Network (PAN), a Storage Area Network (SAN), a Home Area Network (HAN), a Campus Area Network (CAN), a Local Area Network (LAN), a Wide Area Network (WAN), a Metropolitan Area Network (MAN), a Virtual Private Network (VPN), an Enterprise Private Network (EPN), Internet, a Global Area Network (GAN), and so forth. Embodiments are intended to include or otherwise cover any type of network, including known, related art, and/or later developed technologies to connect the remote server106and the computer-based device102.

In some embodiments, the processor may transmit user data to one or more remote servers. In an exemplary embodiment, the processor may transmit the user data to the remote server106(interchangeably referred to as “the server106”). The user data may include information indicative of at least the time duration of the user's interaction with the screen while driving. In some embodiments, the user data may include the input signals received by the processor from the one or more sensors. In some other embodiments, the user data may also include various parameters determined by the processor. In an embodiment, the remote server106can be a computer program or a device that provides functionality for other programs or devices. In some other embodiments, the remote server106may be a computational device, wherein a single computation may be distributed across multiple processes or devices. The remote server106may provide various functionalities, often called “services”, such as sharing data or resources among multiple clients, or performing computation. A single server can serve multiple devices, and a single device can use multiple servers. In an exemplary embodiment, the server106may be any type of server, such as, but not limited to, a database server, a file server, a mail server, a print server, a game server, a web server, and an application server. In some embodiments, the server106may also include a cluster of servers.

In some embodiments, the server106may be a cloud server. In an exemplary embodiment, the server106is used to monitor and control the user's interaction with the computer-based device102while driving the vehicle “V”. In an exemplary embodiment, the server106may receive the user data from the processor of the computer-based device102. In an embodiment, the server106or the computer-based device102may enable an event logging mode. Once the event logging mode is enabled, the input signals or data from the one or more sensors may be processed in real-time to monitor movement of the computer-based device102indicative of the computer-based device102being located in a moving vehicle. In an embodiment, the event logging mode may use a low power sensor to conserve battery usage of the computer-based device102.

In some embodiments, the server106may perform one or more operations on the computer-based device102based on the user data received from the computer-based device102. In an embodiment, the server106may activate a mode on the computer-based device102based on the time duration of the user's interaction with the screen while driving. The mode may include a count mode, and optionally at least one of a lock mode and a freeze mode. During the count mode, the server106may continue displaying the timer on the screen while the user “A” interacts with the screen.

During the lock mode, the server106may lock the screen to prevent the user “A” from interacting with the screen. In some embodiments, the server106may unlock the screen upon determining that the vehicle “V” has stopped moving. Further, during the lock mode, the server106may provide the user “A” with an access to at least one of a navigation feature, an emergency call feature or an emergency texting feature of the computer-based device102. In some other embodiments, the server106may unlock the screen upon receiving an override input from the user “A”. In an embodiment, the override input may in form of an audio signal or a gesture.

During the freeze mode, the server106may freeze the screen for a second predefined time duration. In some embodiments, the processor may unfreeze the screen after the second predefined time duration has lapsed.

In alternative embodiments, the processor may activate one of the modes on the computer-based device102based on the user data. In some other embodiments, the processor may be select the mode based on a preset preference. In some embodiments, the preset preference may be defined by the user “A”.

FIG. 2illustrates a block diagram of a computer-based device200in accordance with an embodiment of present disclosure. The computer-based device200includes a screen202, a memory204, one or more sensors208, a timing circuit210and a processor212. In an embodiment, the computer-based device200may be powered by an onboard energy source, such as a battery.

The screen202may allow a user to interact with the computer-based device200via a user interface203. In an exemplary embodiment, the screen202may be configured to display the user interface203including one or more selectable displayed application pages. The one or more selectable pages may include a home page, a lock page, an application page and so forth. Each of the one or more selectable pages includes one or more visual elements. The one or more visual elements may include icons, texts, images, videos and so forth. In an exemplary embodiment, the visual element may be an icon configured to open a corresponding application. In some embodiments, the screen202may include any display device such as, but not limited to, a Cathode Ray Tube (CRT) display, a Liquid Crystal Display (LCD), a Light Emitting Diode (LED) display, and the like. In an exemplary embodiment, the screen202may a touch enabled display, such as a capacitive screen or a resistive screen. Embodiments are intended to include or otherwise cover any type of display, including known, related art, and/or later developed technologies.

The memory204is configured to stored computer-readable instructions. In some embodiments, the memory204may be configured to store an application206. In some embodiments, the application206may be a software package, a web application, a service program and so forth. The application206may be installed on the computer-based device200. Further, the application206includes the computer-readable instructions or code, that upon execution by the processor212, enables the computer-based device200to perform various functions. In an exemplary embodiment, the application206may run as a service which remains active in background. In an embodiment, the application206may remain active in a waiting mode that consumes less power. The waiting mode may help conserve power of the energy source of the computer-based device200. Upon determining that the user is driving the vehicle, the application206may enter an aware mode. During the aware mode, the processor212may receive input signals from the one or more sensors208to determine whether the user is interacting with the screen or not. Further, the application206enters a count mode upon determining that the user is interacting with the screen while driving. During the count mode, a timer or counter is displayed on the screen202. The processor212increments the timer based on the duration of the user's interaction with the screen while driving.

In an embodiment, the memory204may also store data associated with or generated by the application206. In some other embodiments, the memory204may be configured to store output data generated by the one or more sensors208. Examples of the memory204may include, but not limited to, a Read Only Memory (ROM), a Random Access Memory (RAM), a Compact Disc-Read Only Memory (CD-ROM), magnetic tape, optical data storage devices, and so forth. Embodiments are intended to include or otherwise cover any type of memory configured to store computer-readable instruction, including known, related art, and/or later developed technologies.

In some embodiments, the one or more sensors208may be configured to detect events or changes in the environment. In some other embodiments, the one or more sensors208may detect or measure a physical property associated with a device or a user. In an exemplary embodiment, the one or more sensors208may record an event or a physical property and transmit it to the processor212. The one or more sensors208may include a camera, a motion sensor, a proximity sensor, an orientation sensor, a touch sensitive layer or a position sensor. Example of the one or more sensors208further includes an Iris sensor, a pressure sensor, an accelerometer, a barometer, a fingerprint sensor, a gyro sensor, a geomagnetic sensor, a hall sensor, a proximity sensor, a RGB light sensor, a Global Positioning System (GPS) sensor and so forth.

In some embodiments, the computer-based device200includes the timing circuit210to generate a time signal. In an exemplary embodiment, the time signal may be indicative a time duration of the user's interaction with the screen202. In some embodiments, the timing circuit210may be an Integrated Circuit (IC) including various electronic components such as, but not limited to, resistors, capacitors, operational amplifiers (OP-AMPs) and so forth.

In an exemplary embodiment, the processor212may be communicably coupled to the screen202, the memory204, the one or more sensors208and the timing circuit210. In an exemplary embodiment, the processor212may execute the computer-readable instructions stored in the memory204to perform a set of operations. In some embodiments, the computer-readable instructions may be written in a computer programming language that is compiled into a native instruction set of the processor212. In some other embodiments, the computer-readable instructions may be written directly using the native instruction set (e.g., machine language) of the processor212. In some embodiments, the processor212may execute the computer-readable instructions to determine that a user of the computer-based device200is interacting with the screen202while driving a vehicle. The processor212may determine that the user is interacting with the screen202while driving by using the one or more sensors208. In an embodiment, the processor212may receive input signals from the one or more sensors208to determine that the user is driving a vehicle.

In some embodiments, the processor212may include a sensor management unit214. The sensor management unit214may include software and/or hardware for carrying out various operations. The sensor management unit214may determine which sensors are available for the processor212to determine that the user is driving the vehicle. In some other embodiments, the sensor management unit214may determine a sensor's capability based on various parameters such as, but not limited to, maximum and minimum ranges, manufacturers, power requirements, and resolutions. In some embodiments, the sensor management unit214may acquire raw sensor data from the one or more sensors208. The sensor management unit214may process the raw data received from the one or more sensors208and then transmit the processed data to the processor212. In an embodiment, the sensor management unit214may periodically acquire sensor data from the one or more sensors208at a predefined rate. In some embodiments, the sensor management unit214may register or store an event based on the sensor data or input signals received from the one or more sensors208. In some other embodiments, the sensor management unit214may unregister the event after an operation is performed based on the sensor data received from the one or more sensors208.

In an embodiment, the sensor management unit214may be a programmable logic device including one or more logic gates for processing the sensor data received from the one or more sensors208.

In alternative embodiments, the processor212may directly receive input signals from the one or more sensors208. In an embodiment, the processor212may receive input signals from a camera to determine that the user is seated in a driver's seat. In some embodiments, the processor212may receive input signals from a position sensor, such as a Global Positioning System (GPS) sensor, to determine that the vehicle is in motion. In further embodiments, the processor212may utilize a Bluetooth™ device to determine that the user is driving the vehicle. In some embodiments, the processor212may check the applications running on the computer-based device200to determine that the user is driving a vehicle. In some other embodiments, the processor212may determine that a user of the computer-based device200is driving a vehicle based on data signals received from an external system (e.g., a car manufacturer, another vehicle, a traffic monitoring system etc.).

In an embodiment, the processor212may check an active Bluetooth™ and/or WiFi connection to determine that the user is interacting with the screen202. In another embodiment, the processor212may check active applications on the computer-based device200to determine that the user is interacting with the screen202. In some other embodiments, the processor212may receive input signals from an orientation sensor to determine that the user is interacting with the screen202. In alternative embodiments, the processor212may receive input signals from the touch sensitive layer incorporated in the screen202to determine the user's interaction with the screen202. In some embodiments, the processor212may combine the input signals or data received from the one or more sensors208to determine the user's interaction with the screen202while driving the vehicle. In an exemplary embodiment, the processor212may activate a User Driving Mode (UDM) on the computer-based device200upon determining that the user of the computer-based device200is interacting with the screen202while driving a vehicle. During the UDM, the processor212may continuously monitor the user's interaction with the screen202via the application206.

In some embodiments, the processor212may execute the computer-readable instructions to display a timer on the screen202upon determining that the user is interacting with the screen202while driving. In an exemplary embodiment, the processor212may execute the computer-readable instructions of the application206to display a timer on the screen202. In some embodiments, the timer may be displayed on at least a portion of each of the selectable displayed application pages of the user interface203. In some embodiments, the timer may be indicative a time duration of the user's interaction with the screen202of the computer-based device200. The timer may be displayed as a persistent overlay over the one or more selectable displayed application pages. In some embodiments, the timer may overlay at least one visual element of a selectable displayed application page. In an exemplary embodiment, the at least one visual element, overlaid by the timer, remains viewable and accessible by the user. For example, the user can view and access an icon of an application overlaid by the timer.

In some embodiments, the processor212may optionally vary a display size of the timer based on the one or more visual elements displayed on the user interface203. The processor212may vary the display size of the timer based on at least one visual element displayed on the screen202. In an example, the processor212may increase the display size of the timer in case a static wallpaper is displayed on a home screen. In another example, the processor212may decrease the display size of the timer in case an icon or a video is displayed on the screen202. In alternative embodiments, the processor212may receive an input from the user to change the display size of the timer. In an embodiment, the user may provide the input to the processor212via an input device (not shown) such as, but not limited to, a mouse, a button, a microphone, a camera, and the touch sensitive layer of the screen202.

In some embodiments, the processor212may vary a display transparency of the timer based on the one or more visual elements displayed on the user interface203. In some other embodiments, the processor212may vary the display transparency based on a brightness value of the screen202. In some other embodiments, the processor212may receive an input from the user to change the display transparency of the timer.

In some embodiments, the processor212may reset and hide the timer upon determining that the vehicle has stopped moving. In some embodiments, the processor212may determine that the vehicle has stopped moving based on signals receive from the control unit108(shown inFIG. 1). In some other embodiments, the processor212may determine a state of a vehicle based on the input signals received from the one or more sensors208. In another embodiment, the processor212may reset and hide the timer upon determining that the user has stopped interacting with the screen202for a first predefined time duration. In some embodiments, the first predefined duration may be selected by the processor212. In some other embodiments, the first predefined duration may be preselected by the user. The predefined time duration may be stored in the memory204by the processor212.

In some embodiments, the processor212may receive time signals from the timing circuit210to display the timer on the user interface203of the screen202. In an embodiment, the processor212may receive the time signals from the timing circuit210at varying time intervals. The processor212may change the timer displayed on the user interface203based on the received time signals. In some embodiments, the time intervals are varied based on the duration of the user's interaction with the screen202. In an embodiment, the processor212may increase the time intervals as the duration of the user's interaction with the screen202approaches a predefined threshold. The predefined threshold may be a maximum time duration that the user is allowed to interact with the screen202while driving.

In an embodiment, the processor212may also execute the computer-readable instructions to generate an audio alert upon determining that the user is interacting with the screen202while driving the vehicle. In some embodiments, the processor212may generate a continuous audio alert signal indicative of the user's interaction with the screen202. In one embodiment, the processor212may vary a pitch and an amplitude associated with the sound alert as the duration of interaction approaches the predefined threshold. For example, the processor212may gradually increase the pitch and/or the amplitude of the sound alert as the duration of interaction approaches the predefined threshold.

In an embodiment, the processor212may activate a mode on the computer-based device200based on the time duration of the user's interaction with the screen20while driving. The mode may include a count mode, and optionally at least one of a lock mode and a freeze mode. During the count mode, the processor212may continue displaying the timer on the screen202while the user “A” interacts with the screen202.

During the lock mode, the processor212may lock the screen202to prevent the user from interacting with the screen202. In some embodiments, the processor212may unlock the screen upon determining that the vehicle has stopped moving. Further, during the lock mode, the processor212may allow the user to access to at least one of a navigation feature, an emergency call feature or an emergency texting feature of the computer-based device200. In some other embodiments, the processor212may unlock the screen202upon receiving an override input from the user. In an embodiment, the override input may in the form of an audio signal or a gesture.

FIGS. 3A-3Iillustrate various views of the user interface203displayed on the screen202of the computer-based device200(shown inFIG. 2) in accordance with the disclosed subject matter. The user interface203includes a plurality of selectable displayed application pages. A user of the computer-based device200may select the displayed application page that is to be displayed on the screen202.FIG. 3Aillustrates a home page300of the user interface203. The home page300includes a plurality of icons302a-302d. Each of the plurality of icons302a-302dmay be associated with a corresponding application. Example of such an application includes, but not limited to, a calling application, an internet browser, a messaging application, an email application and so forth. In an exemplary embodiment, the home page300also includes an icon304corresponding to the application206(shown inFIG. 2) stored in the memory204. The icon304may allow the user to access the application206. In some embodiments, the icon304is displayed at the top left corner of the home page300. In some other embodiments, the processor212may receive an input from a user to change the position of the icon304. In an embodiment, the user may use a drag and drop action on a touch sensitive layer of the screen202to change the position of the icon304. In alternative embodiments, the processor212may automatically change the position of the icon304. In an exemplary embodiment, the user may select the icon304to access the application206.

FIG. 3Billustrates a first page301of the user interface203. In some embodiments, the processor212may re-direct a user from the home page300to the first page301upon receiving a selection of the icon304. In some embodiments, the processor212may execute the computer-readable instructions of the application206to generate the first page301of the user interface203. In some embodiments, the user interface203is a web based interface that can communicate with the server106(as shown inFIG. 1). In an exemplary embodiment, the first page301may receive profile information of a user. The first page301may include user identification fields such as, but not limited to, an email field306and an age field308. In some embodiments, each of the email field306and the age field308can be, but not limited to, a text box. In an embodiment, the user may enter his/her email address in the email field306via the computer-based device200. In some embodiments, the processor212may retrieve identification information of the user using the email address provided by the user at the first page301. The user may enter his/her age in the age field308. In some embodiments, the processor212may determine whether the user of the computer-based device200is eligible to drive a vehicle based on the age of the user. In some embodiments, the first page301may include additional informational fields such as, a username field, a password field, an address field, and so forth. In some embodiments, the first page301may also include a sign-up button310. The sign-up button310may allow the user to store the information provided in the aforementioned fields of the first page301in the memory204. In some embodiments, the processor212may store the information provided in the aforementioned fields in the memory204upon determining a selection of the sign-up button310. In some embodiments, the processor212may transmit the information provided in the aforementioned fields to the server106.

FIGS. 3C and 3Dillustrate various views of a status page303of the user interface203. In an exemplary embodiment, the processor212may redirect the user to the status page303from the first page301after successful submission of the user identification information. In some other embodiments, the identification information corresponding to a user may be previously stored in the memory204and the processor212may redirect the user to the status page303from the home page300upon selection or actuation of the icon304by the user. For example, the user may tap the icon304to access the status page303. The status page303may include an output field312. In an exemplary embodiment, the output field312may indicate a status of the application. The status of the application may be indicative of the user's interaction with the screen202while driving a vehicle. In one embodiment, the processor212may provide a status of the application as “DISENGAGED” (as shown inFIG. 3C) on the output field312, in case the user is not interacting with the screen202or the vehicle is not moving. In some other embodiments, the processor212may provide a status of the application as “ENGAGED” (as shown inFIG. 3D) upon determining that the user is driving a vehicle or the user is interacting with the screen202while driving. The status page303may also include a menu button314configured to redirect the user to an information page305illustrated inFIG. 3E.

The information page305includes a first hyperlink316and a second hyperlink318. In an exemplary embodiment, the first hyperlink316may include a header “About Distraction Counter App”. The second hyperlink318may include a header “Terms of Agreement”. The first hyperlink316may display information about the operation of the application206. In some embodiments, the processor212may display the information about the application206upon selection of the first hyperlink316by the user. The information displayed upon selection of the first hyperlink316may assist the user in understanding the working and use of the application206. In one embodiment, the selection of the first hyperlink316may display the information on the information page305by enabling a toggle down display. In another embodiment, the selection of the first hyperlink316may redirect the user to another page to display the information. The processor212may display all the terms and conditions for using the application206upon selection of the second hyperlink318by the user. In some embodiments, the processor212may display information regarding license requirements for using the application206upon selection of the second hyperlink318. In one embodiment, the selection of the second hyperlink318may display the information on the information page305by enabling a toggle down display. In another embodiment, the selection of the second hyperlink318may redirect the user to another page to display the information. In some embodiments, the user may select any of the first or the second hyperlinks316,318by performing an action on the screen202such as, but not limited to, tapping.

In some embodiments, the processor212, upon determining that the user is interacting with the screen202while driving a vehicle, may generate a timer on the user interface203.FIGS. 3F-3Iillustrate various views of a timer322displayed on the user interface203. The timer322may be a counter that counts a duration of the user's interaction with the screen202. The timer322may be a whole number or a decimal number or other format. When the vehicle is in motion and the user simultaneously interacts with the computer-based device200while driving, the timer322is incremented by a series of whole numbers or decimal numbers. The timer322informs the user about the duration of the user's interaction with the screen202. Specifically, the timer322informs the user about how much time the user's attention and/or view is averted from a road. Therefore, the timer322may remind, alert and encourage the user to focus his or her attention and vision to safely operate the vehicle while driving.

In some embodiments, the processor212, upon determining that the user is interacting with the screen202while driving a vehicle, may change the status of the application206to “ENGAGED” (as shown inFIG. 3D). In an alternative embodiment, the processor212may change the status of the application206to “ENGAGED” upon determining the user is driving the vehicle. In some embodiments, the processor212may display a splash screen on the user interface203. The splash screen may be a temporarily displayed screen that indicates the status of application206as “ENGAGED”. In an embodiment, the splash screen may be the status page303, as illustrated inFIG. 3D. As illustrated inFIG. 3F, the processor212may display the timer322on the home page300of the user interface203. In an exemplary embodiment, the timer322is indicative of a timer duration of the user's interaction with the screen202while driving. In some embodiments, the processor212may receive time signals from the timing circuit210at varying time intervals and change the timer322based on the received time signals. As shown inFIG. 3F, the timer322is overlaid on a top right corner of the home page300. In an embodiment, the timer322may be a persistent overlay that allows the user to view and access a portion of the home page300that is overlaid by the timer322. Specifically, the user can perform one or more operations on the portion of the home page300overlaid by the timer322. Such operations may include, but not limited to, tapping, swiping, pinching, and so forth.

As illustrated inFIG. 3G, the processor212may receive the time signals from the timing circuit210at an interval of 0.1 second, and the timer322is changed or updated accordingly. Further, as illustrated inFIG. 3H, the processor212may receive the time signals at an interval of 0.5 second and the timer322is changed accordingly. In some embodiments, the processor212may vary the interval of receiving the time signals from the timing circuit210based on the duration of the interaction of the user with the screen202. In one embodiment, the processor212may increase the interval of receiving the time signals after the user has interacted with the screen202for a predetermined time duration. In some embodiments, the processor212may change the interval of receiving the time signals in order the notify the user that the duration of interaction has exceeded or about to exceed a predefined threshold.

In an exemplary embodiment, the processor212displays the timer322as a persistent overlay on each of the one or more selectable pages of the user interface203. In some embodiments, the processor212may allow the user to select one of the selectable pages by performing an operation on the screen202. Such operations may include, but not limited to, swiping, tapping, and so forth. The timer322may be persistently overlaid on each of the selectable pages. For example, if a user switches from a home page to a widget page, the timer322remains persistently displayed on the screen202. Further, the widget page may include one or more widgets. In some embodiments, the timer322may overlay at least one of the widgets displayed on the widget page.

In some embodiments, the timer322may be overlaid on at least one visual element on each of the selectable displayed application pages. As illustrated inFIG. 3I, the timer322may be persistently displayed on an application page307. The application page307may include a plurality of icons to allow the user to access a corresponding application. The icons include an icon324, an icon326and the icon328. In an exemplary embodiment, the timer322may overlay the icon324at a top right corner. In some embodiments, the icon324, overlaid by the timer322, remains viewable and accessible by the user of the computer-based device200. In another embodiment, the icon324, overlaid by the timer322, is at least partially visible to the user. The processor212may allow the user to select the icon324by any selection methods such as, but not limited to, tapping, clicking and so forth. In some embodiments, the processor212may allow the user to tap on the timer322to select the icon324and access the corresponding application. Further, the visibility of the icon324may depend on a display size and a display transparency of the timer322.

In alternative embodiments, the processor212may vary the display size of the timer322based on the one or more visual elements displayed on the user interface203. In some embodiments, the processor212may allow the user to vary the display size of the timer322via an input device (not shown). The input device may include a mouse, a joystick, a keyboard, a touch sensitive layer and so forth. In some embodiments, the processor212may vary the display transparency of the timer322based on the one or more visual elements displayed on the user interface203. In some embodiments, the processor212may allow the user to vary the display size of the timer322via the input device.

FIG. 4illustrates a method400for monitoring driver distraction in accordance with the disclosed subject matter. Reference will also be made toFIGS. 1, 2, and3A-3I.

At step402, the method400includes determining that a user of the computer-based device200is interacting with a screen202while driving a vehicle. In some embodiments, the processor212may execute the computer-readable instructions stored in the memory204to determine that the user of the computer-based device200is interacting with the screen202while driving the vehicle. The processor212may determine that the user is interacting with the screen202while driving based on input signals received from the one or more sensors208. In an exemplary embodiment, the processor212may receive input signals from a camera, a positioning sensor (e.g., a GPS sensor), and/or a Bluetooth™ device to determine that the user is interacting with the screen202while driving the vehicle. In some other embodiments, the processor212may detect various applications running on the computer-based device200to determine that the user is interacting with the screen202driving a vehicle. In alternative embodiments, the processor212may determine that a user of the computer-based device200is driving a vehicle based on data signals received from an external system (e.g., a car manufacturer, another vehicle, a traffic monitoring system etc.). In one embodiment, the processor212may combine the input signals received from the one or more sensors208to determine a status of the vehicle, a status of the user, and a probability that the user is driving the vehicle. In an embodiment, the processor212may determine that the user is driving the vehicle if the probability exceeds a predetermined threshold. The probability may increase if two or more of the sensors208indicate that the user is driving the vehicle.

Next at step404, the processor212may display the timer322on the user interface203, displayed by the screen202, upon determining that the user is interacting with the screen202while driving the vehicle. In some embodiments, the timer322may be indicative of a time duration of the user's interaction with the screen202of the computer-based device200. As illustrated inFIGS. 3F-3I, the timer322is displayed as a persistent overlay over one or more selectable displayed application pages. In some embodiments, the timer322may overlay at least one visual element of each selectable page. In an exemplary embodiment, the icon324, that is overlaid by the timer322, remains viewable and accessible by the user. Specifically, the user can view the icon324as well as select the icon324to access the corresponding application.

In some embodiments, the processor212may vary a display size of the timer322based on the one or more visual elements displayed on the user interface203. In alternative embodiments, the processor212may receive an input from the user to change the display size of the timer322. In an embodiment, the user may provide the input to the processor212via an input device (not shown) such as, but not limited to, a mouse, a button, a microphone, a camera, and the touch sensitive layer of the screen202.

In some embodiments, the processor212may vary a display transparency of the timer322based on the one or more visual elements displayed on the user interface203. In some other embodiments, the processor212may vary the display transparency based on a brightness value of the screen202. In some other embodiments, the processor212may receive an input from a user to change the display transparency of the timer322.

In some embodiments, the processor212may reset and hide the timer322upon determining that the vehicle has stopped moving. In some embodiments, the processor212may determine that the vehicle has stopped moving based on signals receive from the control unit108(shown inFIG. 1). In some embodiments, the processor212may reset and the timer322upon determining that the user has stopped interacting with the screen202for a predefined time duration.

In some embodiments, the processor212may receive time signals from the timing circuit210to display and update the timer322on the user interface203of the screen202. In an embodiment, the processor212may receive the time signals from the timing circuit210at varying time intervals. The processor212may change the timer322displayed on the user interface203based on the received time signals. As illustrated inFIGS. 3B and 3C, the time intervals are varied based on the duration of the user's interaction with the screen202.

In an embodiment, the processor212may also execute the computer-readable instructions to generate an audio alert upon determining that the user is interacting with the screen202while driving the vehicle.

FIG. 5illustrates a method500for monitoring driver distraction in accordance with the disclosed subject matter. Reference will also be made toFIGS. 2, and 3A-3I. The different steps of the method500may be performed by the processor212upon execution of the computer-readable instructions of the application206.

At step502, the application206may enter a waiting mode. During the waiting mode, the application206may run as a service which remains active in background. In the waiting mode, the application206may consume less power, thereby helping conserve power of the energy source (e.g., a battery) of the computer-based device200. During the waiting mode, the application206may cause the processor212to periodically poll the one or more sensors208to receive input signals. The time interval of polling may be suitably chosen to conserver power. Further, the sensors208used during the waiting mode may be low power sensors.

At step504, the processor212may determine that the user is driving the vehicle based on the input signals received from the one or more sensors208. In an embodiment, the processor212may first determine that the user is in a moving vehicle. Subsequently, the processor212may determine that the user is driving the vehicle. In an embodiment, the processor212may use a GPS sensor and/or a motion sensor of the computer-based device200to determine that the vehicle is moving. Further, the processor212may use input signals from a camera of the computer-based device200and/or signals from a seat occupation sensor of the vehicle to determine that the user is driving the vehicle. The application206continues to operate in the waiting mode if the vehicle is not moving, or the user is not driving the vehicle.

At step506, the processor212may display a splash screen on the user interface203upon determining that the user is driving the vehicle. The splash screen may indicate that the application206is engaged. In an embodiment, the processor212may display the status page303, as illustrated inFIG. 3D, indicating the status of the application206as “ENGAGED”. In some embodiments, the processor212may display the splash screen for two to five seconds.

Next at step508, the application206may enter an aware mode upon determining that the user is driving the vehicle. During the aware mode, the processor212may receive input signals from the one or more sensors208to check whether the user is interacting with the screen202. If at step510, the application206determines that the user is interacting with the screen202while driving, control moves to step512. Otherwise, the application206may continue to operate in the aware mode.

At step512, the application206may enter a count mode. During the count mode, a timer or counter (e.g., the timer322) is displayed on the screen202. The processor212increments the timer322based on the duration of the user's interaction with the screen while driving. In some embodiments, the processor212may receive time signals from the timing circuit210to display and update the timer322on the user interface203of the screen202. The timing circuit210may therefore enable the application206to count the duration of the user's interaction with the screen202. In an embodiment, the processor212may receive the time signals from the timing circuit210at varying time intervals. Therefore, the timer322is also updated or changed at varying time intervals.

As illustrated inFIGS. 3F-3I, the timer322is displayed as a persistent overlay over one or more selectable displayed application pages. In some embodiments, the timer322may overlay at least one visual element of each selectable page. For example, referring toFIGS. 3F and 3I, the timer322is persistently displayed on the home page300as well as the application page307. Therefore, the user can view the timer322even if he or she navigates between the home page300and the application page307. In an exemplary embodiment, the icon324, that is overlaid by the timer322, remains viewable and accessible by the user. Specifically, the user can view the icon324as well as select the icon324to access the corresponding application.

Therefore, the method500may enable the computer-based device200to alert the user that he or she is distracted while driving, yet allowing the user to access various functionalities of the computer-based device200. For example, the user can access the applications or services of the computer-based device200, such as navigation, calling and texting, while the timer322is persistently displayed on the screen202.

Next at step514, the application206may check whether the user has stopped driving the vehicle or stopped interacting with the screen for a predefined time duration. The predefined time duration may be about 10 seconds. In some embodiments, the predefined time duration may be selected by the user or the remote server106(shown inFIG. 1). If the application206determines that the user has stopped driving the vehicle or stopped interacting with the screen for the predefined time duration, control moves to step516. Otherwise, the application206may continue in the count mode during which the timer322is updated based on the duration of the user's interaction with the screen202while driving.

At step516, the processor212may display a splash screen on the user interface203indicating that the application206is disengaged. In an embodiment, the processor212may display the status page303, as illustrated inFIG. 3C, indicating the status of the application206as “DISENGAGED”. In some embodiments, the processor212may display the splash screen for two to five seconds.

Further, at step518, the application206may hide and reset the timer322. Further, control moves to step502, where the application206switches to the waiting mode. The timer322is therefore no longer displayed on the user interface203.

FIG. 6illustrates a computer system600upon which the operation of the computer-based device200and/or the remote server106may be implemented. Although, the computer system600is depicted with respect to a particular device or equipment, it is contemplated that other devices or equipment (e.g., network elements, servers, etc.) withinFIG. 6can deploy the illustrated hardware and components of system. The computer system600is programmed (e.g., via computer program code or instructions) to receive input signals from the one or more sensors208and to display the retrieved data on the user interface203. The computer system600includes a communication mechanism such as a bus602for passing information between other internal and external components of the computer system600. Information (also called data) is represented as a physical expression of a measurable phenomenon, typically electric voltages, but including, in other embodiments, such phenomena as magnetic, electromagnetic, pressure, chemical, biological, molecular, atomic, sub-atomic and quantum interactions. For example, north and south magnetic fields, or a zero and non-zero electric voltage, represent two states (0,1) of a binary digit (bit). Other phenomena can represent digits of a higher base. A superposition of multiple simultaneous quantum states before measurement represents a quantum bit (qubit). A sequence of one or more digits constitutes digital data that is used to represent a number or code for a character. In some embodiments, information called analog data is represented by a near continuum of measurable values within a particular range.

A bus602includes one or more parallel conductors of information so that information is transferred quickly among devices coupled to the bus602. A processor604for processing information are coupled with the bus602.

The processor604performs a set of operations on information as specified by an end-user. The computer program code is a set of instructions or statements providing instructions for the operation of the processor604and/or the computer system600to perform specified functions. The code, for example, may be written in a computer programming language that is compiled into a native instruction set of the processor604. The code may also be written directly using the native instruction set (e.g., machine language). The set of operations include bringing information in from the bus602and placing information on the bus602. The set of operations also typically include comparing two or more units of information, shifting positions of units of information, and combining two or more units of information, such as by addition or multiplication or logical operations like OR, exclusive OR (XOR), and AND. Each operation of the set of operations that can be performed by the processor is represented to the processor by information called instructions, such as an operation code of one or more digits. A sequence of operations to be executed by the processor604, such as a sequence of operation codes, constitute processor instructions, also called computer system instructions or, simply, computer instructions. The processor604may be implemented as mechanical, electrical, magnetic, optical, chemical, or quantum components, among others, alone or in combination.

The computer system600also includes a memory606coupled to the bus602. The memory606, such as a RAM or any other dynamic storage device, stores information including processor instructions for storing information and instructions to be executed by the processor604. The dynamic memory606allows information stored therein to be changed by the computer system600. RAM allows a unit of information stored at a location called a memory address to be stored and retrieved independently of information at neighboring addresses. The memory606is also used by the processor604to store temporary values during execution of processor instructions. The computer system600also includes a Read Only Memory (ROM) or any other static storage device coupled to the bus602for storing static information, including instructions, that is not changed by the computer system600. Some memory is composed of volatile storage that loses the information stored thereon when power is lost. Also coupled to the bus602is a non-volatile (persistent) storage device608, such as a magnetic disk, a solid state disk, optical disk or flash card, for storing information, including instructions, that persists even when the computer system600is turned off or otherwise loses power.

Information, including instructions for processing the preconfigured data collection is provided to the bus602for use by the processor604from an external input device610, such as a keyboard containing alphanumeric keys operated by a human user, a microphone, an Infrared (IR) remote control, a joystick, a game pad, a stylus pen, a touch screen, or a sensor. The sensor detects conditions in its vicinity and transforms those detections into physical expression compatible with the measurable phenomenon used to represent information in the computer system600. Other external devices coupled to the bus602, used primarily for interacting with humans, include a display612, such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), a Light Emitting Diode (LED) display, an organic LED (OLED) display, active matrix display, Electrophoretic Display (EPD), a plasma screen, or a printer for presenting text or images, and a pointing device, such as a mouse, a trackball, cursor direction keys, or a motion sensor, for controlling a position of a small cursor image presented on the display612and issuing commands associated with graphical elements presented on the display612, and one or more camera sensors614for capturing, recording and causing to store one or more still and/or moving images (e.g., videos, movies, etc.) which also may comprise audio recordings. Further, the display612may be a touch enabled display such as capacitive or resistive screen. In some embodiments, for example, in embodiments in which the computer system600performs all functions automatically without human input, one or more of the external input device610, and the display612may be omitted.

In the illustrated embodiment, special purpose hardware, such as an ASIC616, is coupled to the bus602. The special purpose hardware is configured to perform operations not performed by the processor604quickly enough for special purposes. Examples of ASICs include graphics accelerator cards for generating images for the display612, cryptographic boards for encrypting and decrypting messages sent over a network, speech recognition, and interfaces to special external devices, such as robotic arms and medical scanning equipment that repeatedly perform some complex sequence of operations that are more efficiently implemented in hardware.

The computer system600also includes one or more instances of a communication interface618coupled to the bus602. The communication interface618provides a one-way or two-way communication coupling to a variety of external devices that operate with their own processors, such as printers, scanners and external disks. In general, the coupling is with a network link620that is connected to a local network622to which a variety of external devices with their own processors are connected. For example, the communication interface618may be a parallel port or a serial port or a Universal Serial Bus (USB) port on a personal computer. In some embodiments, the communication interface618is an Integrated Services Digital Network (ISDN) card, a Digital Subscriber Line (DSL) card, or a telephone modem that provides an information communication connection to a corresponding type of a telephone line. In some embodiments, the communication interface618is a cable modem that converts signals on the bus602into signals for a communication connection over a coaxial cable or into optical signals for a communication connection over a fiber optic cable. As another example, the communications interface618may be a Local Area Network (LAN) card to provide a data communication connection to a compatible LAN, such as Ethernet™ or an Asynchronous Transfer Mode (ATM) network. In one embodiment, wireless links may also be implemented. For wireless links, the communication interface618sends or receives or both sends and receives electrical, acoustic or electromagnetic signals, including infrared and optical signals that carry information streams, such as digital data. For example, in wireless handheld devices, such as mobile telephones like cell phones, the communication interface618includes a radio band electromagnetic transmitter and receiver called a radio transceiver. In certain embodiments, the communication interface618enables connection to the network618for processing the preconfigured data collection associated with the campaign. Further, the communication interface618can include peripheral interface devices, such as a thunderbolt interface, a Personal Computer Memory Card International Association (PCMCIA) interface, etc. Although a single communication interface618is depicted, multiple communication interfaces can also be employed.

The network link620typically provides information communication using transmission media through one or more networks to other devices that use or process the information. For example, the network link620may provide a connection through the local network622to a host computer624or to ISP equipment operated by an Internet Service Provider (ISP).

A computer called a server626, connected to the Internet, hosts a process that provides a service in response to information received over the Internet. For example, the server626hosts a process that provides information representing video data for presentation at the display612. It is contemplated that the components of the computer system600can be deployed in various configurations within other computer systems, e.g., the host624and the server626.

At least some embodiments of the invention are related to the use of the computer system600for implementing some or all of the techniques described herein. According to one embodiment of the invention, those techniques are performed by the computer system600in response to the processor604executing one or more sequences of one or more processor instructions contained in the memory606. Such instructions, also called computer instructions, software and program code, may be read into the memory606from another computer-readable medium such as the storage device608or the network link620. Execution of the sequences of instructions contained in the memory606causes the processor604to perform one or more of the method steps described herein. In alternative embodiments, hardware, such as the ASIC616, may be used in place of or in combination with software to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware and software, unless otherwise explicitly stated herein.

While certain embodiments of the invention are described above, andFIGS. 1-6disclose the best mode for practicing the various inventive aspects, it should be understood that the invention can be embodied and configured in many different ways without departing from the spirit and scope of the disclosure.

For example, embodiments are disclosed above in the context of facilitating a purchase of an item. Embodiments, as disclosed above, are directed to systems and methods to facilitate sale and purchase of items at discounted prices to an end-user. Specifically, one or more delivery devices, such as discount cards or coupons, are generated and distributed to the end-users to increase usage or sale of an item. End-users are also enabled to access information regarding the purchase of various items by a single registration step. Further, end-users can purchase items at discounted prices in the absence of prior history of transactions from any or a combination of the sellers, the facility providers, and/or the distribution entities.

Embodiments, as disclosed above, are directed to systems and methods to provide profit for the seller of the item, the provider of the delivery device and/or the distributor of the delivery device based on an unused discount value present on the delivery device.

Embodiments, as disclosed above, are directed toward a single platform for multiple sellers to offer the sale of multiple items and for the end-users to make one or more purchases from the sellers.

In some embodiments, the stored value on the delivery device can be replenished or recharged when the stored value falls below a minimum threshold value or is null. The stored value can be recharged through additional purchases or through various reward programs offered by the facility providers, the distribution entities and/or the sellers.

In other embodiments, the delivery device may be a physical card or any portable device that includes a magnetic strip, a biometric chip, an RFID (Radio Frequency Identification) tag, or other types of Near Field Communication (NFC) chip, for enabling unique identification of the delivery device and facilitating transactions at various points-of-sale terminals.

Exemplary embodiments are intended to cover all software or computer programs capable of enabling processors to implement the above operations, designs and determinations. Exemplary embodiments are also intended to cover any and all currently known, related art or later developed non-transitory recording or storage mediums (such as a CD-ROM, DVD-ROM, hard drive, RAM, ROM, floppy disc, magnetic tape cassette, etc.) that record or store such software or computer programs. Exemplary embodiments are further intended to cover such software, computer programs, systems and/or processes provided through any other currently known, related art, or later developed medium (such as transitory mediums, carrier waves, etc.), usable for implementing the exemplary embodiments disclosed above.

In accordance with the exemplary embodiments, the disclosed computer programs can be executed in many exemplary ways, such as an application that is resident in the memory of a device or as a hosted application that is being executed on a server and communicating with the device application or browser via a number of standard protocols, such as TCP/IP, HTTP, XML, SOAP, REST, JSON and other sufficient protocols. The disclosed computer programs can be written in exemplary programming languages that execute from memory on the device or from a hosted server, such as BASIC, COBOL, C, C++, Java, Pascal, or scripting languages such as JavaScript, Python, Ruby, PHP, Perl, ColdFusion or other sufficient programming languages.

While the subject matter has been described in detail with reference to exemplary embodiments thereof, it will be apparent to one skilled in the art that various changes can be made, and equivalents employed, without departing from the scope of the invention. All related art references discussed in the above Background section are hereby incorporated by reference in their entirety.