Methods and systems for context-aware policy determination and enforcement
First Claim
1. A computing device comprising:
- one or more processors;
memory operably associated with the one or more processors;
one or more applications loadable in the memory and executable on the one or more processors; and
the one or more processors being configured to;
receive context information from externally of the device, the context information pertaining to one or more current device contexts;
automatically determine one or more current contexts from the context information;
locally evaluate a collection of policies in connection with the one or more current contexts to provide a resultant set of policies; and
enforce the resultant set of policies on the one or more applications.
2 Assignments
0 Petitions
Accused Products
Abstract
Context aware computing systems and methods are described. In one described embodiment, devices and methods are provided that are context-aware (in one example—location-aware) in that they provide for the application and enforcement of various policies as a function of context. Specifically, various computing devices, through the described methodologies and structures, are able to automatically determine their context. Once context is determined, a collection of policies can be evaluated to provide a resultant set of policies that apply to the given context. The resultant set of policies are then enforced, typically via the device'"'"'s operating system. Policy enforcement can involve promulgating new settings or state to applications that are executing on or off the device. Advantageously, the devices and methodologies can adapt the resultant set of policies as the device'"'"'s context changes so that the policies can be dynamically determined and enforced automatically as the device'"'"'s context changes.
-
Citations
97 Claims
-
1. A computing device comprising:
-
one or more processors;
memory operably associated with the one or more processors;
one or more applications loadable in the memory and executable on the one or more processors; and
the one or more processors being configured to;
receive context information from externally of the device, the context information pertaining to one or more current device contexts;
automatically determine one or more current contexts from the context information;
locally evaluate a collection of policies in connection with the one or more current contexts to provide a resultant set of policies; and
enforce the resultant set of policies on the one or more applications. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31)
-
-
13. A computing device comprising:
-
one or more processors;
memory operably associated with the one or more processors;
one or more applications loadable in the memory and executable on the one or more processors; and
the one or more processors being configured to;
receive context information from externally of the device, the context information pertaining to a current device context; and
enforce a set of policies on the one or more applications, the set of policies pertaining to a current context that is associated with the context information.
-
-
16. A method of operating a computing device comprising:
-
receiving context information from externally of a computing device, the context information pertaining to a current device context;
automatically determining, with the computing device, a current context using the context information;
evaluating a collection of policies in connection with the current context to provide a resultant set of policies; and
enforcing the resultant set of policies on one or more applications that are executable by the computing device.
-
-
28. A method of operating a computing device comprising:
-
receiving context information from externally of a computing device, the context information pertaining to a current device context; and
enforcing the resultant set of policies on one or more applications that are executable by the computing device, the resultant set of policies pertaining to a context that is associated with the context information that is received.
-
-
32. A computing device comprising:
-
one or more processors;
memory operably associated with the one or more processors;
one or more applications loadable in the memory and executable on the one or more processors; and
the one or more processors being configured to;
receive context information from externally of the device, the context information pertaining to a current device context;
automatically determine a current context from the context information;
locally evaluate a collection of policies in connection with the current context to provide a resultant set of policies;
enforce the resultant set of policies on the one or more applications; and
responsive to receiving context information that indicates a change of current context;
locally re-evaluate the collection of policies to provide a new resultant set of policies; and
enforce the new resultant set of policies on the one or more applications. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39)
-
-
40. A method of operating a computing device comprising:
-
wirelessly receiving context information from externally of a computing device, the context information pertaining to a current device context;
automatically determining, with the computing device, a current context using the context information;
locally evaluating, with the computing device, a collection of policies in connection with the current context to provide a resultant set of policies;
enforcing the resultant set of policies on one or more applications that are executable by the computing device;
determining whether the device'"'"'s current context has changed and if so, automatically determining a new current context using received context information;
responsive to determining the new current context, locally re-evaluating, with the computing device, the collection of policies to provide a new resultant set of policies for the new current context; and
enforcing the new resultant set of policies on the one or more applications. - View Dependent Claims (41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
46. A computing device comprising:
-
one or more processors;
memory operably associated with the one or more processors;
one or more applications loadable in the memory and executable on the one or more processors; and
the one or more processors being configured to;
receive location information pertaining to a current device location;
automatically determine a current location from the location information;
locally evaluate a collection of policies in connection with the current location to provide a resultant set of policies; and
enforce the resultant set of policies on the one or more applications.
-
-
55. A method of operating a computing device comprising:
-
receiving location information pertaining to a current device location;
automatically determining, with the computing device, a current location using the location information;
locally evaluating, with the computing device, a collection of policies in connection with the current location to provide a resultant set of policies; and
enforcing the resultant set of policies on one or more applications that are executable by the computing device. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63, 64)
-
-
65. A computing device comprising:
-
one or more processors;
memory operably associated with the one or more processors;
one or more applications loadable in the memory and executable on the one or more processors; and
the one or more processors being configured to;
receive location information pertaining to a current device location;
automatically determine a current location from the location information;
locally evaluate a collection of policies in connection with the current location to provide a resultant set of policies;
enforce the resultant set of policies on the one or more applications; and
responsive to receiving location information that indicates a change of current location;
locally re-evaluate the collection of policies to provide a new resultant set of policies; and
enforce the new resultant set of policies on the one or more applications. - View Dependent Claims (66, 67, 68, 69, 70, 71, 72)
-
-
73. A method of operating a computing device comprising:
-
wirelessly receiving location information from externally of a computing device, the location information pertaining to a current device location;
automatically determining, with the computing device, a current location using the location information;
locally evaluating, with the computing device, a collection of policies in connection with the current location to provide a resultant set of policies;
enforcing the resultant set of policies on one or more applications that are executable by the computing device;
determining whether the device'"'"'s current location has changed and if so, automatically determining a new current location using received location information;
responsive to determining the new current location, locally re-evaluating, with the computing device, the collection of policies to provide a new resultant set of policies for the new current location; and
enforcing the new resultant set of policies on the one or more applications. - View Dependent Claims (74, 75, 76, 77, 78, 80, 81)
-
-
79. A computing device comprising:
-
one or more processors;
memory operably associated with the one or more processors;
one or more applications loadable in the memory and executable on the one or more processors; and
the one or more processors being configured to;
collect policies from multiple different policy sources to provide a collection of policies, the policies being expressed in terms of context dependencies associated with multiple different device contexts;
receive context information from externally of the device, the context information pertaining to a current device context;
automatically determine a current context from the context information;
locally evaluate the collection of policies in connection with the current context to provide a resultant set of policies; and
enforce the resultant set of policies on the one or more applications.
-
-
82. A method of operating a computing device comprising:
-
collecting policies from multiple different policy sources to provide a collection of policies, the policies being expressed in terms of context dependencies associated with multiple different device contexts;
receiving context information from externally of a computing device, the context information pertaining to a current device context;
automatically determining a current context from the context information;
locally evaluating the collection of policies in connection with the current context to provide a resultant set of policies; and
enforcing the resultant set of policies on the device. - View Dependent Claims (83, 84, 85, 86, 87)
-
-
88. A method of providing policies for enforcement on computing devices comprising:
-
providing a representation of location using multiple hierarchical tree structures each of which comprising multiple nodes, each node representing a location that can be either a physical location or a logical location, the tree structures comprising at least one link between them that can serve as a basis for a traversal operation that traverses the multiple tree structures to derive a computing device location; and
expressing multiple policies as a function of the representation of location. - View Dependent Claims (89)
-
-
90. A method of providing policies for enforcement on computing devices comprising:
-
expressing multiple policies as a function of an abstract representation of location that uses multiple hierarchical tree structures each of which comprising multiple nodes, each node representing a location that can be either a physical location or a logical location, the tree structures comprising at least one link between them that can serve as a basis for a traversal operation that traverses the multiple tree structures to derive a computing device location; and
making the multiple policies available to computing devices.
-
-
91. A computer architecture comprising:
-
a context service that provides context information or context change events that pertain to the context of a computing device; and
a policy engine communicatively linked with the context service and configured to;
receive context information or context change events from the context service;
evaluate a collection of policies to provide a resultant set of policies responsive to the context information or context change events; and
enforce the resultant set of policies on a computing device. - View Dependent Claims (92, 93, 94, 95, 96)
-
-
97. A computer system comprising:
-
a context service that provides context information or context change events that pertain to the context of a computing device; and
a policy engine communicatively linked with the context service, but remote from the computing device, and configured to;
receive context information or context change events from the context service;
evaluate a collection of policies to provide a resultant set of policies responsive to the context information or context change events; and
provide the resultant set of policies to the computing device.
-
Specification