Apparatus and method for controlling outbound communication

A mobile device is provided. The mobile device includes an activity sensor for generating data, a channel controller configured to determine the user presence based on the data obtained through the activity sensor, and a communication interface for communicating with an external network. The channel controller is configured to block or disable the communication between a source on the mobile device and the external network when the channel controller determines a lack of the user presence for a predetermined time.

TECHNICAL FIELD

The present disclosure relates to an apparatus and method for controlling an outbound communication channel. More particularly, the present disclosure relates to an apparatus and method for blocking or disabling access to interactive push features of a mobile device when the user is not present.

BACKGROUND

Mobile terminals such as smart phones and tablets are developed to provide wireless communication between users. As technology has advanced, mobile terminals now provide many additional features beyond simple telephone conversation. For example, mobile terminals are now able to provide additional functions such as an alarm, a short messaging service (SMS), a multimedia message service (MMS), e-mail, games, remote control of short range communication, an image capturing function using a mounted digital camera, a multimedia function for providing audio and video content, a scheduling function, and many more. With the plurality of features now provided, a mobile terminal has effectively become a necessity of daily life.

However, the proliferation of smart phones and tablets is also attracting hackers. Hackers have demonstrated the ability to remotely access smart phones and tablets. Malicious entry onto the platform can be gained in a variety of ways, including app updates. There is possibility that interactive processes in use when the user is not actively using the phone could be the result of malicious, unintended, or unauthorized action.

Accordingly, there is a need for an apparatus and method for blocking unintended or malicious use of the device when the user is not present.

SUMMARY

Aspects of the present disclosure are to address at least the above-mentioned problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present disclosure is to provide an apparatus and method for blocking or disabling a mobile device “push features” from a push source over an external network if there is no evidence of user presence.

In accordance with an aspect of the present disclosure, a mobile device is provided. The mobile device includes an activity sensor for generating data, a channel controller configured to determine the user presence based on the data obtained through the activity sensor, and a communication interface for communicating with an external network. The channel controller is configured to block or disable the communication between a source on the mobile device and the external network when the channel controller determines a lack of the user presence for a predetermined time.

In accordance with another aspect of the present disclosure, a method of a mobile device is provided. The method includes generating, by an activity sensor, data, determining, by a channel controller, the user presence or absence based on the data obtained through the activity sensor, communicating with an external network over a communication interface, and blocking or disabling, by the channel controller, the communication between a source of the mobile device and the external network when the channel controller determines a lack of the user presence for a predetermined time.

In accordance with another aspect of the present disclosure, a non-transitory computer-readable storage medium with an executable program stored thereon is provided. The program when executed by a processor controls an activity sensor to generate data, controls a channel controller to determine the user presence or absence based on the data obtained through the activity sensor, controls a communication with an external network over a communication interface, and controls the channel controller to block or disable the communication between a source of the mobile device and the external network when a lack of the user presence is determined for a predetermined time in the operation of the controlling of by the channel controller.

DETAILED DESCRIPTION

Detailed descriptions of various aspects of the present disclosure will be discussed below with reference to the attached drawings. The descriptions are set forth as examples only, and shall not limit the scope of the present disclosure.

Unless defined differently, all terms used in the present disclosure, including technical or scientific terms, have meanings that are understood generally by a person having ordinary skill in the art. Ordinary terms that may be defined in a dictionary should be understood to have the meaning consistent with their context, and unless clearly defined in the present disclosure, should not be interpreted to be excessively idealistic or formalistic.

According to various embodiments of the present disclosure, a mobile device may include communication functionality. For example, a mobile device may be a smart phone, a tablet Personal Computer (PC), a mobile phone, a video phone, an c-book reader, a desktop PC, a laptop PC, a netbook PC, a Personal Digital Assistant (PDA), a Portable Multimedia Player (PMP), an MP3 player, a mobile medical device, a camera, a wearable device (e.g., a Head-Mounted Device (HMD), electronic clothes, electronic braces, an electronic necklace, an electronic accessory, an electronic tattoo, or a smart watch, and/or the like.

According to various embodiments of the present disclosure, a mobile device may be any combination of the foregoing devices. In addition, it will be apparent to one having ordinary skill in the art that a mobile device according to various embodiments of the present disclosure is not limited to the foregoing devices.

Various embodiments of the present disclosure include an apparatus and method for blocking or disabling access to interactive push features when there is no evidence that the user is present. A “push feature” is any software or hardware mediated function which connects to an external network and pushes data to it.

FIG. 1illustrates a block diagram of a mobile device according to various embodiments of the present disclosure.

Referring toFIG. 1, a mobile device100may include activity sensors101, a channel controller110, a communications interface113and a user input device117.

The activity sensors101may, for example, measure physical quantities or detect operational states associated with the mobile device100, and convert the measured or detected information into electric signals. The activity sensors101may include accelerometer102, gyroscope103, touch sensor104, biometric sensor105, wearable device proximity sensor106, image sensor107, microphone108electrical activity sensor109and location sensor129. The activity sensors101may further include a control circuit for controlling one or more sensors included therein. According to various embodiments, the mobile device100may further include a microprocessor configured to control the activity sensors101, as a part of or separately from the channel controller110. Thus, while the mobile device100is in a sleep state, the control circuit may control the activity sensors101.

The accelerometer and gyroscope may sample information related to device movement, and device orientation for a pre-set period of time to determine the user presence. The touch sensor may sample information related to touch events such as drag motion events, swipe gestures, long press events and keyboard input to determine the user presence to determine the user presence. The biometric sensor may sample information related to biometric activity such as finger print, face and retinal scans and voice recognition etc. to determine the user presence. The wearable device proximity sensor may include a near field communication sensor such as an infrared sensor or a bluetooth sensor. The infrared sensor or the bluetooth sensor may determine the user presence based on device proximity to a wearable device for some adjustable period of time. The image sensor may include a camera and may sample information related to a images to determine the user presence. The microphone may sample information related to audio data. The electrical activity sensor may include galvanic sensor or an electrocardiogram (EKG) monitor. The galvanic sensor may sample information related to unique activity such as galvanic skin response. The EKG monitor may sample heart's electrical activity. The location sensor129may include a global positioning system (GPS) device or a triangulation device that may provide location information such as GPS coordinates. The location sensor may sample information related to a location such as global positioning system coordinates to determine the user presence.

The channel controller110may include at least a processor111, a memory112, context aware applications120and manager application121. The processor111may include one or more specialized microprocessors and/or a mobile application processor designed to support applications running in a mobile operating system environment. The memory112may store the applications running the mobile operating system environment.

The context aware applications120monitor login events, app activity and ignored notifications.

The channel controller110includes a logic for determining user presence and actuator for enabling or disabling an outbound communications interface113based on the information received from the activity sensors101and the information generated from the context aware applications120based on the rules provided by the manager application121. The actuator may be an electrical switch such as a transistor switch or a soft switch implemented by way of software running on the processor.

The communications interface113may include, for example, a cellular interface114, a wireless fidelity (Wi-Fi) interface115, a Bluetooth (BT) interface116and a Radio Frequency (RF) transceiver33. The RF transceiver33communicates with the cellular interface114, the Wi-Fi interface115, and the BT interface116.

The cellular interface114may provide services such as voice call, video call, text messaging, or an Internet service through a communication network. According to an embodiment of the present disclosure, the cellular interface may perform at least a part of the functionalities of the processor111.

The Wi-Fi and BT interfaces may be used to connect the mobile device to a communication network. The RF transceiver33may transmit and receive, for example, communication signals (for example, RF signals) to and from the cellular, BT and/or BT interfaces. The RF transceiver33may include, for example, a transmitter, a receiver, a power amplifier, a frequency filter, a low noise amplifier (LNA), an antenna, or the like.

The communications interface113may transmit and receive data from an external network600(FIG. 2). The outbound communication from the communications interface113is enabled or disabled by the channel controller110.

The input device117may include, for example, a touch panel118, and/or a key119. The touch panel118may operate in at least one of for example, capacitive, resistive, infrared, and ultrasonic schemes. The key119may include, for example, a physical button, a soft key, an optical key, or a keypad.

FIG. 2is a flow diagram of a method of disabling a communications interface by a channel controller according to various embodiments of the present disclosure.

Referring toFIG. 2, the flow diagram ofFIG. 2shows a flow of signals between activity sensors101, channel controller110, communications interface113a user400, a push source500and an external network600.

According toFIG. 2, the activity sensors101monitor the user400of the mobile device and feeds data associated with the user's presence to the channel controller110. For example, the activity sensors101may feed data associated with device movement, touch events or a display state of the display screen to indicate user presence or absence to the channel controller.

The context aware applications120running on the channel controller110may monitor login events, app activity and ignored notifications by the user. For example, a device unlock event is highly indicative of user presence; whereas, a pop-up notification that has been ignored by the user for an extended period of time is highly indicative of user absence.

If the channel controller fails to detect user activity for a period of time, the period adjustable or set by the manager application121, based on the data from the activity sensors101and context aware applications120, the channel controller110disables a communication between the push source500and an external network600. The disabling of the communication between the push source500and an external network600may be by way of disabling or blocking the outbound communications channel of a data plane.

FIG. 3is a flowchart of a method for enabling or disabling an outbound communications interface according to various embodiments of the present disclosure.

Referring toFIG. 3, a flowchart200illustrates a method of disabling an outbound communications interface in order to block or disable access to interactive push features when there is no evidence that a user is present. This prevents the unintended or malicious use of the mobile device when the user is not present.

In particular, at operation201, the channel controller110may collect information from activity sensors101and context aware applications120. The information from the activity sensors101may include device information regarding device movement, touch events, and display state. For example, the display state where the display screen is off and no sound is being played is highly indicative of user absence. The information from context aware applications may include login events, app activity and ignored notifications. For example, a device unlock event can be highly indicative of user presence; whereas, a pop-up notification that has been ignored for an extended period of time may be highly indicative of user absence.

Next, based on the information collected from the activity sensors101and context aware applications120, the channel controller110may build a model to output a likelihood of user's presence. The underlying model abstraction may be defined by function:
presence=f(input;parameters)  Equation 1

Where presence represents the likelihood of user presence, parameters represents the vector of model parameters that, when combined with f, completely define the presence calculation, and input represents the vector of sensor information.

In the case of a linear model, presence may be a vector of scalar values ranging from infinity to infinity, parameters may contain the coefficients of each input variable, and input may be a vector of probabilities.

According to an embodiment of the present disclosure, a model may be based on disjunction of step functions, in which the presence function f is the maximum of a set of step functions parameterized by thresholds. In this scenario, the device compares the input, for example the time elapsed since the last device unlock event, to the threshold value. If the input value is greater than the threshold, user presence is considered likely. Otherwise, user presence is considered unlikely.

According to an embodiment of the present disclosure, a model may be based on a neural network, in which the presence function f is a neural network parameterized by weights. As an example, the inputs are all converted to numerical values, and they are converted as follows to a presence score:
hidden1=sigmoid(Σinputi*weight1i)  Equation 2
hidden2=sigmoid(Σhidden1i*weight2i)  Equation 3
risk=sigmoid(Σhidden2i*weight3i)  Equation 4

If the output presence score is close to one in the model based on the neural network, user presence is considered likely. Otherwise, user presence is considered unlikely.

According to an embodiment of the present disclosure, a model may be based on a decision tree, in which the presence function f is a decision tree parameterized by: (1) the hierarchy of decisions; (2) the parameters required for each individual decision; and (3) the presence score output by each leaf of the decision tree.

In this scenario, the device computes a series of Boolean values based on the input. For example, the first decision may be to determine whether or not the user has interacted with the device touch screen recently, as determined by some threshold duration, the result is true, then the second decision may be to determine whether or not the display screen was just recently turned on; otherwise, the second decision may be to determine whether or not a video is currently playing. This continues until a decision outputs whether or not user presence is likely.

According to an embodiment of the present disclosure, a model may be based on making input features usable. All of the above models require input features to be in a numerical format consisting of a vector of scalar values. Not all input signals useful for determining user presence will be naturally available in this format. For these signals, there must be some process to convert the signals into a vector of scalar values. Two examples of such processes are described below.

Example Process 1: Distributions

Input signals occasionally come in the form of a distribution. For example, it is generally not possible to get the precise location of a user's device. Such requests for the location of a users device will often return several possible locations, each with their own level of accuracy. The multiple possible locations and accuracies represent a distribution over the possible locations.

Distributions can be converted to scalar numerical values through a weighted integral.
precision=|∫({right arrow over (x)}−x)2p({right arrow over (x)})d{right arrow over (x)}|2Equation 5

The above equation will yield a scalar value that can be used to determine whether the provided device location is sufficiently accurate. This value may be provided to a decision tree. If the value exceeds some threshold, then the decision tree would not attempt to make use of the location value to determine user presence. If the value is below the threshold, the decision tree would use location to determine use presence.

Example Process 2: Time Series

Some input signals are a sequence of values. For example, drag motion events detected by touch screen sensors will appear as a series of touch screen coordinated. These events are often meaningless on their own, but they can be made meaningful in aggregate. Algorithms such as dynamic time warping can be used to determine how similar such sequences are to certain sequences that are known to be meaningful.

Example input events known to be meaningful are swipe gestures, long-press events, and keyboard input of known common words.

Training the Model

All of the provided example models may make use of additional data that is used to initialize the model and to iteratively improve the model over time. This data is referred to as the ground truth. In order to build an accurate model, the ground truth must be reliable.

For the purposes of constructing the ground truth, some input features are specially marked as highly reliable and indicative of user presence. For example, a device unlock event is highly indicative of user presence. A pop-up notification that has been ignored for an extended period of time is highly indicative of user absence. The display screen being off and no sound being played is highly indicative of user absence.

Data that is not ground truth can optionally be used to train each respective model to correlate input features in order to subsequently make optimal use of the limited ground truth data. Ground truth data is then use to train the model to determine user presence or absence. The method of training a model is highly specific to each model.

Returning toFIG. 2at operation202, the channel controller110processes data and determines whether user activity is detected. If the channel controller110determines that the user activity is detected at operation202(YES), then the operation moves to203. At operation203, the channel controller110enables the outbound communications interface113if it is in disabled state.

If the channel controller110determines that the user activity is not detected at operation202(NO), then the operation moves to204. At operation204, the channel controller110determines whether a pre-set period has expired. If the pre-set period has expired, that is, the channel controller110has failed to detect user activity in the pre-set time, the operation moves to205. At operation205, the channel controller110disables (blocks) the outbound communications interface if the outbound communications interface is in enabled state.

It will be appreciated that various embodiments of the present disclosure according to the claims and description in the specification can be realized in the form of hardware, software or a combination of hardware and software.

Any such software may be stored in a non-transitory computer readable storage medium. The non-transitory computer readable storage medium stores one or more programs (software modules), the one or more programs comprising instructions, which when executed by one or more processors in an electronic device, cause the electronic device to perform a method of the present disclosure.

While the disclosure has been shown and described with reference to various embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents. Various embodiments of the present disclosure are described as examples only and are not intended to limit the scope of the present disclosure. Accordingly, the scope of the present disclosure should be understood as to include any and all modifications that may be made without departing from the technical spirit of the present disclosure.