A METHOD AND APPARATUS FOR CONTROLLING FUNCTIONALITY OF A DEVICE BASED ON TIME OF DAY
FIELD OF INVENTION
This invention relates generally to electronic devices and, more particularly, to portable electronic devices that have controllable functions and maintain time of day.
BACKGROUND OF THE INVENTION
Mobile stations (also referred to as a radiotelephones, mobile devices, mobile transceivers, mobile telephones, mobile terminals, etc.) are becoming a convenient means of communication around the world. Today, people use mobile phones as a main means of communication throughout everyday life. People use mobile phones to take care of everyday business, usually during business hours, and take care of personal matters, usually during off hours. There are several features provided on the mobile phone that allow the users to customize the settings. For example, a user working in noisy surroundings may set the ring volume to loud and select vibrate mode so that the user can hear the ring or feel the phone when a call is received. This user must then adjust these settings when moving away from the noisy work environment into a low-noise environment, such as a home. Having to adjust the setting everyday can be very inconvenient.
Also, electronic devices using Liquid Crystal Displays (LCD) may use backlight when a key is pressed. Energy is wasted when these devices are used when natural light is available. The unnecessary use of battery power is especially inconvenient for mobile electronic devices, in which conversion of the battery power is very valuable.
Also, as mobile phones are becoming more affordable, parents are starting to provide mobile phones to their children for various reasons. In
some areas of the world, even children attending first grade are carrying and using mobile phones. Parents of these children provide mobile phones so that they can communicate with the children anytime during the day, for example, in case of an emergency or simply to notify the child to stay at a secure location because they will be late. Also, children having mobile phones are able to call for assistance in case of an emergency. For both parents and children, having a means to communicate throughout the day is very useful. However, in some areas of the world, children are sending and receiving calls during school hours that not related to emergencies. Some students receive calls while they are taking exams, thereby providing a means to cheat. Mobile phones with short message service (SMS) functions are even more problematic. Using the SMS function, students may ask questions and receive answers, virtually undetected by their teachers, even during exams. The schools may be forced to set rules requiring that phones not be allowed in schools or classes. However, if students cannot have phones with them at all times, this may defeat the main reasons that parents provide their children with phones.
SUMMARY OF INVENTION
Briefly described, the present invention comprises a method and apparatus, which automatically controls functionality of a mobile device based on time of day. The method and apparatus is provided for modifying functional parameters of a mobile device based on a time of day by determining if the time of day is greater than or equal to an action time parameter; and, if yes, selecting and executing a task associated with a function to execute. The action time parameter may then be updated.
In an embodiment of the invention, an LCD backlight function of a mobile phone may be controlled based on time of day. Typically, during the day there is enough light to read the information on the LCD of a mobile phone without providing any backlight. Therefore, the backlight function may
be turned off during the day and may be turned on during night. The user may adjust the action times based on preference or the time of year (daylight saving, for example). The advantage is that the amount of LCD light used can be controlled, thereby saving battery power during the day when plenty of natural light may be available.
In another embodiment of the invention, the user may select a block of time for operation of certain alert features (for example, ring volume, ring tone, vibrate mode, etc.) based on working hours and personal preferences. For example, working hours could start at 7:30 a.m. and end at 4:30 p.m. for Monday through Friday. In this example, when the user works in a noisy environment, the mobile phone's ring is set to loud and vibrate mode is on from 7:30 a.m. to 4:30 p.m., Monday through Friday. Advantage is that the user sets the working hours and never worries about the phone ringing very loud after 4:30 p.m. or missing a call due to low-ring volume during working hours. The mobile phone automatically adjusts the setting of the selected functions during non-working hours.
Yet in another embodiment, a user can inhibit or allow operation of a mobile station within certain time periods. For example, parents who provide mobile phones for their children can program the mobile phone for operation during non-school hours only, such that the mobile phone is fully functional only during non-school hours. During school hours, most of the functions of the mobile phone may be disabled. For example, the send, receive and SMS functions may be turned off for normal use during school hours. However, the parents can preprogram phone numbers into the mobile phone, so that it can only accept calls from or make calls to a selected number or numbers during school hours. The advantage of this embodiment is the phone can transmit and receive calls for only preprogrammed numbers during school hours. During non-school hours the phone can function as normal. The parents have the knowledge that their children are not abusing the mobile phone, and
school officials do not have to worry about the students abusing phones during school hours.
BRIEF DESCRIPTION OF THE DRAWINGS
Other advantages will be readily appreciated, as the invention becomes better understood by reference to the following detailed description and the accompanying drawings.
FIG. 1 is a block diagram of a mobile phone according to an embodiment of the invention;
FIG. 2 is an action table and variables defined in the memory of the mobile phone of FIG. 1 ; and
FIG. 3 is a flow diagram that illustrates the monitoring task executed by the mobile phone of FIG. 1.
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram of a mobile phone according to an embodiment of the invention. Generally, mobile phone 1 includes transmitter 10, receiver 11 , and processor 13 that is coupled to transmitter 10 and receiver 11. Processor 13 initiates the transmission of outgoing signals and processes incoming signals. These signals may include signaling information in accordance with the air interface of the applicable cellular or digital system, and also user speech and/or user generated data.
A user interface includes ringer 17 for controlling the volume of the ring, Liquid Crystal Display (LCD) 16 with a backlight, and user input device keypad 15, all of which are coupled to processor 13. Mobile phone 1 also comprises timer 14 (also referred to as a clock chip) for synchronizing the operations of processor 13 and tracking the current time of day. Timer 14 is coupled to processor 13 to maintain a current time-of-day signal to processor
13. Alternatively, in some systems, the network (not shown) may provide a current time-of-day signal transmitted to mobile phones over the air interface.
Mobile phone 1 also includes various memories, shown collectively as memory 12. Memory 12 includes a plurality of stored constants and variables that are used by processor 13 during the operation of mobile phone 1. For example, memory 12 stores the values of the various feature parameters and the number assignment module (NAM). An operating program for controlling the operation of processor 13 is also stored in memory 12 (typically in a read only memory). Memory 12 is also used to store data provided by the user through the user interface. Furthermore, memory 12 is used to hold the subprograms or subprocesses for controlling the operation of mobile phone 1 and carrying out the embodiment of the invention.
FIG. 2 illustrates an action table 5 used for the preferred embodiment. The action table 5 is stored and defined in memory 12 and contains information used to carry out the embodiment of the invention. Table 1 shows an example of a pseudo code for creating the action table 5, as shown in FIG. 2. The action table 5 is a collection of one or more functions, such as function 1 -function N that comprise a function list 20. Referring to function 1 as an example, each function, such as function 1 , comprises a current set pointer 22, a time_task list 25, comprising time_task sets 23, and a next function pointer 24.
The current set pointer 22 is used to point one of time_task set 23 and generally points to the set 23 that requires an action. Each time_task set 23 comprises a task time 23A, task type 23B and next set pointer 23C. The task time 23A presents the time to execute the task type 23B. The task type 23B is the type of task to be performed, which is associated with the function 1. The task is part of a list of one or more tasks, wherein each task list is associated with the function. Table 2 shows an example of the function list 20 and a list of tasks associated with each function. The next set pointer 23C
points to the next set that requires action. If there is only one time_task 23 in the time_task list 25, then the next set pointer 23C is set to a predetermined value (null, for example) to indicate that this time_task set 23 is the last set in the task list 25. The task list 25 may be a link list or an array of records. One skilled in the art knows that link lists are dynamically created and require some memory management, whereas arrays have predetermined size, for example, array of ten records, which ae defined at time of manufacture. It should be noted that using link list versus arrays is a manufacturer preference and not a limitation.
The next function pointer 24 is used to point to the next function in the action table 5. If there is only one function in the action table 5, then the next function pointer 24 points to itself. It should be realized that modification to number of functions or number of tasks should not be a limitation.
Table 1. Pseudo Code Example
Table 2. Example of Functions and Associated Task List
Function Associated Task list
LCD back light control Turn ON LCD back light task
Turn OFF LCD back light task
School Mode Control Turn ON SMS Function task
Turn OFF SMS Function task
Turn ON Transmit Function task
Turn OFF Transmit Function task
Turn ON Receive Function task
Turn OFF Receive Function task
Work Mode Control Set Ringer to loud task
Set Ringer to low task
Turn Vibrate Mode ON task
Turn Vibrate Mode OFF task
In accordance with an aspect of this invention the operating program in memory 12 includes a routine to allow the user to set up one or more function settings to control based on time of day. Using the menu function, the user is able to select a function, enter a range of time, and select a task from a list of tasks. Depending upon the function, the user may enter passwords or add, modify or delete tasks. Once the user has completed entering data for the
function, the routine updates the action table 5 and calculates all the time parameters.
It should be realized that, as an alternative, action table 5 can be initialized when the phone is manufactured or activated and may not allow the user to make any modification. Also, it is within the scope of the invention to provide override features, which either temporarily or permanently modify the action table 5. For example, if a user wants the LCD backlight during the day, a long press key ("*" key, for example) would turn on the LCD backlight for a predetermined time. Also, for the "School Mode Control," password sequence can be provided to ensure that the user (student, for example) is prevented from modifying preprogrammed tasks and/or times to perform tasks set by the parent.
Reference is made to FIG. 3 for illustrating a monitoring task in accordance with an embodiment of this invention. Processor 13 periodically executes the monitoring task. At block 30, it is assumed that an action time parameter (not shown) has been initialized. The action time parameter indicates the next time to take an action and is defined as a variable in memory 12. At block 31 , the current time of day is accessed by processor 13 from clock chip 14 and compared with the action time parameter. If the current time of day is greater or equal to the action time parameter, then block 32 is executed. Otherwise, processor 13 exits the monitoring task.
At block 32, processor 13 loops through one or more functions to determine which function requires a task to be performed. Processor 13 accesses the action table 5 from memory 12. Starting with function 1 in the action table 5, processor 13 compares the time value indicated by task time 23A of set 23 pointed to by current set pointer 22 with the action time parameter. If the time value is greater than or equal to the action time parameter, then this function requires a task to be performed. Otherwise, processor 13 uses the next function pointer 24 to check the next function in
table 5. Processor 13 exits the loop if the next function pointer 24 points back to function 1.
When it is determined that a task is to be performed, at block 33, the task to execute is selected from the set 23 pointed to by the current set pointer 22, i.e., task type 23B of the set 23. At block 34, the selected task is then executed. For example the 'Turn OFF LCD backlight task" (shown in Table 2) is executed by processor 13 setting LCD backlight variable to OFF in memory 12.
Next, at block 35, processor 13 updates the current set pointer 22 with a next set pointer 23C of the set 23. Upon cycling through all the functions, at block 36, the processor calculates a new value for the action time parameter. This is done by selecting the lowest time value, indicated by the task time of the set 23 pointed to by the current set pointer of each function of functions 1- N defined in the action table 5. Once the lowest time value is determined, then processor 13 sets the lowest time value as the action time parameter and exits the monitoring task at block 37.
It should be realized that it is within the scope of the invention to update the parameters in the action table 5 once a day to avoid repeated action. Depending on the method of updating the parameters, the action table 5 and memory 12 may require additional variables.
It should also be realized that it is within the scope of the invention to provide power-up routines that update the action table 5, to align functions setting with the current time of day, and to calculate the action time parameter to represent the next time to take any action.
Thus, while the invention has been particularly shown and described with respect to preferred embodiments thereof, it will be understood by those skilled in the art that changes in form and detail may be made therein without departing from the scope and spirit of the invention.