IP Library Granted Patent US 7,774,826
Granted Patent B1
US 7,774,826 · App. 11/108,766 · Granted Aug 10, 2010

System and method for determining effective policy profiles in a client-server architecture

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,774,826
App. No.
11/108,766
Granted
Aug 10, 2010
Kind
B1
Abstract

A system and method for determining effective policy profiles, is presented herein. The system includes one or more client devices configured to initiate a request for at least one effective policy profile, a server mechanism communicatively coupled to the one or more client devices and configured to receive the request for the at least one effective policy profile and determine the at least effective policy profiles for each of the requesting one or more client devices, and a policy data storage component communicatively coupled to the server mechanism and configured to store a plurality of policy profiles. The plurality of plurality of policy profiles includes an association between each of the one or more client devices and one or more of the plurality of policy profiles.

Claims (43)

1. A method for determining effective policy profiles in a client-server architecture, comprising:

receiving a request for an effective policy profile at a server, wherein the server receives the request for the effective policy profile from a client device communicatively coupled to the server via a network;

retrieving the effective policy profile for the client device at the server, wherein retrieving the effective policy profile for the client device includes:

determining whether the effective policy profile for the client device is stored in a local cache locally coupled to the server, wherein the local cache stores one or more policy profiles having timeout values that are less than or equal to a predetermined time interval;

retrieving the effective policy profile for the client device from the local cache in response to determining that the policy profiles stored in the local cache include the effective policy profile for the client device;

returning, from the server to the client device, the effective policy profile retrieved from the local cache in response to determining that the policy profiles stored in the local cache include the effective policy profile for the client device;

retrieving a plurality of policy profiles that are effective for the client device from a policy data store that includes a repository integrated with the server in response to determining that the policy profiles stored in the local cache do not include the effective policy profile for the client device;

returning, from the server to the client device, one of the plurality of effective policy profiles retrieved from the policy data store having a hierarchical distance closest to the client device in response to determining that the policy profiles stored in the local cache do not include the effective policy profile for the client device, wherein the hierarchical distances from the plurality of effective policy profiles to the client device depend on a distance within a hierarchy from the plurality of effective policy profiles to a root of the policy data store.

2. The method of claim 1 , wherein the request for the effective policy profile received at the server includes indicia providing an identity of the client device.

3. The method of claim 1 , wherein determining whether the effective policy profile for the client device is stored in the local cache includes:

determining that the policy profiles stored in the local cache include the effective policy profile for the client device in response to the local cache including a policy profile that is effective for the client device, and further in response to the timeout value for the policy profile that is effective for the client device not exceeding the predetermined time interval; and

determining that the policy profiles stored in the local cache do not include the effective policy profile for the client device in response to the local cache not including a policy profile that is effective for the client device, or in response to the timeout value for the policy profile that is effective for the client device exceeding the predetermined time interval.

4. The method of claim 1 , further comprising determining whether the client device meets one or more system requirements associated with the effective policy profile retrieved from the local cache or the plurality of effective policy profiles retrieved from the policy data store, wherein the server returns to the client device the effective policy profile retrieved from the local cache or the effective policy profile retrieved from the policy data store that has the hierarchical distance closest to the client device in response to determining that the client device meets the system requirements.

5. The method of claim 1 , further comprising determining a policy type for the effective policy profile retrieved from the local cache or the plurality of effective policy profiles retrieved from the policy data store, wherein the client device applies the effective policy profile returned from the local cache or the effective policy profile returned from the policy data store based on the policy type.

6. The method of claim 1 , further comprising hierarchically ordering the plurality of effective policy profiles retrieved from the policy data store based on the hierarchical distances from the plurality of effective policy profiles to the client device.

7. The method of claim 6 , wherein the server first returns to the client device one of the plurality of hierarchically ordered effective policy profiles that are directly associated with the client device, next returns one of the plurality of hierarchically ordered effective policy profiles that are associated with a group to which the client device belongs, and next returns one of the plurality of hierarchically ordered effective policy profiles that are associated with a container that contains the group to which the client device belongs.

8. The method of claim 1 , wherein the effective policy profile returned to the client device from the local cache or the policy data store includes one or more of a name, a type, a version, or one or more system requirements that have not been validated.

9. The method of claim 7 , wherein the effective policy profile directly associated with the client device has the closest hierarchical distance to the client device, the effective policy profile associated with the group to which the client device belongs has a second closest hierarchical distance to the client device, and the effective policy profile associated with the container that contains the group to which the client device belongs has a third closest hierarchical distance to the client device.

10. The method of claim 6 , further comprising removing one or more of the hierarchically ordered effective policy profiles in response to the client device failing to meet at least one system requirement associated with the one or more hierarchically ordered effective policy profiles.

11. The method of claim 6 , further comprising locating a subset of the plurality of hierarchically ordered effective policy profiles having a singular policy type, wherein the server returns to the client device one of the hierarchically ordered effective policy profiles in the located subset having the closest hierarchical distance to the client device.

12. The method of claim 1 , wherein the client device communicates the request for the effective policy profile to the server at a pre-scheduled time or in response to a local data store at the client device becoming corrupted.

13. A system for determining effective policy profiles in a client-server architecture, comprising:

a server configured to receive a request for an effective policy profile from a client device communicatively coupled to the server via a network;

a local cache locally coupled to the server, wherein the local cache is configured to store one or more policy profiles having timeout values that are less than or equal to a predetermined time interval; and

a policy data store integrated with the server, wherein the policy data store includes a repository configured to store a plurality of potential effective policy profiles for the client device, and wherein the server is further configured to:

retrieve the effective policy profile for the client device from the local cache in response to determining that the policy profiles stored in the local cache include the effective policy profile for the client device;

return, to the client device, the effective policy profile retrieved from the local cache in response to determining that the policy profiles stored in the local cache include the effective policy profile for the client device;

retrieve a plurality of policy profiles that are effective for the client device from the policy data store in response to determining that the policy profiles stored in the local cache do not include the effective policy profile for the client device; and

return, to the client device, one of the plurality of effective policy profiles retrieved from the policy data store having a hierarchical distance closest to the client device in response to determining that the policy profiles stored in the local cache do not include the effective policy profile for the client device, wherein the hierarchical distances from the plurality of effective policy profiles to the client device depend on a distance within a hierarchy from the plurality of effective policy profiles to a root of the policy data store.

14. The system of claim 13 , wherein the request for the effective policy profile received at the server includes indicia providing an identity of the client device.

15. The system of claim 13 , wherein the server is further configured to:

determine that the policy profiles stored in the local cache include the effective policy profile for the client device in response to the local cache including a policy profile that is effective for the client device, and further in response to the timeout value for the policy profile that is effective for the client device not exceeding the predetermined time interval; and

determine that the policy profiles stored in the local cache do not include the effective policy profile for the client device in response to the local cache not including a policy profile that is effective for the client device, or in response to the timeout value for the policy profile that is effective for the client device exceeding the predetermined time interval.

16. The system of claim 13 , wherein the server is further configured to determine whether the client device meets one or more system requirements associated with the effective policy profile retrieved from the local cache or the plurality of effective policy profiles retrieved from the policy data store, wherein the server returns to the client device the effective policy profile retrieved from the local cache or the effective policy profile retrieved from the policy data store that has the hierarchical distance closest to the client device in response to determining that the client device meets the system requirements.

17. The system of claim 13 , wherein the server is further configured to determine a policy type for the effective policy profile retrieved from the local cache or the plurality of effective policy profiles retrieved from the policy data store, wherein the client device applies the effective policy profile returned from the local cache or the effective policy profile returned from the policy data store based on the policy type.

18. The system of claim 13 , wherein the server is further configured to hierarchically order the plurality of effective policy profiles retrieved from the policy data store based on the hierarchical distances from the plurality of effective policy profiles to the client device.

19. The system of claim 18 , wherein the server first returns to the client device one of the plurality of hierarchically ordered effective policy profiles that are directly associated with the client device, next returns one of the plurality of hierarchically ordered effective policy profiles that are associated with a group to which the client device belongs, and next returns one of the plurality of hierarchically ordered effective policy profiles that are associated with a container that contains the group to which the client device belongs.

20. The system of claim 13 , wherein the effective policy profile returned to the client device from the local cache or the policy data store includes one or more of a name, a type, a version, or one or more system requirements that have not been validated.

21. The system of claim 19 , wherein the effective policy profile directly associated with the client device has the closest hierarchical distance to the client device, the effective policy profile associated with the group to which the client device belongs has a second closest hierarchical distance to the client device, and the effective policy profile associated with the container that contains the group to which the client device belongs has a third closest hierarchical distance to the client device.

22. A method for determining effective policy profiles in a client server architecture, comprising: receiving, at a server, a request for an effective policy profile from a client device communicatively coupled to the server via a network; retrieving, by the server, a plurality of policy profiles that are effective for the client device from a policy data store integrated with the server in response to determining that a cache locally coupled to the server does not include the requested effectively policy profile; locating a subset of the plurality of effective policy profiles having a cumulative policy type; and returning, from the server to the client device, the plurality of effective policy profiles in the subset having the cumulative policy type, where the client device implements all of the effective policy profiles in the subset returned from the server based on the hierarchical distance to the client device from the effective policy profiles in the subset to the client device, where the hierarchical distances from the effective policy profiles in the subset to the client device depend on a distance within a hierarchy from the effective policy profiles in the subset to a root of the policy data store.

23. A method for determining effective policy profiles in a client server architecture, comprising: receiving, at a server, a request for an effective policy profile from a client device communicatively coupled to the server via a network; retrieving, by the server, a plurality of policy profiles that are effective for the client device from a policy data store integrated with the server in response to determining that a cache locally coupled to the server does not include the requested effectively policy profile; and returning, from the server to the client device, the plurality of effective policy profiles retrieved from the policy data store, wherein the client device implements a subset of the plurality of effective policy profiles returned from the server having a cumulative policy type based on a hierarchical distance from the effective profiles in the subset to the client device, wherein the hierarchical distance from the effective policy profiles in the subset to the client device depend on a distance with a hierarchy from the effective policy profiles in the subset to a root of the policy data store.

24. The method of claim 23 , further comprising locating a subset of the plurality of effective policy profiles having a plural policy type, wherein the server returns to the client device all of the effective policy profiles in the located subset, and wherein the one or more effective policy profiles implemented on the client device includes all of the effective policy profiles in the located subset.

25. The method of claim 23 , wherein the client device implements all of the effective policy profiles in the subset in a reverse order of closeness to the client device, whereby the client device last implements one of the effective policy profiles in the subset for which the hierarchical distance is closest to the client device.

Assignments (16)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2005
From: ROMANEK, DAVID A.; ELLIS, TY; LEWIS, MATTHEW EDWARD; MONTROY, DANIEL E.; LAKIS, DAVID MICHAEL; ESFARJANI, FARZAD; MUIR, KEN W.
To: NOVELL, INC.
Reel/Frame 016490/0131 →