A method to distribute policies may include transmitting one of an identification (ID) assigned to a policy template or the policy template associated with each policy to an enforcement point or selected enforcement points for enforcement. The method may also include transmitting one set of parameters to be used in each policy template to the enforcement point.

Patent
   8495227
Priority
Dec 11 2003
Filed
Dec 11 2003
Issued
Jul 23 2013
Expiry
Sep 18 2030
Extension
2473 days
Assg.orig
Entity
Large
208
7
EXPIRED
19. A system to distribute policies, comprising:
a policy administrator to define policy templates and to transmit one of an identification (ID) assigned to a policy template or the policy template associated with each policy to be enforced, wherein each policy template includes a form of “if a first parameter then a second parameter”, each policy template and associated parameters being transmitted separately to reduce use of communication resources by factoring the template and associated parameters to be used in the template and to permit different parameters to be transmitted from time to time to replace previous parameters in the policy template without the need of transmitting the entire policy template again to further reduce use of communication resources;
an enforcement point to receive the ID assigned to the policy template or the policy template for each policy and to enforce each policy; and
a storage device to store each policy template and assigned ID, wherein the enforcement point determines if the policy template is present at the enforcement point in response to receiving the ID assigned to the policy template and transmits a query to the repository in response to the policy template not being present at the enforcement point.
1. A method to distribute policies, comprising:
determining if a policy template is present at an enforcement point in response to receiving an identification (ID) assigned to the policy template at the enforcement point, wherein the policy template includes a form of “if a first parameter then a second parameter”, the policy template and the parameters being transmitted separately to reduce use of communication resources by factoring the template and parameters to be used in the template and to permit different parameters to be transmitted from time to time to replace previous parameters in the policy template without the need of transmitting the entire policy template again to further reduce use of communication resources;
transmitting a query from the enforcement point to a repository, where policy templates are stored, in response to the policy template not being present at the enforcement point, wherein the query includes the ID assigned to the policy template;
receiving the policy template at the enforcement point, wherein the policy template is transmitted by the repository in response to the query; and
receiving a set of parameters to be used in the policy template at the enforcement point, wherein the set of parameters are transmitted separately from the policy template.
23. A system to distribute policies, comprising:
processor means for defining a policy template associated with each policy, wherein the policy template includes a form of “if a first parameter then a second parameter”, the policy template and the parameters being transmitted separately to reduce use of communication resources by factoring the template and parameters to be used in the template and to permit different parameters to be transmitted from time to time to replace previous parameters in the policy template without the need of transmitting the entire policy template again to further reduce use of communication resources;
the processor means assigning a unique identification (ID) to each policy template;
a storage device to store each policy template and assigned ID;
transmitter means for transmitting one of the assigned ID or the policy template for each policy to be enforced;
an enforcement point to receive the assigned ID or the policy template for each policy and to enforce each policy; and
the transmitter means transmitting a query to a policy template repository in response to each policy template corresponding to any transmitted IDs not being present at the enforcement point, wherein the query includes any transmitted IDs for any policy templates not present at the enforcement point.
8. A method to distribute policies, comprising:
defining a policy template associated with each policy, wherein the policy template includes a form of “if a first parameter then a second parameter”, the policy template and the parameters being transmitted separately to reduce use of communication resources by factoring the template and parameters to be used in the template and to permit different parameters to be transmitted from time to time to replace previous parameters in the policy template to change the policy associated with the policy template without the need of transmitting the entire policy or policy template again to further reduce use of communication resources;
assigning a unique identification (ID) to each policy template;
storing each policy template and assigned ID;
transmitting only the assigned ID to an enforcement point for each policy to be enforced by the enforcement point, wherein only the ID is transmitted to the enforcement point rather than the policy template to substantially minimize use of data processing and communication resources;
determining if the policy template corresponding to any transmitted ID is present at the enforcement point;
transmitting a query to a policy template repository in response to the policy template corresponding to any transmitted ID not being, present at the enforcement point, wherein the query includes the ID for any policy template not present at the enforcement point; and
transmitting the policy template from the policy template repository to the enforcement point in response to the query including the ID for the policy template.
2. The method of claim 1, binding the parameters to the policy template.
3. The method of claim 2, further comprising implementing the policy associated with the policy template.
4. The method of claim 1, further comprising applying asynchronous, out-of-band communication to transmit the query and any policy templates.
5. The method of claim 1, further comprising compressing the policy template before transmitting to the enforcement point or any selected enforcement points.
6. The method of claim 1, further comprising forming the policy template in a structured document.
7. The method of claim 1, further comprising forming the policy template in a mark-up language.
9. The method of claim 8, further comprising identifying at least one set of parameters to be associated with each policy template.
10. The method of claim 9, further comprising transmitting the one set of parameters to be used in each associated policy template for enforcement to the enforcement point.
11. The method of claim 10, further comprising binding the parameters to each associated template.
12. The method of claim 11, further comprising implementing the policy associated with each policy template.
13. The method of claim 9, further comprising storing each one of the at least one set of parameters by name and type.
14. The method of claim 8, further comprising applying asynchronous, out-of-band communication to query the repository and transmit any templates.
15. The method of claim 8, further comprising compressing each template before transmitting to the enforcement point.
16. The method of claim 8, further comprising compressing each template before transmitting to the enforcement point.
17. The method of claim 8, further comprising forming each policy template in a structured document.
18. The method of claim 8, further comprising forming each policy template in a mark-up language.
20. The system of claim 19, wherein each policy administrator comprises a processor to transmit one of the ID assigned to the policy template or the policy template associated with each policy.
21. The system of claim 19, wherein each enforcement point comprises:
a processor to receive the IDs assigned to each policy template; and
a data source to store each policy template for enforcement and assigned ID, wherein the processor forms and transmits the query in response to each policy template corresponding to any transmitted IDs not present in the data source.
22. The system of claim 19, further comprising a server to interface between each policy administrator, each enforcement point and the repository.
24. The system of claim 23, further comprising means for binding parameters to each associated policy template for enforcement.
25. The system of claim 23, further comprising means for transmitting any policy templates to the enforcement point in response to the query from the enforcement point including any IDs assigned to the policy templates.
26. The system of claim 25, further comprising means for applying asynchronous, out-of-band communication to transmit the query and any policy templates.
27. The system of claim 25, further comprising means for compressing each policy template before transmission to the enforcement point.
28. The system of claim 23, further comprising means for forming each policy template in a structured document.

The present invention relates to policies for software applications, network management, e-commerce or business and the like, and more particularly to a system and method to distribute policies or the like.

Policies may be defined or developed to control software applications, network management, e-commerce or business or similar communication or data processing activities. Such policies may include “if-then” clauses or similar statements or definitions. An example of one policy may be “if some precondition, then perform some predefined action, or set some value or the like.” In another example, the policy may be “if some precondition and some other precondition or preconditions, then perform some predefined action, set some value or the like.” Policies can have a typical lifecycle. Over time, policies may be updated to meet changing conditions or needs or may become outdated and deleted or changed to new policies. Efficiently defining, storing, distributing and enforcing policies can be a challenge. Under some circumstances only minor changes or selected parameters or values used in a policy or related group of polices may need to be changed. Defining an entirely new policy or set of policies, storing the entirely new policy or policies, distributing the policies to all enforcement points and making adjustments at each of the enforcement points to implement and enforce the policies may be burdensome, time consuming and involve inefficient use of limited data processing, storage and communication resources.

In accordance with an embodiment of the present invention, a method to distribute policies may include transmitting one of an identification (ID) assigned to a policy template or the policy template associated with each policy to an enforcement point or selected enforcement points for enforcement or implementation. Only the ID rather than the entire template need be transmitted to the enforcement point if the enforcement point already has the template. The method may also include transmitting one set of parameters or variable values to be used in each policy template to the enforcement point or selected enforcement points.

In accordance with another embodiment of the present invention, a method to distribute policies may include defining a policy template associated with each policy. A unique identification (ID) may be assigned to each policy template and the policy template and ID may be stored. One of the assigned ID or the policy template for each policy to be enforced or implemented may be transmitted to each enforcement point intended to enforce the policy. The assigned ID rather than the entire template may be transmitted if the enforcement point already has the policy template.

In accordance with another embodiment of the present invention, a system to distribute policies may include a policy administrator to define policy templates and to transmit one of an ID assigned to a policy template or the policy template associated with each policy to be enforced. An enforcement point may receive the ID assigned to the policy template or the template for each policy to be enforced. The enforcement point may then enforce or implement the policy.

In accordance with another embodiment of the present invention, a system to distribute policies may include means for defining a policy template associated with each policy. The system may also include means for assigning a unique ID to each policy template. A repository or similar storage device may store each policy template and assigned ID. The system may further include means for transmitting the assigned ID to an enforcement point, if the enforcement point already has the policy template. In another embodiment, the policy template for each policy to be enforced may be transmitted. An enforcement point may receive the assigned ID or policy template for each policy to implement or enforce the policy.

In accordance with another embodiment of the present invention, a computer-readable medium having computer-executable instructions for performing a method may include defining a policy template associated with each policy. The method may also include assigning a unique ID to each policy template. The assigned ID rather than the complete policy template may be transmitted to the enforcement point for each policy to be enforced, if the enforcement point already has the template. In another embodiment, the policy template may be transmitted to the enforcement point for enforcement, particularly if the enforcement point does not have the template.

FIG. 1 is a flow chart of a method to define and store a policy template in accordance with an embodiment of the present invention.

FIG. 2 is a flow chart of a method to distribute policies in accordance with an embodiment of the present invention.

FIG. 3 is a flow chart of a method to distribute policies in accordance with another embodiment of the present invention.

FIG. 4 is a example of a system to distribute policies in accordance with an embodiment of the present invention.

The following detailed description of preferred embodiments refers to the accompanying drawings which illustrate specific embodiments of the invention. Other embodiments having different structures and operations do not depart from the scope of the present invention.

FIG. 1 is a flow chart of a method 100 to define and store a policy template in accordance with an embodiment of the present invention. In block 102 a policy template associated with each policy may be defined. The policy template may be defined by a policy administrator or the like as described in more detail with respect to FIG. 4. The policy template may be defined or formed as a structured document. For example, the policy template may be formed in a mark-up language, such as extensible mark-up language (XML) or the like. An example of a policy document including policy templates in XML may be:

<PolicyDocument>
<HeaderInformation>
<Policy>
<precondition> if clause </precondition>
<decision> then clause </decision>
</Policy>
. . .
<Policy>
. . .
</Policy>
</PolicyDocument>

Accordingly, the template may be in the form of an “if-then” clause or similar clause or statement, “if some pre-condition or preconditions, then some decision is made.” The decision may be to perform some action, set a value or some other action or inaction. For example a template in XML may take the form, “if <shift> and <customer level> then <response time goal>,” where “shift” might, for example, take legal values, “first”, “second” and “third”; “customer level” might take “gold”, “silver” and “bronze”; and “response time goal” might take “100 ms”, “500 ms”, or “1000 ms”. Shift, customer level and response time goal may be referred to as parameters, variables or values that can be specified and changed from time to time to update the template and associated policy. As will be described in more detail herein, the templates and parameters may be transmitted separately for more efficiency and to reduce transmission costs by factoring the templates and parameters or data to be used in the templates. Different parameters may be transmitted from time to time without the need of transmitting the templates again thus increasing efficiency and reducing costs.

In block 104, a unique identification (ID) may be assigned to each policy template. The ID may be a serial number or a more descriptive identification of the template. As will be discussed in more detail herein, in at least one embodiment of the present invention, the ID may be transmitted rather than the complete policy template for efficiency and to reduce transmission costs and the use of limited data processing and communication resources.

In block 106, the policy template and its assigned ID associated with each policy may be stored in a repository or other data storage device or source. The policy templates may be indexed in the repository by their respective IDs.

FIG. 2 is a flow chart of a method 200 to distribute policies in accordance with an embodiment of the present invention. The method of 200 may be a follow-on or continuation of the method 100 of FIG. 1. The policy templates may be defined and stored in blocks 102 and 106 at different times and then distributed in method 200 at other times. In block 202, at least one set of parameters, variables, values or the like to be associated with each policy template may be identified or defined by a policy administrator or the like, or parameters may be identified or defined to be associated with a selected policy template. The parameters will be substituted or bound into the policy template for enforcement of the policy at an enforcement point. The parameters may be preconditions, values that are set if one or more preconditions are met, an operation to be performed if one or more preconditions are met or the like. Each parameter or set of parameters may be identified by name and type of parameter. Examples of types of parameters may include a precondition, a value, type of operation or function or the like. Each parameter or set of parameters may also be stored by the name and type of parameter or set of parameters. The parameters may be updated or changed from time to time in a selected policy template.

In block 204, a policy template ID may be transmitted by a policy administrator or the like to an enforcement point or to selected enforcement points for each policy to be enforced by the enforcement point or selected enforcement points. In block 206, the one set of parameters to be used in each associated policy template may be transmitted by the policy administrator to the respective enforcement points. In block 208, each enforcement point may determine if the policy template corresponding to each received template ID is present or stored at the enforcement point. If the policy template is available at the enforcement point, the method 200 may advance to block 216 and the enforcement point may substitute or bind the parameters to each associated policy template for enforcement. If the policy template is not present or stored at the enforcement point, the method 200 may advance to block 210. In block 210, the enforcement point may transmit a query to a repository or the like, where policy templates are stored or maintained. The query may be sent in response to each policy template corresponding to any IDs transmitted to the enforcement point that are not present or stored at the enforcement point. In block 212, any policy templates may be transmitted to the enforcement point in response to the query including any IDs assigned to the transmitted policy templates. Asynchronous, out-of-band communication or signaling may be applied or used to transmit queries and any policy templates. Compression may also be used to transmit templates and parameters to conserve communication resources. Any type of data compression and decompression techniques may be used, such as Lempel-Ziv (LZ) compression or the like. Templates may also be grouped for efficient distribution and for transactional distribution.

In block 214, the enforcement point may store the template. The enforcement point may also store the parameters associated with the template or to be used in the template. Each parameter or set of parameters may be stored by an associated name and type of parameter or set of parameters. In block 216, the enforcement point may bind or substitute the parameters into the associated template. In block 218, the enforcement point may begin implementing or enforcing the policy associated with the template.

FIG. 3 is a flow chart of a method 300 to distribute policies in accordance with another embodiment of the present invention. Method 300 is similar to method 200 of FIG. 2 except the template itself may be transmitted to the enforcement point rather than the ID. Alternatively, both the ID and the template may be transmitted to the enforcement point or points. In block 302, at least one set of parameters may be identified or defined to be associated with each policy template. As previously discussed, each parameter or set of parameters may be identified and stored by a name or identification and a type of parameter. In block 304, a policy template may be transmitted to each enforcement point for each policy to be enforced by the respective enforcement points. Each policy template may be compressed using data compression techniques or algorithms prior to transmission to each enforcement point. In block 306 one set of parameters to be used in each associated policy template for enforcement may be transmitted to each enforcement point enforcing the policy associated with each template.

In block 308, a determination may be made if the enforcement point already has the policy template. If the policy template is present or stored at the enforcement point, the method 300 may advance to block 312. If the transmitted policy template is not currently available or stored at the enforcement point, the enforcement point may store the new template in block 310 before the method advances to block 312. In block 312, the enforcement point may bind the parameters to the associated template. In block 314, the enforcement point may begin implementing or enforcing the policy corresponding to the policy template.

FIG. 4 is an example of a system 400 to distribute policies in accordance with an embodiment of the present invention. Elements of the methods 100, 200 and 300 of FIGS. 1, 2 and 3, respectively, may be embodied in and performed by the system 400. The system 400 may include one or more policy administrators 402 and one or more enforcement points 404. Each policy administrator 402 may include a processor 406, one or more input devices 408 and one or more output devices 410. The processor 406, input devices 408 and output devices 410 may facilitate defining policy templates 412 and assigning an ID 414 to each policy template 412. The processor 406, input devices 408 and output devices 410 may also facilitate transmitting one of the ID 414 or the policy template 412 associated with each policy to be enforced to the respective enforcement points 404 enforcing the policy. The processor 406, input devices 408 and output devices 410 may further facilitate identifying or defining parameters 416 or sets of parameters 416 associated with each template 410. The input devices 408 may include a keyboard, pointing device, voice recognition system or the like. The input devices 408 may also include optical, magnetic, infrared or radio frequency input devices or combination input/output devices, such as disk drives or the like. The input devices 408 may receive read or download software, computer-executable or readable instructions or the like, such as software 418 that may embody elements of the methods 100, 200 and 300. The software 418 may be downloaded from a communication network, system or medium, such as network or medium 420. The communication network 420 or medium may be any communication system including by way of example, dedicated communication lines, telephone networks, wireless data transmission systems, two-way cable systems, customized computer networks, interactive kiosk networks, the Internet or the like. The system or medium 420 may also be or form part of a communication channel, memory or similar devices.

The output devices 410 may include a display or monitor, printer, audio system or the like. The output devices 410 may also be coupled to a communication system, network or medium, such as the network or medium 420. The processor 406 may also include a browser 414 or the like to facilitate accessing the network or medium 420.

Each enforcement point 404 may include a processor 424, one or more input devices 426 and one or more output devices 428. The processor 424, input devices 426 and output devices 428 may facilitate the enforcement point 404 receiving the ID 414 assigned to the policy template 412 or the policy template 412 itself for each policy to be enforced by the enforcement point 404. The processor 424, input devices 426 and output devices 428 may be similar to the processor 406, input devices 408 and output devices 410 of each policy administrator 402. The enforcement point processor 424 may also include software 430, computer-readable or computer-executable instructions or the like that may embody elements of the methods 200 and 300 of FIGS. 2 and 3. Each enforcement point 404 may also include a browser 432 or the like to facilitate access to the communication network or medium 420. Each enforcement point 404 may also include a data source 434 that may store each policy template 412 and the associated or assigned ID 414 for enforcement of the policy corresponding to the template 412 by the enforcement point 404. The data source 434 may also parameters 416 bound to the template 412.

The system 400 may also include a repository 436 to store the policy templates 412 and IDs 414 assigned to each policy template 412. The repository 436 may also store parameters 416 or sets of parameters 416 associated with each policy template 412. As previously described, an enforcement point 404 may form and transmit a query in response to each policy template 412 corresponding to any IDs 414 transmitted by a policy administrator 402 not being present or stored at the enforcement point 404. The enforcement point 404 and repository 436 may apply asynchronous, out-of-band communication to transmit the query and any policy templates 412 corresponding to the query. The repository 436 may also include software and hardware to compress each policy template 412 before transmission to the enforcement point 404 to conserve resources. Alternatively, the policy templates 412 may be stored in a compressed format to further conserve resources.

The system 400 may also include a server 438, processor or the like to interface between each of the policy administrators 402, enforcement points 404 and repository 436. The server 438 may include software 440, computer-executable or computer-readable instructions or the like for operation of the system 400 in storing and distributing policy templates 412 and associated parameters 416 as described herein.

Elements of the present invention, such as methods 100, 200 and 300 of FIGS. 1, 2 and 3, respectively may be embodied in hardware and/or software as a computer program code that may include firmware, resident software, microcode or the like. Additionally, elements of the invention may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with a system, such as system 400 of FIG. 4. Examples of such a medium may be illustrated in FIG. 4 as input devices 408 and 426 or network 420. A computer-usable or readable medium may be any medium that may contain, store, communicate or transport the program for use by or in connection with a system, such as system 400. The medium, for example, may be an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system or the like. The medium may also be simply a stream of information being retrieved when the computer program product is “downloaded” through a network, such as network 420, the Internet or the like. The computer-usable or readable medium could also be paper or another suitable medium upon which the program may be printed.

Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art appreciate that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown and that the invention has other applications in other environments. This application is intended to cover any adaptations or variations of the present invention. The following claims are in no way intended to limit the scope of the invention to the specific embodiments described herein.

Kaminsky, David L., Cruz, Christina M., Kirchstein, Eric, Searcey, Carrie W.

Patent Priority Assignee Title
10028144, Jan 28 2009 Headwater Research LLC Security techniques for device assisted services
10057141, Jan 28 2009 Headwater Research LLC Proxy system and method for adaptive ambient services
10057775, Jan 28 2009 Headwater Research LLC Virtualized policy and charging system
10064033, Jan 28 2009 Headwater Research LLC Device group partitions and settlement platform
10064055, Jan 28 2009 Headwater Research LLC Security, fraud detection, and fraud mitigation in device-assisted services systems
10070305, Jan 28 2009 Headwater Research LLC Device assisted services install
10080250, Jan 28 2009 Headwater Research LLC Enterprise access control and accounting allocation for access networks
10165447, Jan 28 2009 Headwater Research LLC Network service plan design
10171681, Jan 28 2009 Headwater Research LLC Service design center for device assisted services
10171988, Jan 28 2009 Headwater Research LLC Adapting network policies based on device service processor configuration
10171990, Jan 28 2009 Headwater Research LLC Service selection set publishing to device agent with on-device service selection
10171995, Mar 14 2013 Headwater Research LLC Automated credential porting for mobile devices
10200541, Jan 28 2009 Headwater Research LLC Wireless end-user device with divided user space/kernel space traffic policy system
10237146, Jan 28 2009 Headwater Research LLC Adaptive ambient services
10237757, Jan 28 2009 Headwater Research LLC System and method for wireless network offloading
10237773, Jan 28 2009 Headwater Research LLC Device-assisted services for protecting network capacity
10248996, Jan 28 2009 Headwater Research LLC Method for operating a wireless end-user device mobile payment agent
10264138, Jan 28 2009 Headwater Research LLC Mobile device and service management
10320990, Jan 28 2009 Headwater Research LLC Device assisted CDR creation, aggregation, mediation and billing
10321320, Jan 28 2009 Headwater Research LLC Wireless network buffered message system
10326675, Jan 28 2009 Headwater Research LLC Flow tagging for service policy implementation
10326800, Jan 28 2009 Headwater Research LLC Wireless network service interfaces
10462627, Jan 28 2009 Headwater Research LLC Service plan design, user interfaces, application programming interfaces, and device management
10492102, Jan 28 2009 Headwater Research LLC Intermediate networking devices
10536983, Jan 28 2009 Headwater Research LLC Enterprise access control and accounting allocation for access networks
10582375, Jan 28 2009 Headwater Research LLC Device assisted services install
10681179, Jan 28 2009 Headwater Research LLC Enhanced curfew and protection associated with a device group
10694385, Jan 28 2009 Headwater Research LLC Security techniques for device assisted services
10715342, Jan 28 2009 Headwater Research LLC Managing service user discovery and service launch object placement on a device
10716006, Jan 28 2009 Headwater Research LLC End user device that secures an association of application to service policy with an application certificate check
10749700, Jan 28 2009 Headwater Research LLC Device-assisted services for protecting network capacity
10771980, Jan 28 2009 Headwater Research LLC Communications device with secure data path processing agents
10779177, Jan 28 2009 Headwater Research LLC Device group partitions and settlement platform
10783581, Jan 28 2009 Headwater Research LLC Wireless end-user device providing ambient or sponsored services
10791471, Jan 28 2009 Headwater Research LLC System and method for wireless network offloading
10798252, Jan 28 2009 Headwater Research LLC System and method for providing user notifications
10798254, Jan 28 2009 Headwater Research LLC Service design center for device assisted services
10798558, Jan 28 2009 Headwater Research LLC Adapting network policies based on device service processor configuration
10803518, Mar 15 2013 Headwater Research LLC Virtualized policy and charging system
10834577, Jan 28 2009 Headwater Research LLC Service offer set publishing to device agent with on-device service selection
10834583, Mar 14 2013 Headwater Research LLC Automated credential porting for mobile devices
10841839, Jan 28 2009 Headwater Research LLC Security, fraud detection, and fraud mitigation in device-assisted services systems
10848330, Jan 28 2009 Headwater Research LLC Device-assisted services for protecting network capacity
10855559, Jan 28 2009 Headwater Research LLC Adaptive ambient services
10869199, Jan 28 2009 Headwater Research LLC Network service plan design
10985977, Jan 28 2009 Headwater Research LLC Quality of service for device assisted services
11039020, Jan 28 2009 Headwater Research LLC Mobile device and service management
11096055, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
11134102, Jan 28 2009 Headwater Research LLC Verifiable device assisted service usage monitoring with reporting, synchronization, and notification
11190427, Jan 28 2009 Headwater Research LLC Flow tagging for service policy implementation
11190545, Jan 28 2009 Headwater Research LLC Wireless network service interfaces
11190645, Jan 28 2009 Headwater Research LLC Device assisted CDR creation, aggregation, mediation and billing
11218854, Jan 28 2009 Headwater Research LLC Service plan design, user interfaces, application programming interfaces, and device management
11219074, Jan 28 2009 Headwater Research LLC Enterprise access control and accounting allocation for access networks
11228617, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
11337059, Jan 28 2009 Headwater Research LLC Device assisted services install
11363496, Jan 28 2009 Headwater Research LLC Intermediate networking devices
11405224, Jan 28 2009 Headwater Research LLC Device-assisted services for protecting network capacity
11405429, Jan 28 2009 Headwater Research LLC Security techniques for device assisted services
11412366, Mar 02 2009 Headwater Research LLC Enhanced roaming services and converged carrier networks with device assisted services and a proxy
11425580, Jan 28 2009 Headwater Research LLC System and method for wireless network offloading
11477246, Jan 28 2009 Headwater Research LLC Network service plan design
11494837, Mar 15 2013 Headwater Research LLC Virtualized policy and charging system
11516301, Jan 28 2009 Headwater Research LLC Enhanced curfew and protection associated with a device group
11533642, Jan 28 2009 Headwater Research LLC Device group partitions and settlement platform
11538106, Jan 28 2009 Headwater Research LLC Wireless end-user device providing ambient or sponsored services
11563592, Jan 28 2009 Headwater Research LLC Managing service user discovery and service launch object placement on a device
11570309, Jan 28 2009 Headwater Research LLC Service design center for device assisted services
11582593, Jan 28 2009 HEAD WATER RESEARCH LLC Adapting network policies based on device service processor configuration
11589216, Jan 28 2009 Headwater Research LLC Service selection set publishing to device agent with on-device service selection
11665186, Jan 28 2009 Headwater Research LLC Communications device with secure data path processing agents
11665592, Jan 28 2009 Headwater Research LLC Security, fraud detection, and fraud mitigation in device-assisted services systems
11743717, Mar 14 2013 Headwater Research LLC Automated credential porting for mobile devices
11750477, Jan 28 2009 Headwater Research LLC Adaptive ambient services
11757943, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
11923995, Jan 28 2009 Headwater Research LLC Device-assisted services for protecting network capacity
11966464, Jan 28 2009 Headwater Research LLC Security techniques for device assisted services
11968234, Jan 28 2009 Headwater Research LLC Wireless network service interfaces
11973804, Jan 28 2009 Headwater Research LLC Network service plan design
11985155, Jan 28 2009 Headwater Research LLC Communications device with secure data path processing agents
8570908, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
8583781, Jan 28 2009 Headwater Research LLC Simplified service network architecture
8588110, Jan 28 2009 Headwater Research LLC Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
8589541, Jan 28 2009 Headwater Research LLC Device-assisted services for protecting network capacity
8606911, Jan 28 2009 Headwater Research LLC Flow tagging for service policy implementation
8626115, Jan 28 2009 Headwater Research LLC Wireless network service interfaces
8630192, Jan 28 2009 Headwater Research LLC Verifiable and accurate service usage monitoring for intermediate networking devices
8630611, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
8630617, Jan 28 2009 Headwater Research LLC Device group partitions and settlement platform
8630630, Jan 28 2009 Headwater Research LLC Enhanced roaming services and converged carrier networks with device assisted services and a proxy
8631102, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
8631479, Jan 28 2009 Headwater Partners I LLC Automated device provisioning and activation
8634805, Jan 28 2009 Headwater Research LLC Device assisted CDR creation aggregation, mediation and billing
8634821, Jan 28 2009 ITSON, INC Device assisted services install
8635335, Jan 28 2009 Headwater Research LLC System and method for wireless network offloading
8635678, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
8639811, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
8639935, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
8640198, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
8655339, Jan 28 2009 Headwater Partners I LLC Open development system for access service providers
8666364, Jan 28 2009 Headwater Research LLC Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
8666365, Jan 28 2009 Headwater Partners I LLC Automated device provisioning and activation
8667131, Jan 28 2009 Headwater Partners I LLC Service offer set publishing to device agent with on-device service selection
8667571, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
8675507, Jan 28 2009 ITSON, INC Service profile management with user preference, adaptive policy, network neutrality and user privacy for intermediate networking devices
8688099, Jan 28 2009 Headwater Research LLC Open development system for access service providers
8695073, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
8700010, Jun 05 2008 Headwater Partners I LLC Communications device with secure data path processing agents
8713630, Jan 28 2009 Headwater Research LLC Verifiable service policy implementation for intermediate networking devices
8724554, Jan 28 2009 Headwater Research LLC Open transaction central billing system
8725123, Jun 05 2008 Headwater Research LLC Communications device with secure data path processing agents
8737957, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
8745191, Jan 28 2009 Headwater Research LLC System and method for providing user notifications
8745220, Jan 28 2009 Headwater Research LLC System and method for providing user notifications
8788661, Jan 28 2009 Headwater Research LLC Device assisted CDR creation, aggregation, mediation and billing
8793758, Jan 28 2009 Headwater Research LLC Security, fraud detection, and fraud mitigation in device-assisted services systems
8797908, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
8799451, Jan 28 2009 Headwater Research LLC Verifiable service policy implementation for intermediate networking devices
8832777, Jan 28 2009 Headwater Research LLC Adapting network policies based on device service processor configuration
8839387, Jan 28 2009 Headwater Research LLC Roaming services network and overlay networks
8839388, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
8868455, Jan 28 2009 Headwater Research LLC Adaptive ambient services
8886162, Jan 28 2009 Headwater Research LLC Restricting end-user device communications over a wireless access network associated with a cost
8892729, Mar 02 2009 Headwater Partners I LLC Service design center for device assisted services
8893009, Jan 28 2009 Headwater Research LLC End user device that secures an association of application to service policy with an application certificate check
8897743, Jan 28 2009 Headwater Research LLC Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
8897744, Jan 28 2009 Headwater Research LLC Device assisted ambient services
8898079, Jan 28 2009 Headwater Research LLC Network based ambient services
8898293, Jan 28 2009 Headwater Research LLC Service offer set publishing to device agent with on-device service selection
8903452, Jan 28 2009 Headwater Research LLC Device assisted ambient services
8924469, Jun 05 2008 Headwater Research LLC Enterprise access control and accounting allocation for access networks
8924543, Mar 02 2009 Headwater Research LLC Service design center for device assisted services
8924549, Jan 28 2009 Headwater Research LLC Network based ambient services
8948025, Jan 28 2009 Headwater Research LLC Remotely configurable device agent for packet routing
9014026, Jan 28 2009 Headwater Research LLC Network based service profile management with user preference, adaptive policy, network neutrality, and user privacy
9026079, Jan 28 2009 Headwater Research LLC Wireless network service interfaces
9037127, Jan 28 2009 Headwater Research LLC Device agent for remote user configuration of wireless network access
9054993, Mar 31 2004 Telecom Italia S.p.A. Method and system for controlling content distribution, related network and computer program product therefor
9059913, Jan 28 2009 Headwater Partners I, LLC Techniques for attribution of device data traffic to initiating end-user application
9094311, Jan 28 2009 Headwater Research LLC Techniques for attribution of mobile device data traffic to initiating end-user application
9137701, Jan 28 2009 Headwater Research LLC Wireless end-user device with differentiated network access for background and foreground device applications
9137739, Jan 28 2009 Headwater Research LLC Network based service policy implementation with network neutrality and user privacy
9143976, Jan 28 2009 Headwater Research LLC Wireless end-user device with differentiated network access and access status for background and foreground device applications
9154428, Jan 28 2009 Headwater Research LLC Wireless end-user device with differentiated network access selectively applied to different applications
9154826, Apr 06 2011 HEADWATER PARTNERS II, LLC Distributing content and service launch objects to mobile devices
9173104, Jan 28 2009 Headwater Research LLC Mobile device with device agents to detect a disallowed access to a requested mobile data service and guide a multi-carrier selection and activation sequence
9179308, Jan 28 2009 Headwater Research LLC Network tools for analysis, design, testing, and production of services
9179315, Jan 28 2009 Headwater Research LLC Mobile device with data service monitoring, categorization, and display for different applications and networks
9179316, Jan 28 2009 Headwater Research LLC Mobile device with user controls and policy agent to control application access to device location data
9179359, Jan 28 2009 Headwater Research LLC Wireless end-user device with differentiated network access status for different device applications
9198042, Jan 28 2009 Headwater Research LLC Security techniques for device assisted services
9198074, Jan 28 2009 Headwater Research LLC Wireless end-user device with differential traffic control policy list and applying foreground classification to roaming wireless data service
9198075, Jan 28 2009 Headwater Research LLC Wireless end-user device with differential traffic control policy list applicable to one of several wireless modems
9198076, Jan 28 2009 Headwater Research LLC Wireless end-user device with power-control-state-based wireless network access policy for background applications
9198117, Jan 28 2009 Headwater Research LLC Network system with common secure wireless message service serving multiple applications on multiple wireless devices
9204282, Jan 28 2009 Headwater Research LLC Enhanced roaming services and converged carrier networks with device assisted services and a proxy
9204374, Jan 28 2009 Headwater Research LLC Multicarrier over-the-air cellular network activation server
9215159, Jan 28 2009 Headwater Research LLC Data usage monitoring for media data services used by applications
9215613, Jan 28 2009 Headwater Research LLC Wireless end-user device with differential traffic control policy list having limited user control
9220027, Jan 28 2009 Headwater Research LLC Wireless end-user device with policy-based controls for WWAN network usage and modem state changes requested by specific applications
9225797, Jan 28 2009 Headwater Research LLC System for providing an adaptive wireless ambient service to a mobile device
9232403, Jan 28 2009 Headwater Research LLC Mobile device with common secure wireless message service serving multiple applications
9247450, Jan 28 2009 Headwater Research LLC Quality of service for device assisted services
9253663, Jan 28 2009 Headwater Research LLC Controlling mobile device communications on a roaming network based on device state
9258735, Jan 28 2009 Headwater Research LLC Device-assisted services for protecting network capacity
9270559, Jan 28 2009 Headwater Research LLC Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
9271184, Jan 28 2009 Headwater Research LLC Wireless end-user device with per-application data limit and traffic control policy list limiting background application traffic
9277433, Jan 28 2009 Headwater Research LLC Wireless end-user device with policy-based aggregation of network activity requested by applications
9277445, Jan 28 2009 Headwater Research LLC Wireless end-user device with differential traffic control policy list and applying foreground classification to wireless data service
9319913, Jan 28 2009 Headwater Research LLC Wireless end-user device with secure network-provided differential traffic control policy list
9351193, Jan 28 2009 Headwater Research LLC Intermediate networking devices
9386121, Jan 28 2009 Headwater Research LLC Method for providing an adaptive wireless ambient service to a mobile device
9386165, Jan 28 2009 Headwater Research LLC System and method for providing user notifications
9392462, Jan 28 2009 Headwater Research LLC Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
9491199, Jan 28 2009 Headwater Research LLC Security, fraud detection, and fraud mitigation in device-assisted services systems
9491564, Jan 28 2009 Headwater Research LLC Mobile device and method with secure network messaging for authorized components
9521578, Jan 28 2009 Headwater Research LLC Wireless end-user device with application program interface to allow applications to access application-specific aspects of a wireless network access policy
9532161, Jan 28 2009 Headwater Research LLC Wireless device with application data flow tagging and network stack-implemented network access policy
9532261, Jan 28 2009 Headwater Research LLC System and method for wireless network offloading
9544397, Jan 28 2009 Headwater Research LLC Proxy server for providing an adaptive wireless ambient service to a mobile device
9557889, Jan 28 2009 Headwater Research LLC Service plan design, user interfaces, application programming interfaces, and device management
9565543, Jan 28 2009 Headwater Research LLC Device group partitions and settlement platform
9565707, Jan 28 2009 Headwater Research LLC Wireless end-user device with wireless data attribution to multiple personas
9571559, Jan 28 2009 Headwater Research LLC Enhanced curfew and protection associated with a device group
9572019, Jan 28 2009 Headwater Research LLC Service selection set published to device agent with on-device service selection
9578182, Jan 28 2009 Headwater Research LLC Mobile device and service management
9591474, Mar 02 2009 Headwater Research LLC Adapting network policies based on device service processor configuration
9609459, Jan 28 2009 Headwater Research LLC Network tools for analysis, design, testing, and production of services
9609510, Mar 14 2013 Headwater Research LLC Automated credential porting for mobile devices
9609544, Jan 28 2009 Headwater Research LLC Device-assisted services for protecting network capacity
9615192, Jan 28 2009 Headwater Research LLC Message link server with plural message delivery triggers
9641957, Jan 28 2009 Headwater Research LLC Automated device provisioning and activation
9647918, Jan 28 2009 Headwater Research LLC Mobile device and method attributing media services network usage to requesting application
9674731, Jan 28 2009 Headwater Research LLC Wireless device applying different background data traffic policies to different device applications
9705771, Jan 28 2009 Headwater Research LLC Attribution of mobile device data traffic to end-user application based on socket flows
9706061, Jan 28 2009 Headwater Research LLC Service design center for device assisted services
9749898, Jan 28 2009 Headwater Research LLC Wireless end-user device with differential traffic control policy list applicable to one of several wireless modems
9749899, Jan 28 2009 Headwater Research LLC Wireless end-user device with network traffic API to indicate unavailability of roaming wireless connection to background applications
9755842, Jan 28 2009 Headwater Research LLC Managing service user discovery and service launch object placement on a device
9769207, Jan 28 2009 Headwater Research LLC Wireless network service interfaces
9819808, Jan 28 2009 Headwater Research LLC Hierarchical service policies for creating service usage data records for a wireless end-user device
9858559, Jan 28 2009 Headwater Research LLC Network service plan design
9866642, Jan 28 2009 Headwater Research LLC Wireless end-user device with wireless modem power state control policy for background applications
9942796, Jan 28 2009 Headwater Research LLC Quality of service for device assisted services
9954975, Jan 28 2009 Headwater Research LLC Enhanced curfew and protection associated with a device group
9955332, Jan 28 2009 Headwater Research LLC Method for child wireless device activation to subscriber account of a master wireless device
9973930, Jan 28 2009 Headwater Research LLC End user device that secures an association of application to service policy with an application certificate check
9980146, Jan 28 2009 Headwater Research LLC Communications device with secure data path processing agents
Patent Priority Assignee Title
6510513, Jan 13 1999 Microsoft Technology Licensing, LLC Security services and policy enforcement for electronic data
6621793, May 22 2000 Sony Corporation Application influenced policy
6826609, Mar 31 2000 AXWAY INC Policy enforcement in a secure data file delivery system
6981029, Jul 17 2001 Cisco Technology, Inc System and method for processing a request for information in a network
7032022, Jun 10 1999 RPX Corporation Statistics aggregation for policy-based network
7103351, Jun 23 2003 Cisco Technology, Inc Policy service system and methodology
20030110192,
/////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Dec 11 2003International Business Machines Corporation(assignment on the face of the patent)
Dec 11 2003KAMINSKY, DAVID L International Business Machines CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0146680380 pdf
Dec 11 2003CRUZ, CHRISTINA M International Business Machines CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0146680380 pdf
Dec 11 2003SEARCEY, CARRIE W International Business Machines CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0146680380 pdf
Dec 11 2003KIRCHSTEIN, ERICInternational Business Machines CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0146680380 pdf
Date Maintenance Fee Events
Mar 03 2017REM: Maintenance Fee Reminder Mailed.
Jul 23 2017EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Jul 23 20164 years fee payment window open
Jan 23 20176 months grace period start (w surcharge)
Jul 23 2017patent expiry (for year 4)
Jul 23 20192 years to revive unintentionally abandoned end. (for year 4)
Jul 23 20208 years fee payment window open
Jan 23 20216 months grace period start (w surcharge)
Jul 23 2021patent expiry (for year 8)
Jul 23 20232 years to revive unintentionally abandoned end. (for year 8)
Jul 23 202412 years fee payment window open
Jan 23 20256 months grace period start (w surcharge)
Jul 23 2025patent expiry (for year 12)
Jul 23 20272 years to revive unintentionally abandoned end. (for year 12)