The subject matter described herein relates to controlling one or more features of a mobile user device, such as a mobile phone and/or a digital camera. More particularly, the subject matter described herein relates to methods, systems, and computer program products for role- and locale-based mobile user device feature control.
Mobile user devices, such as mobile telephones, mobile telephones that incorporate digital cameras, digital cameras with mobile telephone capabilities and digital cameras without corresponding mobile telephone capabilities, include a variety of features or functions that it may be desirable to control based on the role of a user of such a device and the locale in which the device is being used. For example, with regard to mobile telephones, it may be desirable to control ring volume, call duration, or other features based on the role of a user and the locale in which the device and user are positioned. With regard to digital cameras, in some locales, it may be desirable to control a camera's ability to flash or the duration allowed for recording video clips.
There are a variety of problems associated with controlling features of mobile user devices. One problem is that the user may not know of device usage policies particular to the user's role or the locale in which the device is being used. For example, in a museum, a user may not know the specific areas in which flash photography is permitted or prohibited. In another example, in some social settings, a user may not know whether pictures or mobile phone calls are acceptable.
Another problem associated with controlling features of a mobile user device is that a user may not know how to program the device to implement the policies of the user's role and locale. For example, mobile phones and digital cameras include vast menus of options. The user may not know how to navigate the menus and/or to control the options. In addition, even assuming that the user knows how to control the options of his or her device, the user may forget to reactivate disabled features when the user leaves a particular locale.
In light of these difficulties associated with controlling mobile user devices, methods have been developed for disabling functions of mobile user devices based on locale. For example, transmitters have been placed in restaurants to disable mobile phones. Such devices typically rely on a disable signal being sent to all devices within a particular area. One problem with such devices is that all user devices are treated the same, regardless of the role of the user. For example, in an office environment, it may be desirable to allow customers to make phone calls but to disable mobile communications capabilities for employees. A disabling device that treats all devices the same regardless of the user's role does not allow such exceptions.
Other user device feature control methods require specialized user equipment and action on the part of the user to comply with the policy. For example, one conventional method for controlling digital cameras requires that the camera have a card reader and requires that the user swipe a smart card through the card reader to disable camera features. Requiring specialized equipment and user action to comply with device usage policies decreases the likelihood that compliance will be achieved. Yet another problem with these conventional approaches is that finer grain control than disabling all devices or an entire feature of all devices is needed.
Accordingly, there exists a need for improved methods, systems, and computer program products for role- and locale-based mobile user device feature control.
According to one aspect, the subject matter described herein includes a method for controlling at least one feature of a mobile user device based on a locale and a role of a user of the mobile user device. The method includes storing, in a database, role information defining a plurality of different roles assigned to different user types and corresponding locale-based mobile user device feature control policies. When the mobile user device is within a locale, the role of a user of the mobile user device is determined. A locale-based mobile device feature control policy corresponding to the role of the user is selected from the database. At least one feature of the mobile user device is controlled based on the locale-based feature control policy.
According to another aspect, the subject matter described herein includes a method for implementing role- and locale-based user device feature control at a user device. The method includes receiving information identifying a plurality of user roles. A role selection is communicated to a policy controller. A policy corresponding to the selected role is received from the policy controller. At least one feature of the mobile user device is controlled based on the policy.
According to yet another aspect, the subject matter described herein includes a method for applying different feature control policies to different user devices in the same locale. The method includes automatically communicating a first role- and locale-based feature control policy to a first mobile user device based on a role assigned to a first user. A second role- and locale-based feature control policy is automatically communicated to a second user device based on a role of a second user. The first and second user devices are controlled using the first and second policies, which are different from each other.
According to yet another aspect, the subject matter described herein includes a method for implementing role- and locale-based mobile user device feature control at a role- and locale-based policy controller. The method includes, at the policy controller, receiving role requests from mobile user devices. Policies corresponding to the role requests are determined. The policies are communicated to the user devices.
According to yet another aspect, the subject matter described herein includes a system for role- and locale-based user device feature control. The system includes a mobile user device feature control policy database for storing locale-based mobile user device feature control policies and corresponding mobile user roles. A role- and locale-based policy controller determines a role of a user of a mobile device, extracts a corresponding policy from the database, and communicates the policy to the mobile user device.
According to yet another aspect, the subject matter described herein includes a user device for implementing role- and locale-based feature control. The user device includes a feature control client for obtaining information identifying a plurality of user roles, for communicating a selected role to a policy controller and for obtaining a user device feature control policy corresponding to the selected role. The user device also includes a feature controller for controlling at least one feature of the device based on the user device feature control policy.
The subject matter described herein may be implemented using a computer program product comprising computer executable instructions embodied in a computer readable medium. Exemplary computer readable media suitable for implementing the subject matter described herein include chip memory devices, disk storage devices, programmable logic devices, application specific integrated circuits, and downloadable electrical signals. In addition, the computer readable medium used to implement the subject matter described herein may be located on a single device or computing platform or may be distributed across a plurality of devices or computing platforms.
Preferred embodiments of the subject matter described herein will now be explained with reference to the accompanying drawings of which:
Policy controller 100 may receive policies from an administrator via administrator terminal 104. In the illustrated example, role- and locale-based policy controller 100 includes an admin interface 106 for interfacing with an administrator terminal 104, a mobile user device interface 108 for interfacing with mobile user devices 102, a mobile user device feature control policy database 110 for storing mobile user device feature control policies, and a simultaneous feature usage control database 112 for storing data relating to simultaneous-use-controlled features. Admin interface 106 may be any suitable interface for communicating with another terminal via a network using any suitable protocol. In one exemplary embodiment, admin interface 106 may be a web interface. Mobile user device interface 108 may be any suitable interface for communicating with mobile user devices over a wireless communications link. For example, mobile user device interface 108 may be a wireless LAN (WLAN) interface, a code division multiple access (CDMA) wireless interface, time division multiple access (TDMA) wireless interface, a frequency division multiple access (FDMA) wireless interface, or a Bluetooth wireless interface.
Mobile user device policy control database 110 stores locale-based policies that are indexed by user roles. Exemplary locales and roles for which policies may be defined include the following:
For each locale, policies may be indexed according to role. For example, if the location is a company, exemplary roles may be employee, guest, customer, and administrator. If the locale is an educational institution, the roles may be student, guest, faculty member, etc. Each role may be associated with a different user based policy for the locale. For example, if device 102 is a digital camera and the locale is a museum, guests may be given non-flash-photography privileges, while members of a media organization and museum employees may be given flash photography privileges. Dividing policies within a locale based on user roles enhances the utility of mobile user devices over such utility in locales where conventional feature control measures that block features for users regardless of the user type are utilized.
Table 1 shown below illustrates exemplary data that may be stored in database 110 for cameras and mobile phones.
It should be noted that in Table 1, policies for different locales are included. However, at any given locale, database 110 may only be populated with roles and corresponding policies specific to the locale. Alternatively, database 110 may store a set of default policies for a plurality of different locales. When a policy controller is activated in a given locale, the administrator may enable policies that apply to the particular locale, while leaving the remaining policies disabled. In addition, the administrator may create new policies and modify the default policies using admin interface 106.
Simultaneous feature usage control database 112 stores data regarding the number of users that are simultaneously using a given feature and pending requests to use the feature that have not been granted. Some features, even though allowed for a given locale and user role, may require permission from policy controller 100 for activation to limit the number of users simultaneously activating the same feature in the locale. For example, if user device 102 is a camera, it may be desirable to limit the number of simultaneous video recordings being made, even though video recording is allowed for a particular user role and locale. In order to implement such a feature, simultaneous feature usage control database 112 tracks the number of users activating a feature. If at any given time the number of feature activation requests meets or exceeds the allowed number of requests, new requests may be denied and stored in database 112 until the requests can be granted. Once a request is granted, the usage count for a given feature may be incremented and any pending request data for that request may be removed.
Table 2 shown below illustrates exemplary request data that may be stored in database 112 to control the number of users that are simultaneously activating a particular feature.
The data contained in Table 2 includes the feature ID, the number of current users, the maximum number of simultaneous users allowed, the IDs and feature activation times of current users, and the IDs of requesting users. In the illustrated example, there are 10 current users, the maximum number of simultaneous users allowed is 10, and there is one user waiting to use the feature. In some implementations, it may be desirable to limit the duration of usage by current users to prevent the current users from monopolizing a feature when others are waiting. Storing the user ID and feature activation time allows policy controller 100 to disable a feature being used by one user by sending a disable message to the user when the feature has been activated for the maximum allowed time period. Once the feature is disabled for one user, that user's ID may be removed from the table, the current user count may be decremented, and the pending user may be sent an enable message. The pending user's ID would then be moved to the current users field.
Mobile user devices 102 may be any mobile user devices with one or more features that it is desirable to control. Examples of mobile user devices 102 include digital cameras, mobile telephones, mobile telephones with digital camera features, digital cameras with mobile telephone features, etc. In the example illustrated in
Feature controllers 116 may read policy information obtained by clients 114 and control features of mobile user devices 102. Exemplary features that may be controlled include calling ability, ring volume, camera flash ability, flash intensity, etc.
Because feature control policies are individually negotiated with each mobile user device and mobile user, different feature control policies can be applied to different users within the same locale.
In block 222, policy controller 100 automatically communicates a second role- and locale-based feature control policy to a second mobile user device based on a role and locale of the second user. In block 224, the user devices control their respective operation based on the first and second policies. If the locale of the first and second user devices is the same and the role of the first and second users is different, the first and second policies may be different. Thus, the subject matter described herein allows different role- and locale-based feature control policies to be used for different user devices within the same locale.
It should be noted that the subject matter described herein is not limited to applying different policies to different user devices in the same locale. If the two users have the same role, the users may be assigned the same policy. In addition, if the two users have different roles, but the same policy is associated with the different roles, the same policies may be applied to both user devices. It should also be noted that any of the methods described herein can be repeated to determine the policy to apply to any number of user devices.
Once the user device receives the available roles, the user device may select an available role, either automatically or based on a user selection. In block 306, policy controller 100 determines whether a role selection has been received. If a role selection has been received, control proceeds to block 308 where policy controller 100 communicates a policy corresponding to the selected role to the user device. In block 306, if a role selection is not received within a predetermined time period, policy controller 100 may communicate a default policy to the user device in block 310. In one exemplary implementation, the default policy may be the policy corresponding to the most restrictive user role.
As stated above, another aspect of policy controller 100 may include controlling the number of users allowed to simultaneously use a given feature within a locale, even when the feature is allowed for the user's role within the locale.
In block 328, policy controller 100 receives a feature activation acknowledgement message from the user device. Control then proceeds to block 330 where policy controller 100 increments the simultaneous use count in database 112. In block 332, policy controller 100 adds the user ID and feature activation time to the current use data in database 112. In step 328, if no feature authorization acknowledgement is received, policy controller 100 does not add the user ID and feature activation time to current use data in database 112. An unacknowledged feature activation may occur when a feature is authorized for a user device, and then the user device goes out of range or becomes disabled before the activation is received and/or acknowledged. In this scenario, it is desirable that the disabled or out-of-range user device not prevent other user devices from using the feature. By refraining from storing the disabled user's data as a current user, resources will be preserved for future users.
Returning to block 324, if the current feature activation request would cause the current usage threshold to be met or exceeded, control proceeds to block 334 where policy controller 100 acknowledges the request and informs the user that the requested action is not allowed at this time. Control then proceeds to block 336 where policy controller 100 stores pending request data in database 112.
Once the maximum number of users for a given feature is achieved and pending request data is stored in database 112 indicating that requestors are waiting to use the feature, it may be desirable to limit the duration that current users can use the feature so that pending requestors can access the feature.
If the maximum usage time for a user has been met or exceeded, control proceeds to block 354 where a feature disable message is sent to a user device. In block 356, policy controller 100 receives a feature disable acknowledgement message from the user device. In block 358, policy controller 100 removes user device data from the current user data in database 112. Control then proceeds to block 360 where policy controller 100 activates the feature for a pending requestor. Activating the feature for a pending requestor may include sending a feature activation message to the user device of the pending requestor, receiving a feature activation acknowledgement message, moving the user device data from the pending request field in database 112 to the current user field in database 112, and storing the feature activation time in database 112. Thus, using the process illustrated in
The process of
In order to prevent users who are out of range from blocking requesting users, a procedure may be implemented to remove such users from database 112. Such a procedure may include continually monitoring heartbeat messages received from user devices. If a user device listed as a current user in database 112 fails to send a heartbeat message within a predetermined time period, the user device may be disabled or out of range. Accordingly, the policy controller may remove the user device from the current user data in database 112. In addition or in the alternative, the policy controller may add a feature deactivation time to the pending user's data to indicate that the feature has been deactivated for the pending user.
It may also be desirable to allow current users to manually discontinue using a feature and allow other users to use the feature before the maximum usage time elapses. In order to implement these capabilities, a user device may send a feature disable request message to the policy controller. In response to the feature disable request message, the policy controller may remove the requesting user from the current user data in database 112. The policy controller may also acknowledge the request to confirm with the user device that the request has been disabled. Any time a current user is removed from database 112 the feature may be enabled for a pending requestor. It should also be noted that a user device may send a feature disable request message in response to a feature activation message before the user device initiates activation of a particular feature.
In block 423 or block 425, if an authorization is received, control proceeds to block 426 where the user device enables the feature. Once the feature is enabled, the user may use the feature until a disable message is received. As described above with regard to
Controlling user device features based on a locale-based policy may include allowing or blocking a feature, or modifying a feature.
One potential enhancement to the methods and systems described above may include an override mechanism. For example, a user may have an override option on his or her user device to override a policy control. In emergency situations, it may be desirable for a user to be allowed to activate a phone or a camera. Such an override mechanism may be initiated by user by selecting an override menu option. The override menu option may override the control that was initiated by the policy controller.
Although many locales have been described above, the subject matter described herein is not limited to the particular locales described above. For example, sub-locales may be specified within a given locale.
In addition to the feature control options described above, another option for controlling devices that include cameras may include quarantining photographs at a server managed by the administrator of the locale. The pictures may also be quarantined at servers controlled by the owner of a given camera device. Examples of picture quarantine methods and other methods that may be used in combination with the methods and systems described herein are described in commonly-assigned, co-pending U.S. patent application Ser. No. 10/949,282, filed Sep. 24, 2004, the disclosure of which is incorporated herein by reference in its entirety.
Yet another set of enhancements may include subtleties of the policies that an administrator may set for a given locale. These enhancements may include:
It will be understood that various details of the invention may be changed without departing from the scope of the invention. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation, as the invention is defined by the claims as set forth hereinafter.
This application is a continuation of U.S. patent application Ser. No. 11/172,595 filed on Jun. 30, 2005; the entire contents of which is hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
5715487 | McIntyre et al. | Feb 1998 | A |
6011973 | Valentine et al. | Jan 2000 | A |
6085096 | Nakamura | Jul 2000 | A |
6233448 | Alperovich et al. | May 2001 | B1 |
6256503 | Stephens | Jul 2001 | B1 |
6421544 | Sawada | Jul 2002 | B1 |
6522352 | Strandwitz et al. | Feb 2003 | B1 |
6625455 | Ariga | Sep 2003 | B1 |
6690940 | Brown et al. | Feb 2004 | B1 |
6721542 | Anttila et al. | Apr 2004 | B1 |
6738572 | Hunter | May 2004 | B2 |
6823199 | Gough | Nov 2004 | B2 |
6832093 | Ranta | Dec 2004 | B1 |
7173651 | Knowles | Feb 2007 | B1 |
7290288 | Gregg et al. | Oct 2007 | B2 |
20010009855 | I'Anson | Jul 2001 | A1 |
20010051534 | Amin | Dec 2001 | A1 |
20020082002 | Fujii | Jun 2002 | A1 |
20020094805 | Yano et al. | Jul 2002 | A1 |
20020106202 | Hunter | Aug 2002 | A1 |
20020107032 | Agness et al. | Aug 2002 | A1 |
20020187818 | Kang | Dec 2002 | A1 |
20030078076 | Kuwajima et al. | Apr 2003 | A1 |
20030087631 | Diachina et al. | May 2003 | A1 |
20030134627 | Himmel et al. | Jul 2003 | A1 |
20030145228 | Suuronen et al. | Jul 2003 | A1 |
20040070670 | Foster | Apr 2004 | A1 |
20040087318 | Lipovski | May 2004 | A1 |
20040147255 | Lee | Jul 2004 | A1 |
20040166878 | Erskine et al. | Aug 2004 | A1 |
20040203842 | Hanninen et al. | Oct 2004 | A1 |
20040248597 | Mathis | Dec 2004 | A1 |
20040255048 | Lev Ran et al. | Dec 2004 | A1 |
20050007456 | Lee et al. | Jan 2005 | A1 |
20050064856 | Atkin et al. | Mar 2005 | A1 |
20050132048 | Kogan et al. | Jun 2005 | A1 |
20050192038 | Jeong | Sep 2005 | A1 |
20050256943 | Morris | Nov 2005 | A1 |
20060009265 | Clapper | Jan 2006 | A1 |
20060046714 | Kalavade | Mar 2006 | A1 |
20060046746 | Ranford et al. | Mar 2006 | A1 |
20060069756 | Singh et al. | Mar 2006 | A1 |
20060094400 | Beachem et al. | May 2006 | A1 |
20060094412 | Nonoyama et al. | May 2006 | A1 |
20060156385 | Chiviendacz et al. | Jul 2006 | A1 |
20060224742 | Shahbazi | Oct 2006 | A1 |
20060234678 | Juitt et al. | Oct 2006 | A1 |
20060265508 | Angel et al. | Nov 2006 | A1 |
20060276200 | Radhakrishnan et al. | Dec 2006 | A1 |
20080043689 | Walter | Feb 2008 | A1 |
20080057977 | Shostak | Mar 2008 | A1 |
20080288330 | Hildebrand et al. | Nov 2008 | A1 |
Number | Date | Country |
---|---|---|
2000333266 | Nov 2000 | JP |
2004120530 | Apr 2004 | JP |
WO-9749255 | Dec 1997 | WO |
WO-9800809 | Jan 1998 | WO |
WO-0067204 | Nov 2000 | WO |
WO-0167748 | Sep 2001 | WO |
WO-0201864 | Jan 2002 | WO |
WO-02054200 | Jul 2002 | WO |
WO-2004029836 | Apr 2004 | WO |
Number | Date | Country | |
---|---|---|---|
20120149337 A1 | Jun 2012 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11172595 | Jun 2005 | US |
Child | 13401367 | US |