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 using one or more hierarchical traversable tree structures, wherein the tree structures comprise individual nodes individual ones of which being associated with a context, wherein said one or more current contexts are determined by traversing at least one node on at least one of the tree structures, wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node;
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.
184 Citations
86 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 using one or more hierarchical traversable tree structures, wherein the tree structures comprise individual nodes individual ones of which being associated with a context, wherein said one or more current contexts are determined by traversing at least one node on at least one of the tree structures, wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node; 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. 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 determine a current context using one or more hierarchical traversable tree structures on the device, wherein the tree structures comprise individual nodes each of which being associated with a device context, wherein said current context is determined by traversing at least one node on at least one of the tree structures, and wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node; 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. - View Dependent Claims (13, 14)
-
-
15. 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, wherein said act of automatically determining comprises; providing one or more hierarchical traversable tree structures on the device, the tree structures comprising individual nodes each of which being associated with a device context, wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node; and traversing at least one node on at least one of the tree structures to provide the current context; 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. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. 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; wherein said act of automatically determining comprises; providing one or more hierarchical traversable tree structures on the device, the tree structures comprising individual nodes each of which being associated with a device context, wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node; and traversing at least one node on at least one of the tree structures to provide the current context; and enforcing a set of policies, which are the result of a collection of policies in connection with the current device context, 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. - View Dependent Claims (27, 28, 29)
-
-
30. 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 using one or more hierarchical traversable tree structures on the device, the tree structures comprising individual nodes each of which being associated with a device context, the device being configured to determine its current context by traversing at least one node on at least one of the tree structures, wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node; 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; 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 (31, 32, 33, 34, 35, 36)
-
-
37. 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; wherein said act of automatically determining comprises; providing one or more hierarchical traversable tree structures on the device, the tree structures comprising individual nodes each of which being associated with a device context, wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node; and traversing at least one node on at least one of the tree structures to provide the current context; 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 (38, 39, 40, 41)
-
-
42. 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 using one or more hierarchical traversable tree structures on the device, the tree structures comprising individual nodes each of which being associated with a device location, the device being configured to determine its current location by traversing at least one node on at least one of the tree structures, wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node; 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. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49)
-
-
50. 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; wherein said act of automatically determining comprises; providing one or more hierarchical traversable tree structures on the device, the tree structures comprising individual nodes each of which being associated with a device location, wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node; and traversing at least one node on at least one of the tree structures to provide the current location; 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 (51, 52, 53, 54, 55, 56, 57, 58)
-
-
59. 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 using one or more hierarchical traversable tree structures on the device, the tree structures comprising individual nodes each of which being associated with a device location, the device being configured to determine its current location by traversing at least one node on at least one of the tree structures, wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node; 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 (60, 61, 62, 63, 64, 65)
-
-
66. 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; wherein said act of automatically determining comprises; providing one or more hierarchical traversable tree structures on the device, the tree structures comprising individual nodes each of which being associated with a device location, wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node; and traversing at least one node on at least one of the tree structures to provide the current location; 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 (67, 68, 69, 70)
-
-
71. 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, wherein said act of automatically determining comprises; using one or more hierarchical traversable tree structures on the device, the tree structures comprising individual nodes each of which being associated with a device location, wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node; 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. - View Dependent Claims (72, 73)
-
-
74. 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, wherein said act of automatically determining comprises; using one or more hierarchical traversable tree structures on the device, the tree structures comprising individual nodes each of which being associated with a device location, wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node; 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 (75, 76, 77, 78, 79)
-
-
80. A computer architecture embodied on a computer readable media comprising:
-
a context service that provides context information or context change events that pertain to the context of a computing device; wherein said context service determines context using one or more hierarchical traversable tree structures, the tree structures comprising individual nodes each of which being associated with a device context, the context service being configured to determine context by traversing at least one node on at least one of the tree structures, wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node; 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 (81, 82, 83, 84, 85)
-
-
86. A computer system comprising:
-
a computer-readable medium; a context service embodied on the computer-readable medium and that provides context information or context change events that pertain to the context of a computing device; wherein said context service determines context using one or more hierarchical traversable tree structures, the tree structures comprising individual nodes each of which being associated with a device context, the context service being configured to determine context by traversing at least one node on at least one of the tree structures, wherein individual nodes comprise an entity identification (EID) that is unique to the node, EIDs serving as a basis by which attributes can be assigned to goods or services associated with an individual node; 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