# Patent

## Title
Method for providing wireless application privilege management

## Abstract

A method for providing an administration policy to a user device comprising a plurality of applications, the method comprising centrally generating the administration policy to be implemented in the user device, the administration policy comprising at least one of an application administration policy to be used by at least one of the plurality of applications and a client administration policy for the user device; and providing the generated policy to the user device.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority under 35USC §119(e) of U.S. provisional patent application 60/672,084, entitled “Method for providing wireless application privilege management”, that was filed Apr. 18, 2005, the specification of which is hereby incorporated by reference.


TECHNICAL FIELD
These embodiments relate to the field of wireless device application management.
BACKGROUND
The current methods used to control application configuration and privileges (AC&P) (also referred to as policies) are single dimensional application configuration schemes.
More precisely, either an application configuration and privilege is hard-coded in a given application, through some more flexible configuration process on a per-application basis, or the application configuration and privilege is applied to the whole wireless device itself.
The latter implementation lacks flexibility as all applications share, in such case, the same application configuration and privilege which is a drawback. The skilled addressee will appreciate that depending on the user of a device, it might be desirable to have a given application configuration and privilege for a first given application while for another given application it might be desirable to have another application configuration and privilege.
Furthermore it will be appreciated that in the case where the user device is a wireless user device it is very difficult to control the implementation of the policies for a given user device especially in the case where a large number of user device have to be configured or controlled.
Also, it will be appreciated that a lot of memory is wasted in the case where the policy is hard-coded for each application running on the user device. Furthermore, in such case, it is not possible to control or amend the policy for the application over time which is a major drawback in the case where a user requires more rights.
There is a need for a method that will overcome at least one of the above-mentioned drawbacks.



BRIEF DESCRIPTION OF THE DRAWINGS
Further features and advantages of the embodiments will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
FIG. 1 is a block diagram which shows a plurality of wireless user devices in which the embodiments may be implemented;
FIG. 2 is a block diagram which shows an embodiment of a user device in which the method for providing a wireless privilege management may be advantageously used; the user device comprises, inter alia, an application administration policy database and a client administration policy database;
FIG. 3 is a flowchart which shows how a policy is provided to a user device according to one embodiment;
FIG. 4 is a flowchart which shows how a policy is generated according to an embodiment; according to first step, a client administration policy is created and according to a second step an application administration policy is created;
FIG. 5 is a flowchart which shows how the application administration policy is created according to an embodiment;
FIG. 6 is a flowchart which shows how a generated policy is provided to the at least one user device; according to a first step the generated policy is transmitted to the at least one user device while according to a second step the transmitted policy is installed in the user device; and
FIG. 7 is a flowchart which shows how the transmitted policy is installed in the user device.



It will be noted that throughout the appended drawings, like features are identified by like reference numerals.
DETAILED DESCRIPTION
According to a broad aspect of the embodiments, there is provided a method for providing an administration policy to a user device comprising a plurality of applications, the method comprising centrally generating said administration policy to be implemented in the user device, the administration policy comprising at least one of an application administration policy to be used by at least one of the plurality of applications and a client administration policy for said user device; and providing the generated policy to said user device.
According to another broad aspect of the embodiments, there is provided a method for implementing an administration policy in a wireless user device comprising a plurality of applications, the method comprising receiving, from a central location, said administration policy to be implemented in the wireless user device, the administration policy comprising at least one of an application administration policy to be used by at least one of the plurality of applications and a client administration policy for said user device; and installing the received policy in the wireless user device.
According to yet another broad aspect of the embodiments, there is provided an application gateway adapted to enable remote administration of one or more managed server units of a data network using a user device of a wireless network, the application gateway comprising: means for managing a provisioning of an administration policy to a user device comprising a plurality of applications, said provisioning comprising: generating said administration policy to be implemented in said user device, said administration policy comprising at least one of an application administration policy to be used by at least one of the plurality of applications and a client administration policy for said user device; and providing said administration policy to said user device.
Now referring to FIG. 1, there is shown an embodiment of a system wherein the embodiments may be performed advantageously. The system comprises a server unit 10, a network 12, a plurality of transmitting devices 16 and a plurality of user devices 18.
The server unit 10 is adapted for providing a signal to send to the plurality of user devices 18. The server unit 10 may comprise any type of processing unit that is connected permanently or temporarily with the plurality of user devices 18.
The network 12 comprises at least one of a Local Area Network (LAN), a Metropolitan Area Network (MAN) and a Wide Area Network (WAN). In an embodiment, the network 12 comprises a Wide Area Network which is the Internet. Network 12 may also comprise an Application Gateway (not shown).
The plurality of transmitting devices 16 comprises wireless transmitters adapted to transmit data to the plurality of user devices 18. The plurality of user devices 18 comprises devices that are adapted to process at least data. In one embodiment, shown in FIG. 1, the plurality of user devices 18 are wireless user devices. It should be appreciated that various types of devices may be used such as Personal Digital Assistants (PDAs), smart phones, etc. In an embodiment, the plurality of user devices 18 comprises BlackberryTM devices which are manufactured by Research In Motion Limited. It will be appreciated by the skilled addressee that the plurality of user devices 18 comprises a plurality of applications, each operating according to policies that may be implemented and monitored by an operator according to the method disclosed hereinafter.
More precisely, the server unit 10 is adapted to provide to the network 12, inter alia, a signal to send. At least one of the plurality of transmitting devices 16 is adapted to transmit a signal to at least one of the plurality of user devices 18.
The application gateway 13 of network 12 handles request/response messages initiated by the applications on the devices 18, as well as subscription notifications pushed to the devices 18 from the server unit 10. The Application Gateway can function as a Data Mapping Server for mediating messaging between a client runtime environment (RE) on the devices 18 and a backend server of server unit 10. The Runtime Environment (RE) is an intelligent container that executes application components and provides common services as needed for execution of the applications. The application gateway can provide for asynchronous messaging for the applications and can integrate and communicate with legacy server units such as server unit 10. The devices 18 transmit and receive wireless component applications, as further described herein, as well as transmit/receive messaging associated with operation of the applications. The devices 18 can operate as web clients of the server unit 10 through execution of the applications when provisioned on respective runtime environments (RE) of the devices 18. As described further herein, application gateway 13 may be adapted to provide a policy administration service to client devices 18 providing policies over the air, for example, to control application administrative policies and client administrative policies independently.
Now referring to FIG. 2, there is shown an embodiment of a user device 18 in which the method for providing an administration policy may be advantageously used.
The user device 18 comprises a processing unit 20, a user interface 22, a communication unit 24, an application container 26 and a policy storing database 28. The processing unit 20 is adapted to process data. The processing unit 20 may be any suitable processor. The user interface 22 is adapted to provide an interface to a user using the user device 18 for interacting with at least one application. In an embodiment, the user device 22 comprises a keyboard.
The communication unit 24 is adapted to provide communication capability between the user device 18 and at least one transmitting device 16. In an embodiment, the communication unit 24 is a wireless communication interface.
The application container 26 provides a RE for executing a plurality of applications in the user device 18. The skilled addressee will appreciate that application container 26 may facilitate the execution of applications providing various functionality but particularly those suitable for communicating with remote data sources such as web services and the like through a stateful proxy such as the application gateway.
The policy storing database 28 comprise a client administration policy database 30 and an application administration policy database 32.
It will be appreciated that the client administration policy comprised in the client administration policy database 30 is used to manage administration and privilege of the user device 18 at the user level.
It will be further appreciated that the application administration policy comprised in the application administration policy database 32 is used to provide a management of an individual application.
More precisely, the communication unit 24 provides a received policy signal to implement to the processing unit 20. In response to the received policy signal to implement, the processing unit 20 provides a client administration policy signal to the client administration policy database 30. The processing unit 20 further provides an application administration policy signal to the application administration policy database 32.
An application of the application container 26 may provide an administration policy request signal to the processing unit 20. It will be appreciated that in an embodiment, the policy request signal comprises an indication of a given policy to use to uniquely identify a pertinent policy to use. In response to the policy request signal provided to the processing unit 20, the latter provides a request for a policy for a given application to the application administration policy database 32. It will be appreciated that in an embodiment, the request for a policy for a given application comprises an indication of the given policy to use.
In response to the request for a policy for a given application, the application administration policy database 32 provides a corresponding administration policy signal for the given application to the processing unit 20. The processing unit 20 then provides a received corresponding application policy signal to the application comprised in the application container 26.
Now referring to FIG. 3, there is shown how a policy is provided to a user device 18 according to one embodiment.
According to step 34, an administration policy to implement in at least one user device comprising a plurality of applications is generated. In an embodiment, the policy to implement in at least one user device is generated by an operator using the server unit 10. The operator generates the policy to implement according to various information such as a type of application to use in the wireless user device, type of user operating the wireless user device, etc.
According to step 36, the generated policy is provided to at least one device.
Now referring to FIG. 4, there is shown how a policy is generated according to an embodiment.
More precisely, according to step 38, a client administration policy is created. As mentioned earlier, the client administration policy is created by an operator.
According to step 40, an application administration policy is created for at least one application. As mentioned earlier the application administration policy is created by an operator.
While it has been shown that the client administration policy is created prior to the application administration policy for the at least one application, the skilled addressee would appreciate that it may be possible to create the application administration policy for the at least one application prior to the creating of the client administration policy.
Now referring to FIG. 5, there is shown how the application administration policy is created according to an embodiment.
According to step 42, a set of rules to apply to for at least one application of the user device is created. It will be appreciated that preferably the operator is creating the set of rules.
According to step 44, an identifier is assigned to the set of rules created. It will be appreciated that the identifier is created manually by the operator in an embodiment while in another embodiment, the identifier may be created automatically. It will be further appreciated that the identifier may be any one of a number, a character string, or the like. It will be appreciated that the identifier is used to uniquely identify the set of rules that was created according to step 42.
Now referring to FIG. 6, there is shown how a generated policy is provided to at least one user according to an embodiment.
According to step 50, the generated policy is transmitted to the at least one user device. It will be appreciated that in an embodiment, the generated policy to the at least one user device is transmitted over a wireless link. More precisely, the generated policy is transmitted from the server unit 10 to one of the transmitting unit 16 via the network 12 and then to the user device 18 over the wireless link. In such case, the communication unit 24 receives a policy signal to implement and provides the received policy signal to implement to the processing unit 20.
According to step 52, the transmitted generated policy is installed in the at least one user device 18. In an embodiment, the transmitted generated policy is installed in a policy storing database 28.
Now referring to FIG. 7, there is shown an embodiment which shows how the transmitted policy is installed in the user device 18.
According to step 60, the client administration policy transmitted is installed. In an embodiment, the client administration policy transmitted is installed in the client administration policy database 30.
According to step 62, the application administration policy transmitted is installed. In an embodiment, the application administration policy transmitted is installed in the application administration policy database 32.
While it has been disclosed that the client administration policy transmitted is installed prior the application administration policy transmitted, the skilled addressee should appreciate that the application administration policy transmitted might be installed prior to the client administration policy transmitted.
Moreover, the skilled addressee will appreciate that the client administration policy may be transmitted at a different time than the application administration policy. The skilled addressee will therefore appreciate that such method provides a central administrative control over access right and functional privilege of wireless applications especially those that interact with a server and/or service provider of the user device 18.
It is therefore much easier and efficient to be able to control a policy of a large number of user devices 18. Furthermore, using an over the air strategy may be very convenient as it enables a quick enforcement of a policy to a large number of wireless user devices.
Furthermore, the skilled addressee will appreciate that such method enables to have a two dimensional control of privileges. The skilled addressee will further appreciate that the fact that client administration policy database 30 and the application administration policy database 32 are stored separately from an individual application enable them to be updated over the air at any time.
It will be further appreciated that a plurality of applications of the application container 26 might share a same application administration policy. The use of the identification disclosed at step 44 enables therefore more than one application to share a given application administration policy and therefore minimizes the usage of storage space in the user device 18, which is greatly appreciated.
Moreover, such reuse of application administration policy by more than one application minimizes air-time usage and download time which is advantageous for the operator of a plurality of user devices 18.
Also, the fact that the application administration policy database 32 is separated from the client administration policy database 30 enables each of the two to be updated independently from one another again minimizing airtime usage as well as download time. Though described with reference to an application gateway which performs a plurality of services (e.g. administration services provisioning RE with policies etc., proxy and other communications services including mapping messages for facilitating communications between clients and remote servers, etc.), other network servers may be adapted to provide one or more of such services.
While illustrated in the block diagrams as groups of discrete components communicating with each other via distinct data signal connections, it will be understood by those skilled in the art that embodiments are provided by a combination of hardware and software components, with some components being implemented by a given function or operation of a hardware or software system, and many of the data paths illustrated being implemented by data communication within a computer application or operating system. The structure illustrated is thus provided for efficiency of teaching the present embodiments.
It should be noted that the embodiments can be carried out as a method, can be embodied in a system, a computer readable medium or an electrical or electro-magnetical signal.
The embodiments described above are intended to be exemplary only. The scope of the embodiments is therefore intended to be limited solely by the scope of the appended claims.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by any one of the patent document or patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.

## Claims

1. A method for implementing an administration policy in a user device comprising a plurality of applications in a runtime environment within the user device;
wherein the administration policy comprises at least one of at least one application administration policy to be used by at least one of the plurality of applications in the runtime environment and at least one runtime environment administration policy for the runtime environment;
wherein the at least one application administration policy is used to provide management of the at least one individual applications within the runtime environment;
and wherein the at least one runtime environment administration policy is used to manage administration of the runtime environment within the user device;
the method comprising:
receiving an application administration policy request signal from at least one of the at least one application, the application administration policy request signal including an indication of an application-specific policy to use; and
providing the indicated application-specific application administration policy to the at least one of the at least one application.

2. The method of claim 1 wherein there are at least two different application administration policies, and at least one of the at least two application administration policies is implementable for a first set of at least one application concurrently with implementation of at least one different application administration policy for a second set of at least one application different from the first set.

3. The method of claim 1 wherein the at least one application administration policy is to be used by two or more applications in the runtime environment, and the at least one application administration policy provides common management of the two or more applications.

4. The method as claimed in claim 1, wherein said user device is a wireless device.

5. The method as claimed in claim 1, wherein said policy comprises a plurality of application administration policies, each being assigned to at least one of the plurality of applications, further wherein each of the plurality of application administration policies is uniquely identified using an identifier, further comprising:
identifying the indicated application-specific application administration policy using the identifier.

6. The method as claimed in claim 1, further comprising:
storing the administration policy in an administration policy database of the user device.

7. The method as claimed in claim 6, wherein the administration policy database comprises a application administration policy database that is distinct from a runtime environment administration policy database; wherein the application administration policy database is for storing the at least one application administration policy, and the runtime environment administration policy database is for storing the at least one runtime environment administration policy.

8. The method of claim 1 further comprising:
receiving, from a server, at least one of the at least one application administration policy and the at least one runtime environment administration policy.

9. The method of claim 8 further comprising:
installing the at least one of the at least one application administration policy and the at least one runtime environment administration policy.

10. The method as claimed in claim 8, wherein the at least one of the at least one application administration policy and the at least one runtime environment administration policy is received over a wireless link.

11. A computer readable memory comprising a plurality of instructions which when executed perform the method as claimed in claim 1.