IP Library Granted Patent US 7,219,140
Granted Patent B2
US 7,219,140 · App. 10/183,916 · Granted May 15, 2007

Configuration and management systems for mobile and embedded devices

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 7,219,140
App. No.
10/183,916
Granted
May 15, 2007
Kind
B2
Abstract

A system management framework is described for use with a limited-resource client such as a hand-held device. The framework includes a client proxy implemented apart from the client device. The client proxy is configured to communicate with the client device and to emulate a full-functioned client computer on behalf of the client device.

Claims (96)

1. A system management framework comprising:

a configuration management system configured to communicate with and manage multiple compatible client computers; and

a client proxy separate from the configuration management system, configured to communicate with a client device, wherein the client device cannot directly communicate with and is not directly managed by the configuration management system, the client proxy being implemented apart from the client device and being further configured to communicate with the configuration management system and to emulate a compatible client computer on behalf of the client device to allow the configuration management system to manage the client device.

2. A system management framework as recited in claim 1 , wherein the client proxy is configured to receive configuration information from the client device and to report the received configuration information to the configuration management system.

3. A system management framework as recited in claim 1 , wherein the client proxy is configured to receive configuration information from the client device in a format that is not compatible with the configuration management system and to provide the received configuration information to the configuration management system in a format that is compatible with the configuration management system.

4. A system management framework as recited in claim 1 , wherein the client proxy is configured to receive configuration information from the client device in accordance with an XML schema and to report the received configuration information to the configuration management system.

5. A system management framework as recited in claim 1 , wherein the client proxy is configured to receive hardware and software inventories from the client device and to report the received hardware and software inventories to the configuration management system.

6. A system management framework as recited in claim 1 , wherein the client proxy comprises a policy evaluator that receives policies from the configuration management system, determines whether any of the policies apply to the client device, and instructs the client device in accordance with any of the policies that ate determined to apply to the client device.

7. A system management framework as recited in claim 1 , wherein the client proxy comprises a policy evaluator that receives policies from the configuration management system, determines whether any of the policies are applicable to the client device, and instructs the client device to download one or more applications in accordance with any of the policies that are determined to be applicable to the client device.

8. A system management framework as recited in claim 1 , wherein the client proxy comprises a policy evaluator that receives policies from the configuration management system, determines whether any of the policies are applicable to the client device, and instructs the client device to download one or more configuration change instructions in accordance with any of the policies that are determined to be applicable to the client device.

9. A system management framework as recited in claim 1 , wherein the client proxy comprises a policy evaluator that receives policies from the configuration management system, determines whether any of the policies apply to the client device, and instructs the client device to install one or more applications on the client device in accordance with any of the policies that are determined to apply to the client device.

10. A system management framework as recited in claim 1 , wherein the client proxy comprises a policy evaluator that receives policies from the configuration management system, determines whether any of the policies apply to the client device, and instructs the client device to make one or more configuration changes on the client device in accordance with any of the policies that are determined to apply to the client device.

11. A system management framework as recited in claim 1 , wherein the client proxy comprises a policy evaluator that receives policies from the configuration management system, determines whether any of the policies apply to the client device, and instructs the client device to download and install one or more applications in accordance with any of the policies that are determined to apply to the client device.

12. A system management framework as recited in claim 1 , wherein the client proxy comprises a policy evaluator that receives policies from the configuration management system, determines whether any of the policies apply to the client device, and instructs the client device to download and execute configuration change instructions in accordance with any of the policies that are determined to apply to the client device.

13. A system management framework as recited in claim 1 , wherein the client proxy comprises a policy evaluator that receives policies from the configuration management system, determines whether any of the policies apply to the client device, and instructs the client device to remove one or more applications in accordance with any of the policies that are determined to apply to the client device.

14. A system management framework as recited in claim 1 , wherein the client proxy is configured to perform actions comprising:

receiving a list of applications from the client device;

receiving policies from the configuration management system;

examining the list of applications in light of the received policies to determine changes that should be made to the list of applications;

instructing the client device to change its list of applications in accordance with the determined changes.

15. A system management framework as recited in claim 1 , wherein the client proxy is configured to perform actions comprising:

receiving a current configuration from the client device;

receiving policies from the configuration management system;

examining the received current configuration in light of the received policies to determine changes that should be made to the current configuration;

instructing the client device to change its configuration in accordance with the determined changes.

16. A method as recited in claim 1 wherein the proxy component is configured to receive a package request from the client device and in response to return download instructions that can be executed by the client device to download an application package.

17. A system management framework as recited in claim 1 , wherein the client proxy is configured to perform actions comprising:

receiving a list of applications from the client device;

receiving policies from the configuration management system;

examining the list of applications in light of the received policies to determine changes that should be made to the list of applications;

instructing the client device to change its list of applications in accordance with the determined changes;

receiving a package request from the client device; and

in response to receiving the package request, returning download instructions that can be executed by the client device to download an application package.

18. A system management framework as recited in claim 1 , further comprising a client device that maintains a list of applications, wherein:

the client device provides the list of applications to the client proxy;

the client proxy examines the list of applications in light of policies obtained from the configuration management system to determine changes that should be made to the client's list of applications;

the client proxy instructs the client device to change its list of applications in accordance with the determined changes;

the client device submits a package request corresponding to an application added to the client's list of applications; and

the client proxy responds to the package request by returning download instructions that can be executed by the client device to download an application package.

19. One or more computer-readable media containing instructions to implement a client proxy for use in conjunction with a configuration management system, wherein the client proxy is separate from the configuration management system, wherein the client proxy is separated from the configuration management system, the instructions being executable by a computer to perform actions comprising:

communicating with a client device that cannot directly communicate with and is not directly managed by the configuration management system;

obtaining configuration information from the client device, wherein the configuration information identifies applications available on the client device;

emulating a compatible client computer on behalf of the non-compatible client device to allow the configuration management system to add and remove applications to and from those available on the non-compatible client device.

20. One or more computer-readable media as recited in claim 19 , the actions further comprising:

reporting at least portions of the configuration information to the configuration management system in a format that is compatible with the configuration management system.

21. One or more computer-readable media as recited in claim 19 , the actions further comprising:

receiving the configuration information from the client device in a format that is not compatible with the configuration management system; and

reporting at least portions of the configuration information to the configuration management system in a format that is compatible with the configuration management system.

22. One or more computer-readable media as recited in claim 19 , wherein the configuration information further comprises hardware and software inventories of the client device, the actions further comprising reporting the received hardware and software inventories to the configuration management system on behalf of the client device.

23. One or more computer-readable media as recited in claim 19 , the actions further comprising:

receiving policies from the configuration management system;

determining whether any of the policies apply to the client device; and

instructing the client device in accordance with any of the policies that are determined to apply to the client device.

24. One or more computer-readable media as recited in claim 19 , the actions further comprising:

receiving policies from the configuration management system;

determining whether any of the policies apply to the client device; and

instructing the client device to download and install one or more applications in accordance with any of the policies that are determined to apply to the client device.

25. One or more computer-readable media as recited in claim 19 , the actions further comprising:

receiving policies from the configuration management system;

determining whether any of the policies apply to the client device; and

instructing the client device to download and execute configuration change instructions in accordance with any of the policies that are determined to apply to the client device.

26. One or more computer-readable media as recited in claim 19 , the actions further comprising:

receiving policies from the configuration management system;

determining whether any of the policies apply to the client device; and

instructing the client device to remove one or more applications in accordance with any of the policies that are determined to apply to the client device.

27. One or more computer-readable media as recited in claim 19 , the actions further comprising:

receiving policies from the configuration management system;

examining the identification of applications available on the client device in light of the received policies to determine changes that should be made regarding the applications that are available on the client device;

instructing the client device to change its applications that are available in accordance with the determined changes.

28. One or more computer-readable media as recited in claim 19 , the actions further comprising:

receiving a package request from the client device;

in response to the package request, returning download instructions that can be executed by the client device to download an application package.

29. One or more computer-readable media as recited in claim 19 , the actions further comprising:

receiving policies from the configuration management system;

examining the identification of applications available on the client device in light of the received policies to determine changes that should be made regarding the applications that are available on the client device;

instructing the client device to change its applications that are available in accordance with the determined changes;

receiving a package request from the client device; and

in response to the package request, returning download instructions that can be executed by the client device to download an application package.

30. A method of including a limited-resource client device in the management framework of a configuration management system, the method comprising:

communicating with the limited-resource client device that cannot directly communicate with and is not directly managed by the configuration management system, to obtain configuration information regarding its configuration;

emulating a non-limited-resource client computer on behalf of the limited-resource client device to allow the configuration management system to manage the configuration of the client device; and

wherein the emulating comprises selectively applying policies received from the configuration management system to the limited-resource client device.

31. A method as recited in claim 30 , wherein:

the configuration information identifies applications available on the limited-resource client device; and

said selectively applying comprises instructing the limited-resource client device to add applications to and/or remove applications from those available on the limited-resource client device.

32. A method as recited in claim 30 , further comprising reporting at least portions of the configuration information to the configuration management system in a format that is compatible with the configuration management system.

33. A method as recited in claim 30 , further comprising:

receiving the configuration information from the limited-resource client device in a format that is not compatible with the configuration management system; and

reporting at least portions of the configuration information to the configuration management system in a format that is compatible with the configuration management system.

34. A method as recited in claim 30 , wherein the configuration information comprises hardware and software inventories of the limited-resource client device, the method further comprising reporting the received hardware and software inventories to the configuration management system on behalf of the limited-resource client device.

35. A method as recited in claim 30 , wherein the selectively applying policies comprises instructing the limited-resource client device to download and install one or more applications in accordance with any of the policies that are determined to apply to the limited-resource client device.

36. A method as recited in claim 30 , wherein the selectively applying policies comprises instructing the limited-resource client device to make one or more configuration changes in accordance with any of the policies that are determined to apply to the limited-resource client device.

37. A method as recited in claim 30 , wherein the selectively applying policies comprises instructing the limited-resource client device to remove one or more applications in accordance with any of the policies that are determined to apply to the limited-resource client device.

38. A method as recited in claim 30 , further comprising:

receiving a package request from the limited-resource client device;

in response to the package request, returning download instructions that can be executed by the limited-resource client device to download an application package.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2002
From: MARL, DENNIS CRAIG; DEO, VINAY; LUNG, TAK CHUNG; PHILLIPS, JEFFRY BLAINE; THOMSON, MICHAEL
To: MICROSOFT CORPORATION
Reel/Frame 013061/0221 →