IP Library Granted Patent US 7,716,197
Granted Patent B2
US 7,716,197 · App. 11/847,996 · Granted May 11, 2010

XCAP and SIP filter chain state transforms via dynamic helper functions for internet multimedia subsystems

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,716,197
App. No.
11/847,996
Granted
May 11, 2010
Kind
B2
Abstract

The present invention extends a servlet filter chain model to include the ability to dynamically define helper functions. These dynamic helper functions modify the state of an XCAP or SIP request or response as it transitions through the filter chain. The dynamic helper functions are defined via descriptor files that are based on the document type. Each filter in the filter chain has the ability to reference and invoke the helper functions to modify the state of the request and/or response.

Claims (30)

1. A method for processing a document request, the method comprising:

creating a capabilities descriptor file for a first Extensible Markup Language Document Management System (XDMS) and a second XDMS, wherein the capabilities descriptor file describes which application usages are supported by each of the first and second XDMSes;

creating a first application descriptor file for the first XDMS;

creating a second application descriptor file for the second XDMS, wherein the first application descriptor file and the second application descriptor file each identifies and defines an order of use sequence for separate resources that each comprise an Extensible Markup Language (XML) Configuration Access Protocol (XCAP) interface, an XML parser and schema validation logic, an authorization filter, an enabler constraint checking logic, an enabler special processing logic, and an XML data store filter, and wherein the first application descriptor file also defines a first set of dynamic helper functions for a first type of application usage that is supported by the first XDMS, wherein the first set of dynamic helper functions is specifically tailored to support the first type of application and comprises a first Document Object Model (DOM) processor helper function, a first authorization helper function, a first other helper function, and a first datastore helper function, and wherein the second application descriptor file also defines a second set of dynamic helper functions for a second type of application usage that is supported by the second XDMS, wherein the second set of dynamic helper functions is specifically tailored to support the second type of application and comprises a second DOM processor helper function, a second other helper function, and a second datastore helper function, and wherein at least one dynamic helper function, from the first set of dynamic helper functions, interacts with at least one dynamic helper function from the second set of dynamic helper functions;

receiving an XCAP request to the first XDMS system, wherein the XCAP request follows a syntax that includes a Uniform Resource Locator (URL) that identifies and locates a resource list that contains a document being requested by the XCAP request;

invoking the first set of dynamic helper functions from the first set of dynamic helper functions to invoke methods therein in accordance with the sequence defined in the application descriptor file for a type of document being requested by the XCAP request;

calling at least one dynamic helper function from the second set of dynamic helper functions, wherein the first XDMS calls the at least one dynamic helper function from the second set of dynamic helper functions that are supported by the second XDMS; and

utilizing a called second XDMS dynamic helper function to complete processing of the XCAP request by the first XDMS.

2. The method of claim 1 , wherein first XDMS receives and executes the XCAP request, and wherein the second XDMS authorizes the XCAP request.

3. The method of claim 1 , wherein the first helper function is defined by a first owner of the first XDMS, and wherein the second helper function is defined by a second owner of the second XDMS.

4. A computer program product having a plurality of computer usable program codes stored on a computer useable storage medium that, when read and executed by a computer, causes the computer to perform a method for processing a document request, the computer program product comprising:

computer usable program code configured for creating a capabilities descriptor file for a first Extensible Markup Language Document Management System (XDMS) and a second XDMS, wherein the capabilities descriptor file describes which application usages are supported by each of the first and second XDMSes;

computer usable program code configured for creating a first application descriptor file for the first XDMS;

computer usable program code configured for creating a second application descriptor file for the second XDMS, wherein the first application descriptor file and the second application descriptor file each identifies and defines an order of use sequence for resources that comprise an Extensible Markup Language (XML) Configuration Access Protocol (XCAP) interface, an XML parser and schema validation logic, an authorization filter, an enabler constraint checking logic, an enabler special processing logic, and an XML data store filter, and wherein the first application descriptor file also defines a first set of dynamic helper functions for a first type of application usage that is supported by the first XDMS, wherein the first set of dynamic helper functions is specifically tailored to support the first type of application and comprises a first Document Object Model (DOM) processor helper function, a first authorization helper function, a first other helper function, and a first datastore helper function, and wherein the second application descriptor file also defines a second set of dynamic helper functions for a second type of application usage that is supported by the second XDMS, wherein the second set of dynamic helper functions is specifically tailored to support the second type of application and comprises a second DOM processor helper function, a second other helper function, and a second datastore helper function, and wherein at least one dynamic helper function, from the first set of dynamic helper functions, interacts with at least one dynamic helper function from the second set of dynamic helper functions;

computer usable program code configured for receiving an XCAP request to the first XDMS system, wherein the XCAP request follows a syntax that includes a Uniform Resource Locator (URL) that identifies and locates a resource list that contains a document being requested by the XCAP request;

computer usable program code configured for invoking the first set of dynamic helper functions from the first set of dynamic helper functions to invoke methods therein in accordance with the sequence defined in the application descriptor file for a type of document being requested by the XCAP request;

computer usable program code configured for calling at least one dynamic helper function from the second set of dynamic helper functions, wherein the first XDMS calls the at least one dynamic helper function from the second set of dynamic helper functions that are supported by the second XDMS; and

computer usable program code configured for utilizing a called second XDMS dynamic helper function to complete processing of the XCAP request by the first XDMS.

5. The computer program product of claim 4 , wherein first XDMS receives and executes the XCAP request, and wherein the second XDMS authorizes the XCAP request.

6. The computer program product of claim 4 , wherein the first helper function is defined by a first owner of the first XDMS, and wherein the second helper function is defined by a second owner of the second XDMS.

7. A method for processing a document request, the method comprising:

creating a capabilities descriptor file for a first Extensible Markup Language Document Management System (XDMS) and a second XDMS, wherein the capabilities descriptor file describes which application usages are supported by each of the first and second XDMSes;

creating a first application descriptor file for the first XDMS;

creating a second application descriptor file for the second XDMS, wherein the first application descriptor file and the second application descriptor file each identifies and defines an order of use sequence for resources that comprise a Session Initiation Protocol (SIP) interface, an XML parser and schema validation logic, an authorization filter, an enabler constraint checking logic, an enabler special processing logic, and an XML data store filter, and wherein the first application descriptor file also defines a first set of dynamic helper functions for a first type of application usage that is supported by the first XDMS, wherein the first set of dynamic helper functions is specifically tailored to support the first type of application and comprises a first Document Object Model (DOM) processor helper function, a first authorization helper function, a first other helper function, and a first datastore helper function, and wherein the second application descriptor file also defines a second set of dynamic helper functions for a second type of application usage that is supported by the second XDMS, wherein the second set of dynamic helper functions is specifically tailored to support the second type of application and comprises a second DOM processor helper function, a second other helper function, and a second datastore helper function, and wherein at least one dynamic helper function, from the first set of dynamic helper functions, interacts with at least one dynamic helper function from the second set of dynamic helper functions;

receiving an SIP request to the first XDMS system, wherein the SIP request follows a syntax that includes a Uniform Resource Locator (URL) that identifies and locates a resource list that contains a document being requested by the SIP request;

invoking the first set of dynamic helper functions from the first set of dynamic helper functions to invoke methods therein in accordance with the sequence defined in the application descriptor file for a type of document being requested by the SIP request;

calling at least one dynamic helper function from the second set of dynamic helper functions, wherein the first XDMS calls the at least one dynamic helper function from the second set of dynamic helper functions that are supported by the second XDMS; and

utilizing a called second XDMS dynamic helper function to complete processing of the XCAP request by the first XDMS.

8. The method of claim 7 , wherein first XDMS receives and executes the SIP request, and wherein the second XDMS authorizes the SIP request.

9. The method of claim 7 , wherein the first helper function is defined by a first owner of the first XDMS, and wherein the second helper function is defined by a second owner of the second XDMS.

Assignments (8)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL 062079, FRAME 0677) Recorded Mar 3, 2026
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 075015/0574 →
RELEASE OF SECURITY INTEREST Recorded Apr 30, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 071127/0240 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 070670/0857 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0001 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0086 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 062079/0677 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: TWITTER, INC.
Reel/Frame 032075/0404 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2007
From: CHEN, BENSON K.; GILMORE, MARK D.; LEWIS, PAUL D.; PREDDY, SCOTT M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020020/0294 →