IP Library Granted Patent US 8,272,034
Granted Patent B2
US 8,272,034 · App. 12/196,900 · Granted Sep 18, 2012

Methods and apparatus for maintaining permissions for client/server processing in a communication device

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,272,034
App. No.
12/196,900
Granted
Sep 18, 2012
Kind
B2
Abstract

A communication device has memory for storing a client application module, a server application module, and an operating system module which are executable by one or more processors. The client application module submits a request and, in response, the server application module causes the request to be processed with use of the operating system module. An interface module causes one or more client process handles of a client stack of the client application module to be provided in a current process base of the operating system module. Thus, for the request, the operating system module checks one or more permission settings associated with the one or more client process handles as well as one or more permission settings associated with the one or more server process handles.

Claims (71)

1. A method performed in a communication device, the method comprising the acts of:

identifying a request from a client application module which is to be processed by a server application module through use of an operating system module on the communication device; and

in response to identifying the request:

causing one or more client process handles of a client stack of the client application module to be provided in a current process base of the operating system module which includes one or more server process handles of a server stack of the server application module, checking one or more permission settings associated with the one or more client process handles and one or more permission settings associated with the one or more server process handles, and denying further processing of the request if any one of the permission settings associated with the one or more client process handles or the one or more server process handles indicates that permission is denied;

wherein the one or more client process handles identify current client modules or processes utilized by the client application module for processing, and

the one or more server process handles identify current server modules or processes utilized by the server application module for processing.

2. The method of claim 1 , wherein a denial indication is provided for output at a user interface of the communication device if the request is denied further processing.

3. The method of claim 1 , further comprising:

allowing the request to be processed if each permission setting associated with the one or more client process handles and the one or more server process handles indicates that permission is granted.

4. The method of claim 1 , further comprising:

allowing a result of the request to be provided for output at a user interface of the communication device.

5. The method of claim 1 , wherein the client application module comprises one of:

a Web browser application, which is associated with a permission setting indicating whether access to the Internet is allowed;

a communications application, which is associated with a permission setting indicating whether access to user contact information is allowed; or

a map rendering application, which is associated with a permission setting indicating whether access to a global positioning system (GPS) service is allowed.

6. The method of claim 1 , wherein the method is performed by an interface module of the communication device which is separate and apart from the client application module and which is separate and apart from the server application module.

7. The method of claim 1 , further comprising:

repeating the acts of identifying, causing, checking, and denying, for each one of a plurality of requests from the client application module.

8. The method of claim 1 , further comprising:

receiving, via an interface of the communication device, the permission settings; and

saving the permission settings in memory of the communication device.

9. The method of claim 1 , wherein a primary application module submits requests directly to the operating system module, and wherein the client application module comprises a third-party application of the communication device.

10. The method of claim 1 , wherein a protocol for the request between the client application module and the server application module is performed in accordance with a JSR 211 standard.

11. The method of claim 1 , wherein the method is performed by computer instructions stored in a physical computer readable medium and executable by a processor of the communication device.

12. A communication device, comprising:

one or more processors;

a wireless transceiver coupled to the one or more processors and being operative for communications in a wireless communication network;

a user interface coupled to the one or more processors;

memory for storing a client application module, a server application module, and an operating system module;

the one or more processors being operative to:

identify a request from the client application module which is to be processed by the server application module through use of the operating system module; and

in response to identifying the request:

cause one or more client process handles of a client stack of the client application module to be provided in a current process base of the operating system module which includes one or more server process handles of a server stack of the server application module, check one or more permission settings associated with the one or more client process handles and one or more permission settings associated with the one or more server process handles, and deny further processing of the request if any one of the permission settings associated with the one or more client process handles or the one or more server process handles indicates that permission is denied;

wherein the one or more client process handles of the client stack identify current client modules or processes utilized by the client application module for processing, and the one or more server process handles of the server stack identify current server modules or processes utilized by the server application module for processing.

13. The communication device of claim 12 , wherein the one or more processors are operative to provide a denial indication for output at the user interface if the request is prohibited from further processing.

14. The communication device of claim 12 , wherein the client application module comprises one of:

a Web browser application, which is associated with a permission setting indicating whether access to the Internet is allowed;

a communications application, which is associated with a permission setting indicating whether access to user contact information is allowed; or

a map rendering application, which is associated with a permission setting indicating whether access to a global positioning system (GPS) service is allowed.

15. The communication device of claim 12 , wherein the protocol for processing the request by the client and the server application modules is performed in accordance with a JSR 211 standard.

16. A method performed in a communication device, the method comprising the acts of:

submitting, by a client application module, a request;

causing, by an interface module in response to the request, one or more client process handles of a client stack of the client application module to be provided in a current process base of an operating system module on the communication device;

causing, by a server application module, the request to be processed with use of the operating system module, the one or more server process handles identifying current server modules or processes utilized by the server application module for processing;

checking, by the operating system module for the request, one or more permission settings associated with one or more server process handles in the current process base, the one or more client process handles identifying current client modules or processes utilized by the client application module for processing;

checking, by the operating system module for the request, one or more permission settings associated with the one or more client process handles in the current process base;

allowing, by the operating system module, the request to be processed if the one or more permission settings associated with the one or more client process handles and the one or more permission setting associated with the one or more server process handles indicate that permission is granted;

prohibiting, by the operating system module, further processing of the request if any one of the permission settings associated with the one or more client process handles and the one or more server process handles indicates that permission is denied; and

providing a result for the request for output at a user interface of the communication device.

17. The method of claim 16 , further comprising:

repeating the acts for each one of a plurality of requests from the client application.

18. The method of claim 17 , comprising the further acts of:

receiving, via the user interface, the permission settings and saving the permission settings in memory of the communication device.

19. A communication device, comprising:

one or more processors;

a wireless transceiver coupled to the one or more processors and being operative for communications in a wireless communication network;

a user interface coupled to the one or more processors;

a memory configured to store a client application module, a server application module, an operating system module, and an interface module which are executable by the one or more processors; the client application module configured to submit a request;

the interface module configured to cause, in response to the request, one or more client process handles of a client stack of the client application module to be provided in a current process base of the operating system module;

the server application module configured to cause the request to be processed with use of the operating system module;

the operating system module configured to check, for the request, one or more permission settings associated with the one or more server process handles in the process base, the one or more server process handles identifying current server modules or processes utilized by the server application module for processing;

the operating system module configured to check, for the request, one or more permission settings associated with the one or more client process handles in the process base, the one or more client process handles identifying current client modules or processes utilized by the client application module for processing;

the operating system module configured to allow the request to be processed if the one or more permission settings associated with the one or more client process handles and the one or more server process handles indicate that permission is granted;

the operating system module configured to prohibit further processing of the request if any one of the permission settings associated with the one or more client process handles and the one or more server process handles indicates that permission is denied; and

the client application module configured to provide a result for the request for output at the user interface.

20. The communication device of claim 19 , wherein the result comprises one of a process result when the request is allowed to process and a denial indication when processing of the request is inhibited.

21. The communication device of claim 19 , wherein the client application module comprises one of:

a Web browser application, which is associated with a permission setting indicating whether access to the Internet is allowed;

a communications application, which is associated with a permission setting indicating whether access to user contact information is allowed; or

a map rendering application, which is associated with a permission setting indicating whether access to a global positioning system (GPS) service is allowed.

22. The communication device of claim 19 , which comprises a mobile communication device operative in a wireless communication network.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Sep 3, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 033684/0319 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2008
From: BENDER, CHRISTOPHER LYLE, MR.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 021551/0886 →