IP Library Granted Patent US 7,383,534
Granted Patent B1
US 7,383,534 · App. 10/660,422 · Granted Jun 3, 2008

Configuration system and methods including configuration inheritance and revisioning

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,383,534
App. No.
10/660,422
Granted
Jun 3, 2008
Kind
B1
Abstract

A system includes a security management system for a plurality of managed products. The security management system stores configuration data for managed products and managed nodes in a directory. Configuration data is stored in the directory in the form of configuration objects and setting objects. A revision history of a configuration object and/or a setting object can be maintained. Inheritance between configuration objects is supported so that a configuration inheritance chain is available. To determine an effective configuration at a point in time, a parent-child inheritance merge process is used. To assist the parent-child inheritance process, name attributes and collision resolution mode attributes are used.

Claims (42)

1. A computer implemented method for generating an effective configuration for a managed product comprising:

generating a configuration object for a managed product, said configuration object specifying a configuration for said managed product, said configuration object representing a certain behavior or desired functional state for a software feature of said managed product;

generating a derived configuration object of said configuration object, said derived configuration object representing a modification to said configuration for said managed product;

wherein said configuration object and said derived configuration object comprise a configuration object inheritance chain; and

processing said configuration object inheritance chain using a parent-child inheritance merge process to obtain an effective configuration for said managed product,

wherein said parent-child inheritance merge process resolves collisions between elements of said configuration object and elements of said derived configuration object having the same collision detection name and merges the configuration object and said derived configuration object to obtain a merged configuration.

2. A computer implemented method for generating an effective configuration for a managed product from a configuration object inheritance chain comprising:

obtaining a configuration object inheritance chain for a managed product, said configuration object inheritance chain comprising:

a configuration object, said configuration object representing a certain behavior or desired functional state for a software feature of said managed product; and

a derived configuration object of said configuration object, said derived configuration object representing a modification to said configuration for said managed product;

obtaining a mark-up language string for a most-derived configuration object;

converting said mark-up language string for said most-derived configuration object to a derived tree structure having nodes wherein a plurality of nodes in said derived tree structure include collision detection names;

obtaining a mark-up language string for a parent configuration object of said most-derived configuration object;

converting said mark-up language string for said parent configuration object to a base tree structure having nodes wherein a plurality of nodes in said base tree structure include collision detection names; and

combining said derived tree structure and said base tree structure, by resolving at least one collision between a node in the derived tree structure having a collision detection name and a node in the base tree structure having said collision detection name, to form a merged tree structure.

3. The computer implemented method of claim 2 wherein a collision detection name for a node in said plurality of nodes is a name of a start tag when said start tag does not include a name attribute.

4. The computer implemented method of claim 2 wherein a collision detection name for a node in said plurality of nodes is combination of a name of a start tag and a string determined by a namespecifier when said start tag includes a name attribute with said namespecifier.

5. The computer implemented method of claim 2 wherein resolving at least one collision between a node in the derived tree structure having a collision detection name and a node in the base tree structure having said collision detection name further comprises:

merging said nodes to form a node of said merged tree when said nodes have child nodes.

6. The computer implemented method of claim 2 wherein resolving at least one collision between a node in the derived tree structure having a collision detection name and a node in the base tree structure having said collision detection name further comprises:

copying said node in the derived tree structure to said merged tree when said nodes are leaf nodes.

7. The computer implemented method of claim 2 wherein resolving at least one collision between a node in the derived tree structure having a collision detection name and a node in the base tree structure having said collision detection name further comprises:

selecting a combination of said nodes to form a node of said merged tree based upon a value of a collision resolution mode attribute in a start tag for an element corresponding to one of said nodes.

8. The computer implemented method claim 7 where said value of said collision resolution mode attribute is merge.

9. The computer implemented method claim 7 where said value of said collision resolution mode attribute is use base.

10. The computer implemented method claim 7 where said value of said collision resolution mode attribute is use derived.

11. The computer implemented method claim 7 where said value of said collision resolution mode attribute is accumulate.

12. The computer implemented method of claim 2 wherein said obtaining a mark-up language string for a most-derived configuration object includes:

collapsing sibling elements with identical values of a name attribute into a single element.

13. A computer-program product comprising a computer-readable storage medium containing computer program code for a method for generating an effective configuration for a managed product comprising:

generating a configuration object for a managed product, said configuration object specifying a configuration for said managed product, said configuration object representing a certain behavior or desired functional state for a software feature of said managed product;

generating a derived configuration object of said configuration object, said derived configuration object representing a modification to said configuration for said managed product,

wherein said configuration object and said derived configuration object comprise a configuration object inheritance chain; and

processing said configuration object inheritance chain using a parent-child inheritance merge process to obtain an effective configuration for said managed product

wherein said parent-child inheritance merge process resolves collisions between elements of said configuration object and elements of said derived configuration object having the same collision detection name and merges the configuration object and said derived configuration object to obtain a merged configuration.

14. An apparatus for generating an effective configuration for a managed product, said apparatus comprising:

a memory having stored therein at least a portion of an application for generating an effective configuration for a managed product, said application comprising:

means for generating a configuration object for a managed product, said configuration object specifying a configuration for said managed product, said configuration object representing a certain behavior or desired functional state for a software feature of said managed product;

means for generating a derived configuration object of said configuration object, said derived configuration object representing a modification to said configuration for said managed product,

wherein said configuration object and said derived configuration object comprise a configuration object inheritance chain; and

means for processing said configuration object inheritance chain using a parent-child inheritance merge process to obtain an effective configuration for said managed product

wherein said parent-child inheritance merge process resolves collisions between elements of said configuration object and elements of said derived configuration object having the same collision detection name and merges the configuration object and said derived configuration object to obtain a merged configuration.

Assignments (3)
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →