IP Library Granted Patent US 9,003,487
Granted Patent B2
US 9,003,487 · App. 13/586,277 · Granted Apr 7, 2015

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 9,003,487
App. No.
13/586,277
Granted
Apr 7, 2015
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. One or more client process handles of a client stack of the client application module are provided in a current process base of the operating system module. For the request, 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 are checked.

Claims (66)

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

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 operatng 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

allowing processing of the request after determining that all of the permission settings associated with the one or more client process handles and the one or more server process handles indicate that permission is granted;

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 , further comprising producing a result in response to the processing of the request, and submitting the result to the server application module.

3. The method of claim 2 , wherein the server application module is configured to further process the result to produce a new result, and to provide the new result to the client application module.

4. The method of claim 2 , wherein the client application module comprises a browser application module, and wherein the result comprises data for display at the communication device.

5. The method of claim 2 , wherein the client application module comprises a map rendering application module, and wherein the result comprises map data of a location.

6. The method of claim 2 , wherein the client application module comprises a communications application module, and wherein the result comprises updated address book or contact list information from a corresponding application at a remote server for storing in a memory of the communication device.

7. The method of claim 2 , wherein the client application module comprises a communications application module, and wherein the result comprises a confirmation message that updated address book or contact list information at the communication device has been updated at a corresponding application at a remote server.

8. 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.

9. 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.

10. 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.

11. The method of claim 1 , further comprising:

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

12. The method of claim 1 , further comprising:

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

saving the permission settings in a memory of the communication device

13. 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.

14. 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.

15. A communication device, comprising:

a processor; and

a memory;

wherein the processor is capable 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

allowing processing of the request after determining that all of the permission settings associated with the one or more client process handles and the one or more server process handles indicate that permission is granted:

wherein the one or more client process handles identify current client modules or processes utilized b 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.

16. The device of claim 15 , wherein the processor is capable of producing a result in response to the processing of the request, and submitting the result to the server application module.

17. The device of claim 16 wherein the server application module is configured to cause further processing of the result to produce a new result, the new result to be provided to the client application module.

18. The device of claim 16 , wherein the client application module is a browser application module, and wherein the result comprises data for display at the communication device.

19. The device of claim 16 , wherein the client application module comprises a map rendering application module, and wherein the result comprises map data of a location.

20. The device of claim 16 , wherein the client application module comprises a communications application module, and wherein the result comprises updated address book or contact list information from a corresponding application at a remote server for storing in the memory of the communication device.

21. The device of claim 16 , wherein the client application module comprises a communications application module, and wherein the result comprises a confirmation message that updated address book or contact list information at the communication device has been updated at a corresponding application at a remote server.

22. The device of claim 15 , wherein the processor is capable of allowing a result of the request to be provided for output at a user interface of the communication device.

23. The device of claim 15 , 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.

24. The device of claim 15 , wherein 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 sewer application module: causes the processor to perform the identifying, causing, checking and allowing.

25. The device of claim 15 , wherein the processor is capable of repeating the identifying, causing, checking, and allowing, for each one of a plurality of requests from the client application module.

26. The device of claim 15 , wherein the processor is capable of:

receiving, via an interlace of the communication device, the permission setting and

saving the permission settings in the memory of the communication device.

27. The device of claim 15 , wherein in operation, 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.

28. The device of claim 15 , wherein in operation, a protocol for the request between the client application module and the server application module is performed in accordance with a JSR 211 standard.

29. The device of claim 15 , wherein the communication device comprises a mobile device.

30. A non-transitory computer-readable medium storing instructions executable by a processor of a communication device, wherein execution of the instructions causes the processor to perform a method comprising:

identifying a request from a client application module which is to he 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 assoc with the one or more server process handles, and

allowing processing of the request after determining that all of the permission settings associated with the one or more client process handles and the one or more server process handles indicate that permission is granted;

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.

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 Aug 15, 2012
From: BENDER, CHRISTOPHER LYLE
To: RESEARCH IN MOTION LIMITED
Reel/Frame 028791/0448 →