Mobile communication device system and method for determining mode settings of vehicle passengers

A method includes detecting, by a first mobile communication device, a group of mobile communication devices that are in proximity to the first mobile communication device; initiating pairing of each mobile communication device of the group with the first mobile communication device and with each other; providing, by the first mobile communication device, an alphanumeric code to the group of mobile communication devices along with a drive mode disable command; determining that the first mobile communication device is associated with the vehicle driver; and placing the first mobile communication device in drive mode and broadcasting an advertising packet to the other mobile communication devices of the group. The advertising packet contains a disable drive mode command and the alphanumeric code.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to mobile communications devices such as mobile telephones that incorporate hands free operation using text-to-voice capability and speaker phone capability.

BACKGROUND

Mobile communication devices are increasingly being integrated with additional sensors. These sensors provide a variety of functionality such that mobile communication devices are becoming more powerful in determining a user's context and providing meaningful actions based on the determined context.

One such context determination is in-vehicle usage. A mobile communication device can determine whether a user is in a moving vehicle or not by using sensor data from one or more of an accelerometer and audio sensor and location data. After the mobile communication device makes a determination that the user is in a vehicle, it can adjust settings for hands-free mode and to facilitate the user focusing on the road while driving.

For example, some existing mobile communication devices can announce a caller's name and read out a text message for the user if the determined context is that the user is in a vehicle. This context detection response is desirable if the user is driving a car, because it facilitates the driver keeping her eyes on the road rather than being tempted to look at the mobile communication device. In some instances, the keypad or graphical user interface (GUI) may be locked to prevent the user from texting while driving. However, if the user is a passenger in the vehicle and is not the driver, the same response would be undesirable. Unfortunately, current in-vehicle context detection methods in mobile communication devices fail to distinguish between when the user is driving a car and is only a passenger in the car. This is because the data used for this purpose appears similar with respect to detected motion and location.

DETAILED DESCRIPTION

The present disclosure provides a system in which vehicle passenger mobile communication devices are distinguished from a vehicle driver's mobile communication device for the purpose of accordingly adjusting or maintaining mobile communication device settings. The vehicle driver's mobile communication device is accordingly placed in a driver mode of operation while the passenger mobile communication devices are allowed to operate outside of driver mode, despite the passenger mobile communication devices' detecting the driver mode triggering conditions.

Turning now to the drawings,FIG. 1is a diagram of a group100of mobile communication devices pairing with each other using a low energy wireless protocol101. The low energy wireless protocol101may be Bluetooth® Low Energy (hereinafter “BLE” also referred to as “Bluetooth® Smart”). One of the mobile communication devices of the group100may send an invite message to the other members of the group100to initiate the pairing. In one embodiment, the first mobile communication device that sent the pairing invite generates an alphanumeric code. In an alternative embodiment, each mobile communication device of the group100independently generates an alphanumeric code in response to the pairing invite.

Each mobile communication device acts in both the roles of BLE central and BLE peripheral. In the BLE peripheral role, each mobile communication device may generate a unique alphanumeric code and send this code along with a pairing command to the other mobile communication devices. Each mobile communication device then pairs with each other mobile communication device, receives the unique alphanumeric codes and stores the alphanumeric codes in memory. In embodiments where only one of the mobile communication devices (the initiating mobile communication device) generates the alphanumeric code, each other mobile communication device receives the alphanumeric code from the initiating mobile communication device during pairing.

Following the pairing event shown inFIG. 1, at any time that one of the mobile communication devices of the group100determines that its user is the driver of a non-stationary motor vehicle, it switches to driver mode and broadcasts a short message (via BLE). This operation is illustrated inFIG. 2which is a diagram of a vehicle200driver's mobile communication device201sending a broadcast message to passenger mobile communication devices203in the group. The group of mobile devices are located in the vehicle200and a first mobile communication device201is determined to belong to the vehicle driver. Put another way, the first mobile communication device201is determined to be associated with the vehicle driver. This determination may be made by any appropriate mechanism and is outside the scope of the present disclosure.

In response to a determination that mobile communication device201belongs to the vehicle driver, the mobile communication device201performs a BLE broadcast operation and uses a BLE advertising packet207over the BLE wireless interface205. The advertising packet207includes the alphanumeric code described above, along with information indicating that its user is the driver of the vehicle200. Upon receiving the advertising packet207, driver mode in passenger mobile communication devices203is disabled, provided that the mobile communication device determine that an alphanumeric code included in the advertising packet207matches the previously received alphanumeric code stored in each mobile communication device's memory.

FIG. 3is a diagram of a mobile communication device300in accordance with an embodiment. In accordance with the example embodiment ofFIG. 3, the mobile communication device300includes a code generator333that is operative to generate a unique alphanumeric code and broadcast it in an advertising packet over a wireless link. The mobile communication device300includes at least one processor301, display305, user interface307, one or more wide area network (WAN) transceivers309(such as, but not limited to CDMA, UMTS, GSM, etc.), WLAN baseband hardware311, processor/controller313, GPS hardware317, and non-volatile, non-transitory memory303. Speakers, microphones and audio processing315may include, among other things, at least one microphone, at least one speaker, signal amplification, analog-to-digital conversion/digital audio sampling, echo cancellation, etc., which may be applied to one or more microphones and/or one or more speakers of the mobile communication device300.

All of the mobile communication device300components shown are operatively coupled to the processor301by one or more internal communication buses302. In some embodiments, a separate sensor processor319monitors sensor data from various sensors including a gyroscope321and an accelerometer323as well as other sensors325. The gyroscope321and accelerometer323may be separate or may be combined into a single integrated unit.

The memory303is non-volatile and non-transitory and stores executable code for an operating system327that, when executed by the processor301, provides an application layer (or user space), libraries (also referred to herein as “application programming interfaces” or “APIs”) and a kernel. The memory303also stores executable code for various applications329, and a BLE protocol stack331. The processor301is operative to, among other things, launch and execute the operating system327, applications329and the BLE protocol stack331.

In the example embodiment illustrated inFIG. 3, the BLE protocol stack executed on the processor301includes the BLE host layer335and the code generator333which is executed in the application layer. The host layer335includes the Generic Access Profile (GAP)337, Generic Attribute Profile (GATT)339, Security Manager (SMP)341, Attribute Protocol (ATT)343and Logical Link Control and Adaptation Protocol (L2CAP)345. The processor301also executes the host side Host Controller Interface (HCl)350which enables communication with the processor/controller313. The processor/controller313provides the BLE control layer including the Link Layer (LL)347, Physical Layer (PHY)349and the controller side HCl of HCl350. The Physical Layer349is operatively coupled to one or more antennas310for transmitting and receiving information using the BLE low energy wireless protocol. The one or more antennas310are also operatively coupled to one or more wide area network (WAN) transceivers309.

It is to be understood that the host layer335and control layer (i.e. link layer347and physical layer349) can be implemented in other ways that are contemplated by the present disclosure and that the example shown inFIG. 3is only one possible implementation. For example, in some embodiments, the host layer and control layer may be implemented on a single integrated processor. In other example embodiments, the host layer and control layer may be executed on one processor, while the application layer is executed on another processor and communicates with the host layer using a proprietary protocol rather than HCl. Such various implementations are contemplated by the present disclosure. Furthermore, the memory303may be operatively coupled to the processor301and processor/controller313via the internal communications buses302as shown, may be integrated with, or distributed between the processors, or may be some combination of operatively coupled memory and integrated memory.

It is to be understood that any of the above described example components in the example mobile communication device300, without limitation, may be implemented as software (i.e. executable instructions or executable code) or firmware (or a combination of software and firmware) executing on one or more processors, or using ASICs (application-specific-integrated-circuits), DSPs (digital signal processors), hardwired circuitry (logic circuitry), state machines, FPGAs (field programmable gate arrays) or combinations thereof In embodiments in which one or more of these components is implemented as software, or partially in software/firmware, the executable instructions may be stored in the operatively coupled, non-volatile, non-transitory memory303, and may be accessed by the processor301, or other processors, as needed.

Turning toFIG. 4, a diagram representation of a modified advertisement packet400in accordance with an embodiment is illustrated. The advertisement packet400includes a preamble, access address, protocol data unit (PDU) header, advertisement address, flags field, advertisement data401field and a cyclic redundancy check (CRC) field. The advertisement data401includes a command403field and an alphanumeric code405field which is used as a drive mode deactivate code in accordance with an embodiment. Other fields of the advertisement data401include length, type, and transmit power. Table500inFIG. 5is provides further details of the advertisement data401fields shown inFIG. 4along with the field size in octets. The command403field includes a pairing command and a “deactivate drive mode” command which is used to deactivate drive mode in the passenger mobile communication devices when it is received together with the alphanumeric code405and the alphanumeric code405matches a previously received alphanumeric code stored in memory.

The various operations of the example mobile communication device300shown inFIG. 3and in conjunction with a group of mobile communication devices are best understood in light of the flowcharts ofFIG. 6andFIG. 7which are described further below.FIG. 6is a flow chart of a process in a group of mobile communication devices in accordance with various embodiments. The process begins and in operation block601, BLE is enabled for each mobile communication device of a group. The group may be determined group by a commonly received invitation message sent my one mobile communication device. Those mobile communication devices that accept the invitation message attempt to join the group, and in operation block603, proceed to pair with other mobile devices in proximity.

During the pairing process in operation block603each mobile communication device generates an alphanumeric code for use as a drive mode deactivate code and sends it to each of the other mobile communication devices in the group. This may be accomplished using the advertising packet400shown inFIG. 4where the command403field may include the pairing command and the alphanumeric code405is used as the drive mode deactivate code. Each mobile communication device of the group stores any received alphanumeric codes in memory for later comparison.

In operation block605, each mobile communication device of the group may determine that is in motion in vehicle. This may be accomplished in a variety of ways, for example by monitoring sensor data such as from the gyroscope321and accelerometer323shown inFIG. 3for example mobile communication device300or from various other sensors325, or by receiving a user voice response to a prompt which asks the user if they are driving the vehicle. In operation block607, one of the mobile communication devices of the group makes a further determination that is associated with the vehicle driver. This may be accomplished in any number of suitable ways. For example, the mobile communication device may determine that it is placed in a docking station or docking port within the vehicle or that it is in a position relative to where the driver of vehicle would be located or through some other mechanism which is outside the scope of the present disclosure. After making the determination that the mobile communication device is associated with the vehicle driver in operation block607, that mobile communication device will place itself in drive mode in operation block609. In operation block611the driver's mobile communication device will broadcast an advertising packet with an alphanumeric code (i.e. the drive mode deactivate code) and the deactivate drive mode command to every other mobile communication device of the group. In operation block613, the other mobile communication devices of the group that have received the advertising packet will deactivate drive mode. The process then ends as shown.

FIG. 7is a flow chart of a process in an individual mobile communication device in in accordance with an embodiment. The process begins in operation block701, the mobile communication device pairs with every other communication device of a group. In operation block703the mobile communication devices generates a drive mode deactivate code and sends that code to each other mobile communication device of the group. In operation block705, the mobile communication device receives a drive mode deactivate code from every other mobile communication device of the group and stores the codes in memory.

The mobile communication device then performs a low power scan in operation block707. In decision block709, the mobile communication device monitors its own sensors for vehicle driver detection and also monitors whether it has received a drive mode deactivate code over the wireless link from another mobile communication device of the group.

In decision block709, if the mobile communication device determines that it is associated with the vehicle driver, then the mobile communication device proceeds to activate drive mode in operation block711and will broadcast and advertising packet with the drive mode deactivate code as shown in operation block713. This drive mode deactivate code is the same drive mode deactivate code that was generated by the mobile communication device in operation block703. The process then ends as shown.

However, if in decision block709a drive mode deactivate code is received, the mobile communication device will compare the drive mode deactivate code with one or more code stored in memory as shown in decision block715. If the received drive mode deactivate code matches a code already stored in memory, then the mobile communication device will deactivate drive mode, if it was previously activated, as shown in operation block719and the process then ends as shown. However, if the drive mode deactivate code does not match a code previously stored in memory in decision block715, then the advertising packet will be discarded as shown in operation block717and the mobile communication device will return to decision block709and will continue to monitor for vehicle driver detection or for a drive mode deactivate code.

While various embodiments have been illustrated and described, it is to be understood that the invention is not so limited. Numerous modifications, changes, variations, substitutions and equivalents will occur to those skilled in the art without departing from the scope of the present invention as defined by the appended claims.