IP Library Granted Patent US 8,386,608
Granted Patent B1
US 8,386,608 · App. 11/890,305 · Granted Feb 26, 2013

Service scripting framework

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 8,386,608
App. No.
11/890,305
Granted
Feb 26, 2013
Kind
B1
Abstract

Receiving and executing at a server a script provided by a client, e.g., in a service request sent by a web services or other service client and/or consumer, is disclosed. In various embodiments, the script is configured to cause the server to do one or more of the following: pre-process at least a portion of the services request; post-process a response data associated with the services request; and replace an operation comprising the service at least in part with a replacement operation defined or identified at least in part in the script.

Claims (50)

1. A method of processing data, comprising:

receiving at a server a communication;

determining whether the communication includes a script written in non-proprietary, general-purpose scripting language, wherein the script includes instructions for a sequence of a plurality of atomic operations to be at least in part interpreted by the server and the script is associated with a content management service at least in part provided by the server to manage a content repository connected to the server;

in the event it is determined that the communication includes the script, interpreting and executing the script at run time; and

in the event it is determined that the communication does not include the script, performing an operation included in the communication to manage the content repository;

wherein the communication comprises or is otherwise associated with a services request and the script is configured to cause the server to pre-process at least a portion of the services request;

wherein the pre-processing comprises decompressing at least a portion of the services request; and decrypting at least a portion of a response data associated with the services request.

2. The method as recited in claim 1 , wherein the communication comprises a services request.

3. The method as recited in claim 1 , wherein the communication is sent to the service running on the server.

4. The method as recited in claim 3 , wherein the service is running in a service runtime environment.

5. The method as recited in claim 4 , wherein the service runtime environment comprises a virtual machine.

6. The method as recited in claim 1 , wherein the script is limited to executing one or more scripts included in a predefined library of scripts.

7. The method as recited in claim 1 , wherein the script is limited to invoking a predefined functionality of a server side component or module.

8. The method as recited in claim 1 , wherein the communication comprises or is otherwise associated with a services request and the script is configured to cause the server to do one or more of the following: pre-process at least a portion of the services request; post-process a response data associated with the services request; and replace an operation comprising the service at least in part with a replacement operation defined or identified at least in part in the script.

9. The method as recited in claim 1 , wherein the communication comprises or is otherwise associated with a services request and the script is configured to cause the server to post-process, prior to sending to a requesting client that sent the communication, a response data associated with the services request.

10. The method as recited in claim 9 , wherein the post-processing comprises one or more of the following: compressing the response data, decompressing the response data, zipping the response data, unzipping the response data, encrypting the response data, and decrypting the response data.

11. The method as recited in claim 1 , wherein the script is configured to cause the server to perform a sequence of operations.

12. The method as recited in claim 1 , wherein the script is configured to cause the server to perform a sequence of operations in a manner that enables a later operation in the sequence that depends on an earlier operation in the sequence to be performed without error.

13. A computer system, comprising:

a communication interface; and

a processor coupled to the communication interface and configured to:

receive a communication for a server via the communication interface;

determine whether the communication includes a script written in non-proprietary, general-purpose scripting language, wherein the script includes instructions for a sequence of a plurality of atomic operations to be at least in part interpreted by the server and the script is associated with a content management service at least in part provided by the server to manage a content repository connected to the server;

in the event it is determined that the communication includes the script, interpret and execute the script at run time; and

in the event it is determined that the communication does not include the script, perform an operation included in the communication to manage the content repository;

wherein the communication comprises or is otherwise associated with a services request and the script is configured to cause the server to pre-process at least a portion of the services request;

wherein the pre-processing comprises decompressing at least a portion of the services request; and decrypting at least a portion of a response data associated with the services request.

14. The computer system as recited in claim 13 , wherein the communication comprises a service request.

15. The computer system as recited in claim 14 , wherein the processor is further configured to provide a services runtime and the service request is associated with the service made available via the services runtime.

16. The computer system as recited in claim 15 , wherein the processor is configured to execute the script at least in part by providing in the services runtime a scripting extension configured to interpret and execute the script.

17. The computer system as recited in claim 16 , wherein the script is configured to cause the processor to do one or more of the following: pre-process at least a portion of the services request; post-process a response data associated with the services request; and replace an operation comprising the service at least in part with a replacement operation defined or identified at least in part in the script.

18. A computer program product embodied on a non-transitory computer readable medium and comprising computer instructions for:

receiving at a server a communication;

determining whether the communication includes a script written in non-proprietary, general-purpose scripting language, wherein the script includes instructions for a sequence of a plurality of atomic operations to be at least in part interpreted by the server and the script is associated with a content management service at least in part provided by the server to manage a content repository connected to the server;

in the event it is determined that the communication includes the script, interpreting and executing the script at run time; and

in the event it is determined that the communication does not include the script, performing an operation included in the communication to manage the content repository;

wherein the communication comprises or is otherwise associated with a services request and the script is configured to cause the server to pre-process at least a portion of the services request;

wherein the pre-processing comprises decompressing at least a portion of the services request; and decrypting at least a portion of a response data associated with the services request.

19. The method of claim 1 , further comprising:

verifying the script is permitted and does not pose a security threat prior to interpreting and executing the script.

20. The method of claim 1 , wherein the script is configured to provide the service to a client when interpreted and executed in a runtime environment.

21. The method of claim 20 , wherein the script is configured to be interpreted and executed by a script extension of the runtime environment.

22. The system of claim 13 , wherein the processor is further configured to:

verify the script is permitted and does not pose a security threat prior to interpreting and executing the script.

23. The system of claim 13 , wherein the script is configured to provide a service to a client when interpreted and executed in a runtime environment.

24. The system of claim 23 , wherein the script is configured to be interpreted and executed by a script extension of the runtime environment.

25. The computer program product of claim 18 , further comprising computer instructions for:

verifying the script is permitted and does not pose a security threat prior to interpreting and executing the script.

26. The computer program product of claim 18 , wherein the script is configured to provide a service to a client when interpreted and executed in a runtime environment.

27. The computer program product of claim 26 , wherein the script is configured to be interpreted and executed by a script extension of the runtime environment.

Assignments (7)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2007
From: RANKOV, ALEX; SPIVAK, VICTOR; ROBERTSON, DONALD PETER
To: EMC CORPORATION
Reel/Frame 019855/0588 →