IP Library Granted Patent US 6,941,560
Granted Patent B1
US 6,941,560 · App. 09/865,257 · Granted Sep 6, 2005

XML-based integrated services event system

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 6,941,560
App. No.
09/865,257
Granted
Sep 6, 2005
Kind
B1
Abstract

An improved system, method and software program is provided for distributed directory enabled applications using an XML API. The improvement provides an event system, a parser, and a bridge-based object model. The event system includes the ability to publish an event, subscribe to the event, and act on the event. The parser enables the XML API to parse XML files by accepting an XML file as an input stream, parsing the input stream, dynamically loading system services referenced in the input stream, and configuring the services. The bridge-based object model utilizes thread safeness, which enables a bridge to use semaphore access control to control thread access, smart pointers, which enable a bridge to automatically manage the memory it requires, and opaque interfaces, which allow a bridge to maintain interface compatibility when implementation changes occur in an interface.

Claims (42)

1. A method for providing an event system in a distributed directory-enabled application environment using an eXtensible Markup Language (“XML”) application program interface (“API”), the interface including at least one event delineated by an event parameter, the event defining an object delineated by an object property and an object parameter, the method comprising:

accepting one or more applications as subscribers to the event;

defining one or more subscription filters for each of the subscribers, thereby allowing the subscribers to selectively filter the event;

publishing the event;

retrieving a subscriber list, the list including the one or more subscribers and the one or more subscription filters; and;

automatically and sequentially passing the event to each subscriber on the list having associated filters that allow the event to pass and allowing such subscribers to act on the event until the subscriber list is exhausted or the event terminated.

2. The method of claim 1 further including filtering the event through an event filter based on the event parameter.

3. The method of claim 2 further including acting on the event by altering the event parameter, so that the event is transformed through the alteration.

4. The method of claim 1 further including filtering the event through an object filter, whereby the event is filtered based on the object property.

5. The method of claim 4 further including acting on the event by altering the object property, so that the event is transformed through the alteration.

6. The method of claim 1 further including filtering the event through a parameter filter, whereby the event is filtered based on the object parameter.

7. The method of claim 6 further including acting on the event by altering the object parameter, so that the event is transformed through the alteration.

8. The method of claim 1 further including acting on the event by terminating the event, so that the event is stopped by the termination.

9. The method of claim 1 further including tracking the event, whereby information about the event may be gathered.

10. The method of claim 9 further including generating reports from the gathered information, so that the information about the event may be compiled.

11. A computer system for providing an event system in a distributed directory-enabled application environment using an eXtensible Markup Language (“XML”) application program interface (“API”), the interface including at least one event delineated by an event parameter, the event defining an object delineated by an object property and an object parameter, the system comprising:

at least one processor;

at least one memory accessible to the processor;

a plurality of applications stored in a plurality of respective portions of the memory;

defining at least one subscription filter allowing a plurality of subscribers to selectively filter the event;

parsing the event with an XML parser;

instantiating the event as a Data Object Model (DOM) class when services required by the event are unavailable;

publishing the event by at least one of the plurality applications;

automatically passing the event to at least one of the plurality of applications if the event passes the at least one subscription filter; and

allowing at least one of the plurality of applications to act on the event.

12. The computer system of claim 11 further including instructions for filtering the event through an event filter, whereby the event is filtered based on the event parameter.

13. The computer system of claim 12 further including instructions for acting on the event by altering the event parameter, so that the event is transformed through the alteration.

14. The computer system of claim 11 further including instructions for filtering the event through an object filter, whereby the event is filtered based on the object property.

15. The computer system of claim 14 further including instructions for acting on the event by altering the object property, so that the event is transformed through the alteration.

16. The computer system of claim 11 further including instructions for filtering the event through a parameter filter, whereby the event is filtered based on the object parameter.

17. The computer system of claim 16 further including instructions for acting on the event by altering the object parameter, so that the event is transformed through the alteration.

18. The computer system of claim 11 further including instructions for acting on the event by terminating the event, so that the event is stopped by the termination.

19. The computer system of claim 11 further including instructions for tracking the event, whereby information about the event may be gathered.

20. The computer system of claim 19 further including instructions for generating reports from the gathered information, so that the information about the event may be compiled.

21. A method for providing an event system in a distributed directory-enabled application environment using an eXtensible Markup Language (“XML”) application program interface, the interface including at least one event delineated by an event parameter, the event defining an object delineated by an object property and an object parameter, the method comprising:

defining at least one subscription filter allowing at least first and second subscribers to selectively filter the event;

publishing the event;

retrieving a subscriber list, the list including the first and second subscribers and the subscription filter;

selecting the first and second subscribers and the subscription filter from the list;

passing the event to the first subscriber if the event passes through a first subscription filter;

allowing the first subscriber to modify or terminate the event based on an alteration of at least one of the event parameter and the object parameter; and

passing the modified event to the second subscriber if the event is not terminated and the event passes through a second subscription filter.

Assignments (12)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2016
From: NOVELL INTELLECTUAL PROPERTY HOLDINGS, INC.
To: RPX CORPORATION
Reel/Frame 037809/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2011
From: CPTN HOLDINGS LLC
To: NOVELL INTELLECTUAL PROPERTY HOLDING, INC.
Reel/Frame 027325/0131 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2011
From: CPTN HOLDINGS LLC
To: NOVELL INTELLECTUAL PROPERTY HOLDINGS, INC.
Reel/Frame 027465/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2011
From: CPTN HOLDINGS LLC
To: NOVELL INTELLECTUAL PROPERTY HOLDINGS INC.
Reel/Frame 027162/0342 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2011
From: NOVELL, INC.
To: CPTN HOLDINGS LLC
Reel/Frame 027157/0583 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2011
From: LOWRY, DALE; FLETCHER, SAMUEL F.; FERGUSON, HELAMAN; JOHNSON, CRAIG C.; PRATT, DAVE; FAN, JUNYING; STEPHENSON, PRESTON; MEINERS, ROD; KING, MORAY; SIEVERS, KENT
To: NOVELL, INC.
Reel/Frame 026096/0216 →