IP Library Granted Patent US 7,636,725
Granted Patent B2
US 7,636,725 · App. 10/369,833 · Granted Dec 22, 2009

XML multi-stage policy implementation in XSLT

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,636,725
App. No.
10/369,833
Granted
Dec 22, 2009
Kind
B2
Abstract

A computing system for use in a computer network is provided. The computing system includes a main software application for providing bi-directional data sharing across directories, databases and applications on the computer network. The main software application works, at least in part, in response to XML events. The computing system also includes a data store that can send one or more XML documents back and forth to a transformation engine, the XML documents including XML events. The transformation engine is provided for taking the XML documents and applying the XML documents against an XSL style sheet or an XSL transformation to transform the XML events into a different type of event for a controlled application or service.

Claims (42)

1. A computer system comprising:

a processor;

a storage device electrically connected to the processor;

an operating environment;

an interface for receiving data objects including a data change event, the data objects corresponding to information pertaining to an enterprise policy and in a predetermined format;

a first application for enabling a user to define a plurality of policies in an abstract manner for an enterprise, the plurality of policies being built using a domain-specific language that is structured in terms of an effect the policy will have on a target system;

a second application for selecting one or more policies to be applied to the events, the selection of the policies being specific to the enterprise; and

a third application for transforming the data objects by applying the one or more selected policies to the event by using XSL scripting code,

the application of the policies performing one or more of changing the event, hooking the event, binding the event with a template, and informing the data store that an action needs to be performed.

2. The computer system of claim 1 wherein the predetermined format and the domain-specific language are defined on extensible markup language (XML).

3. The computer system of claim 1 wherein the data objects are XML documents and the transformation uses at least one of an extensible stylesheet language (XSL) variable and an XSL template to apply the selected policy to the data objects.

4. The transformation engine computer system of claim 1 wherein the first application includes a separate document for storing the transformed data objects.

5. The transformation engine computer system of claim 1 wherein the first application further enables for setting up an XSL variable within the transformation that stores the information for later use.

6. The computer system of claim 1 wherein the second application utilizes an XSLT style sheet.

7. A computing system for use in a computer network, the computing system comprising:

a processor;

a storage device connected to the processor;

a main software application for providing bi-directional data sharing across directories, databases and applications on the computer network, the main software application working, at least in part, in response to XML events;

a data store that can send one or more XML documents back and forth to a transformation engine, the XML documents including XML events;

the transformation engine for taking the XML documents and applying the XML documents against an XSL style sheet or an XSL transformation to transform the XML events into a different type of event for a controlled application or service, the transformation engine comprising:

a first task for defining a plurality of policies in an abstract manner for an enterprise, each of the plurality of policies being built as XML data that is structured in terms of an effect the policy will have on a target system;

a second task for selecting one or more policies to be applied to the events, the selection of the policies being specific to the enterprise;

a third task for to applying the one or more selected policies to the event by using XSL scripting code, the application of the policies performing one or more of changing the event, hooking the event, binding the event with a template, and informing the data store that an action needs to be performed.

8. Computer readable media accessible by at least one computing system, the computer readable media having stored thereon computer executable instructions, that, when executed:

in a first process:

create a data object in a predetermined format, wherein the data object is associated with a policy, wherein the predetermined format defines a policy template and a policy variable, and

wherein the predetermined format is structured in terms of a final effect of the policy;

in a second process:

receive the data object;

transform at least one policy template, policy variable or combination of policy templates and policy variables within the data object into a policy section in the data object; and

modify the data object in conformance with the policy section.

9. The computer readable medium comprising computer executable instructions of claim 8 wherein one of the policy template and the policy variable comprises a portion written in a domain-specific language.

10. The computer readable medium comprising computer executable instructions of claim 8 wherein the policy section is scoped in complexity relative to at least one policy template, policy variable, or combination of policy templates and policy variables, and semantically identical to said policy template, policy variable, or combination of policy templates and policy variables.

11. The computer readable medium comprising computer executable instructions of claim 8 wherein the transforming one of a policy template, a policy variable, or a combination of policy templates and policy variables produces results with different scopes of complexity.

12. The computer readable medium comprising computer executable instructions of claim 8 wherein the transforming one of a policy template, a policy variable, or a combination of policy templates and policy variables is iterative.

13. The computer readable medium comprising computer executable instructions of claim 8 wherein the domain-specific language is defined on XML or formatted according to an XML-based specification.

14. The computer readable medium comprising computer executable instructions of claim 8 wherein the data object is formatted according to a first XML-based specification and at least one of the policy template or policy variable is formatted according to a second XML-based specification.

15. The computer readable medium comprising computer executable instructions of claim 8 wherein the transforming one of a policy template, a policy variable, or a combination of policy templates and policy variables is accomplished via an XSL processor.

16. The computer readable medium comprising computer executable instructions of claim 8 wherein the policy section is an XSL stylesheet.

17. The computer readable medium comprising computer executable instructions of claim 8 wherein at least one of the policy templates, policy variables, or combinations of policy templates and policy variables utilizes a second document.

18. The computer readable medium comprising computer executable instructions of claim 8 wherein at least one of transforming or modifying provides information to an outside receiver.

19. The computer readable medium comprising computer executable instructions of claim 8 wherein at least one of transforming or modifying reads or writes information in an outside data store.

Assignments (16)
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 →
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 →
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: ENTIT SOFTWARE LLC; ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; 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 SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
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 →
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 →
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 →
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 Aug 28, 2003
From: DELANEY, TIMOTHY PATRICK; MATHESON, RICHARD JOHN; VELLA, SHON; BLANCHARD, PERIN
To: NOVELL, INC.
Reel/Frame 014442/0195 →