IP Library Granted Patent US 8,584,142
Granted Patent B1
US 8,584,142 · App. 12/608,349 · Granted Nov 12, 2013

Methods and system for proxy component to perform plurality of operations for applying to an object

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,584,142
App. No.
12/608,349
Granted
Nov 12, 2013
Kind
B1
Abstract

A server side scripting language hosts batch requests from a client for invoking object specific libraries on the client requestor. The requestor executes a user application driven by a web scripting language which may not have facilities or resources for efficiently invoking operations that are provided by the server. A batch script enables the requestor to invoke a set of server operations in batch, without exchanging requests and result for each invocation of a service side operation, thus mitigating the bandwidth that would otherwise occur for individual client/server exchanges for each operation. The server provides a proxy class for expected object types and operations, and a dispatch layer identifies the appropriate proxy class for each operation requested from the batch script.

Claims (78)

1. A method comprising:

identifying a plurality of operations for applying to an object, the operations performed by a server, the server remote from a requester of the operations, the operations invokable via a library from the server;

transforming the object to a server format responsive to the operations performed on the server;

for each of the identified operations:

determining an object type indicative of the information in the object and a set of the operations applicable to the object type;

identifying a proxy component based at least in part on the object type, the proxy component responsive to the transformed object of a particular object type and the proxy component configured for performing a particular operation of the identified operations;

dispatching the object to the identified proxy component to perform the identified operation and generate a proxy result; and

applying a subsequent operation from the plurality of operations on the proxy result by iterating the determining, identifying and dispatching for remaining identified operations; and

returning, upon completion of the identified operations, the proxy result to the requestor.

2. The method of claim 1 further comprising:

transforming the object from the requestor format to a server format, the requestor format corresponding to the object received from the requestor.

3. The method of claim 2 further comprising:

generating the proxy result from a single client exchange including a batch script; and

returning the proxy result to the client, the proxy result computed from invocation of the plurality of operations.

4. The method of claim 3 wherein dispatching further comprises:

comparing the determined object type to available proxy component types;

identifying a proxy component configured to perform operations on the determined object type;

sending the object to the identified proxy component; and

receiving the proxy result as an object for performing a subsequent operation of the plurality of operations, the plurality of operations defining a sequence.

5. The method of claim 2 wherein the application is an ActionScript application, further comprising

defining the operations via CFML tags on the requestor side;

invoking the operations as CFML operations corresponding to the tags on the server side; and

returning the proxy result as a CFML output.

6. The method of claim 5 wherein the server format is java and the server transforms the object to a java object, and

the requestor employs an ActionScript format, further comprising transforming the proxy result from java to the ActionScript format.

7. The method of claim 1 further comprising:

defining a set of object types, each of the object types having at least one operation performable by the server; and

generating a proxy component on the server, the proxy component configured to:

receive the dispatched object

receive the identified operation; and

invoke the library for computing the proxy result by executing the identified operation on the object.

8. The method of claim 7 further comprising:

dispatching the object, the object being of a first object type, to a proxy component responsive to the first object type;

generating the proxy result, the proxy result being of a second object type; and

dispatching the proxy result to a second proxy component responsive to the second object type.

9. The method of claim 7 wherein the object types correspond to an image proxy component having operations for a border, sizing, orientation and color, and a pdf proxy component having operations for a watermark and for applying a password.

10. The method of claim 1 wherein the requester is a client executing an application, the application configured for invoking the operations provided via the library, further comprising:

defining a batch script on the client, the batch script including a series of batch elements, each batch element including a batch tag indicative of an operation and an object upon which the operation is performed,

the batch tags remaining unchanged from the client to the server and recognized on the server for performing the defined operation.

11. The method of claim 10 further comprising defining the batch script in a batch file, the batch file including an indication of the object and a series of batch tags, each batch tag indicative of the operation to perform, the operation performed on the proxy result generated from the previous batch tag in the series.

12. The method of claim 10 wherein the server performing the operation invokes a library inaccessible from the client, such that the operation is performable faster by the server than by the requester.

13. A server comprising:

a batch script indicative of a plurality of operations for applying to an object, the operations performed by a server comprising a processor, the server remote from a requester of the operations, the operations invokable from a requestor via a library from the server;

a transformer in the server for transforming the object to a server format responsive to the operations performed on the server;

the server having a dispatcher responsive to each of the plurality of operations;

a type identifier configured to determine an object type indicative of the information in the object and a set of the operations applicable to the object type;

a mapper configured to identify a proxy component based at least in part on the object type, the proxy component responsive to the transformed object of a particular object type for performing a particular operation of the identified operations;

the dispatcher configured to, for each of the plurality of operations, dispatch the object to the identified proxy component to perform the identified operation and generate a proxy result, and to apply a subsequent operation from the plurality of operations on the proxy result by iterating the determining, identifying and dispatching for remaining operations of the plurality of; and

an interface to the requestor configured to return, upon completion of the identified operations, the proxy result to the requestor.

14. The server of claim 13 wherein the transformer is further configured to receive the object in a web scripting format, and transforming the object to a server format, the server format based on a server side scripting language.

15. The server of claim 14 wherein the server is configured to:

generate the proxy result from a single client exchange including the batch script; and

return the proxy result to the client, the proxy result computed from invocation of the plurality of operations.

16. The server of claim 13 wherein the dispatcher is further configured to:

compare the determined object type to available proxy component types;

identify a proxy component configured to perform operations on the determined object type;

send the object to the identified proxy component; and

receive the proxy result as an object for performing a subsequent operation of the plurality of operations, the plurality of operations defining a sequence.

17. The server of claim 13 wherein the server further includes:

a set of object types, each of the object types having at least one operation performable by the server; and

for each object type, a proxy component, the proxy component configured to:

receive the dispatched object

receive the identified operation; and

invoke the library for computing the proxy result by executing the identified operation on the object such that the operation is performable faster by the library at the server than by the requester.

18. The server of claim 17 wherein the dispatcher is further configured to: dispatch the object, the object being of a first object type, to a proxy component responsive to the first object type;

receive the generated proxy result, the proxy result being of a second object type; and

dispatch the proxy result to a second proxy component responsive to the second object type.

19. The server of claim 13 wherein the batch script is a batch file, the batch file including an series of batch elements, each batch element having indication of the object

and a batch tags, each batch tag indicative of the operation to perform, the operation performed on the proxy result generated from the previous batch element in the series.

20. A computer implemented method on a non-transitory computer readable storage medium encoded as a set of processor based instructions that, upon execution by a processor, cause the computer to perform a method, the method comprising:

identifying, in a batch script, a plurality of operations for applying to an object, the operations performed by a server in a scripting infrastructure for invoking the batch script, the server remote from a requester of the operations, the operations invokable via a library from the server;

transforming the object to a server format responsive to the operations performed on the server;

for each of the identified operations:

determining an object type indicative of the information in the object and a set of the operations applicable to the object type;

identifying a proxy component based at least in part on the object type, the proxy component responsive to the transformed object of a particular object type for performing a particular operation of the identified operations;

dispatching the object to the identified proxy component to perform the identified operation and generate a proxy result; and

applying a subsequent operation from the plurality of operations on the proxy result by iterating the determining, identifying and dispatching for remaining identified operations; and

returning, upon completion of the identified operations, the proxy result to the requestor.

Assignments (8)
CHANGE OF NAME Recorded Mar 6, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048525/0042 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Feb 8, 2017
From: JPMORGAN CHASE BANK, N.A.
To: GRACENOTE, INC.; CASTTV INC.; TRIBUNE MEDIA SERVICES, LLC; TRIBUNE DIGITAL VENTURES, LLC
Reel/Frame 041656/0804 →
RELEASE OF SECURITY INTEREST 029818/0180 Recorded Jan 24, 2014
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: TRIBUNE COMPANY; BLUE LYNX MEDIA, LLC; CA-4655 FRUITRIDGE ROAD, LLC; CALIFORNIA COMMUNITY NEWS, LLC; CA-LOS ANGELES TIMES SQUARE, LLC; CA-OLYMPIC PLANT, LLC; CA-ORANGE COUNTY PLANT, LLC; CASTTV INC.; CHICAGO TRIBUNE COMPANY, LLC; CHICAGOLAND PUBLISHING COMPANY, LLC; CHICAGOLAND TELEVISION NEWS, LLC; CLASSIFIED VENTURES HOLDCO, LLC; CO-1006 LOOKOUT MOUNTAIN ROAD, LLC; CO-6160 SOUTH WABASH WAY, LLC; CT-121 WAWARME AVENUE, LLC; CT-285 BROAD STREET, LLC; CT-WTIC, LLC; FL-633 NORTH ORANGE AVENUE, LLC; FL-DEERFIELD PLANT, LLC; FL-ORLANDO SENTINEL, LLC; FORSALEBYOWNER.COM REFERRAL SERVICES, LLC; FORSALEBYOWNER.COM, LLC; HOY PUBLICATIONS, LLC; IL-11201 FRANKLIN AVENUE, LLC; IL-16400 SOUTH 105TH COURT, LLC; IL-2501 WEST BRADLEY PLACE, LLC; IL-3249 NORTH KILPATRICK, LLC; IL-3722 VENTURA DRIVE, LLC; IL-700 WEST CHICAGO AVENUE, LLC; IL-720 ROHLWING ROAD, LLC; IL-FREEDOM CENTER, LLC; IL-TRIBUNE TOWER, LLC; IN-2350 WESTLANE ROAD, LLC; IN-6910 NETWORK PLACE, LLC; INTERNET FORECLOSURE SERVICE, LLC; IN-TRAFALGAR WTTV, LLC; IN-WINDFALL WTTV, LLC; KDAF, LLC; KIAH, LLC; KPLR, INC.; KRCW, LLC; KSWB, LLC; KTLA, LLC; KTXL, LLC; KWGN, LLC; LOCAL PRO PLUS REALTY, LLC; LOS ANGELES TIMES COMMUNICATIONS, LLC; MAGIC T MUSIC PUBLISHING COMPANY, LLC; MD-10 HAYS STREET, LLC; MD-10750 LITTLE PATUXENT PARKWAY, LLC; MD-3400 CARLINS PARK DRIVE, LLC; MD-NORTH CALVERT STREET, LLC; MD-SUN PARK, LLC; MI-3117 PLAZA DRIVE, LLC; MI-DAVIS ROAD, LLC; OAK BROOK PRODUCTIONS, LLC; OR-10255 SW ARCTIC DRIVE, LLC; ORLANDO SENTINEL COMMUNICATIONS COMPANY, LLC; PA-2005 SOUTH QUEEN STREET, LLC; PA-5001 WYNNEFIELD AVENUE, LLC; PA-550 EAST ROCK ROAD, LLC; PA-MORNING CALL, LLC; RIVERWALK CENTER I, JOINT VENTURE; RIVERWALK HOLDCO II, LLC; RIVERWALK HOLDCO, LLC; SUN-SENTINEL COMPANY, LLC; THE BALTIMORE SUN COMPANY, LLC; THE DAILY PRESS, LLC; THE HARTFORD COURANT COMPANY, LLC; THE MORNING CALL, LLC; TMS NEWS AND FEATURES, LLC; TOWER DISTRIBUTION COMPANY, LLC; TOWERING T MUSIC PUBLISHING COMPANY, LLC; TRIBUNE (FN) CABLE VENTURES, LLC; TRIBUNE 365, LLC; TRIBUNE BROADCASTING COMPANY, LLC; TRIBUNE BROADCASTING HARTFORD, LLC; TRIBUNE BROADCASTING INDIANAPOLIS, LLC; TRIBUNE BROADCASTING SEATTLE, LLC; TRIBUNE DIRECT MARKETING, LLC; TRIBUNE ENTERTAINMENT COMPANY, LLC; TRIBUNE INTERACTIVE, LLC; TRIBUNE INVESTMENTS, LLC; TRIBUNE MEDIA SERVICES LONDON, LLC; TRIBUNE MEDIA SERVICES, LLC; TRIBUNE NATIONAL MARKETING COMPANY, LLC; TRIBUNE PUBLISHING COMPANY, LLC; TRIBUNE REAL ESTATE HOLDINGS, LLC; TRIBUNE TELEVISION NEW ORLEANS, INC.; TRIBUNE WASHINGTON BUREAU, LLC; TX-7700 WESTPARK DRIVE, LLC; TX-8001 JOHN CARPENTER FREEWAY, LLC; VA-216 IRONBOUND ROAD, LLC; VA-DAILY PRESS, LLC; WA-1813 WESTLAKE AVENUE, LLC; WDCW, LLC; WGN CONTINENTAL BROADCASTING COMPANY, LLC; WPHL, LLC; WPIX, LLC; WPMT, LLC; WSFL, LLC; WXMI, LLC
Reel/Frame 032121/0068 →
RELEASE OF SECURITY INTEREST 029557/0830 Recorded Jan 23, 2014
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: CASTTV INC.
Reel/Frame 032251/0825 →
SECURITY AGREEMENT Recorded Jan 23, 2014
From: TRIBUNE COMPANY; CASTTV INC.; CHICAGO TRIBUNE COMPANY, LLC; CHICAGOLAND PUBLISHING COMPANY, LLC; LOS ANGELES TIMES COMMUNICATIONS LLC; SUN-SENTINEL COMPANY, LLC; THE BALTIMORE SUN COMPANY, LLC; THE HARTFORD COURANT COMPANY, LLC; TRIBUNE CONTENT AGENCY, LLC; TRIBUNE INTERACTIVE, LLC; TRIBUNE MEDIA SERVICES, LLC; TRIBUNE BROADCASTING COMPANY, LLC; TRIBUNE TELEVISION NEW ORLEANS, INC.; WDCW, LLC; WGN CONTINENTAL BROADCASTING COMPANY, LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 032125/0204 →
PATENT SECURITY AGREEMENT Recorded Feb 15, 2013
From: TRIBUNE COMPANY; BLUE LYNX MEDIA, LLC; CALIFORNIA COMMUNITY NEWS, LLC; CASTTV INC.; CHICAGO TRIBUNE COMPANY, LLC; CHICAGOLAND PUBLISHING COMPANY, LLC; CHICAGOLAND TELEVISION NEWS, LLC; CLASSIFIED VENTURES HOLDCO, LLC; FORSALEBYOWNER.COM REFERRAL SERVICES, LLC; FORSALEBYOWNER.COM, LLC; HOY PUBLICATIONS, LLC; INTERNET FORECLOSURE SERVICE, LLC; KDAF, LLC; KIAH, LLC; KPLR, INC.; KRCW, LLC; KSWB, LLC; KTLA, LLC; KTXL, LLC; KWGN, LLC; LOCAL PRO PLUS REALTY, LLC; LOS ANGELES TIMES COMMUNICATIONS LLC; MAGIC T MUSIC PUBLISHING COMPANY, LLC; OAK BROOK PRODUCTIONS, LLC; ORLANDO SENTINEL COMMUNICATIONS COMPANY, LLC; RIVERWALK CENTER I JOINT VENTURE; RIVERWALK HOLDCO, LLC; SUN-SENTINEL COMPANY, LLC; THE BALTIMORE SUN COMPANY, LLC; THE DAILY PRESS, LLC; THE HARTFORD COURANT COMPANY, LLC; THE MORNING CALL, LLC; TMS NEWS AND FEATURES, LLC; TOWER DISTRIBUTION COMPANY, LLC; TOWERING T MUSIC PUBLISHING COMPANY, LLC; TRIBUNE 365, LLC; TRIBUNE BROADCASTING COMPANY, LLC; TRIBUNE BROADCASTING HARTFORD, LLC; TRIBUNE BROADCASTING INDIANAPOLIS, LLC; TRIBUNE BROADCASTING SEATTLE, LLC; TRIBUNE DIRECT MARKETING, LLC; TRIBUNE ENTERTAINMENT COMPANY, LLC; TRIBUNE (FN) CABLE VENTURES, LLC; TRIBUNE INTERACTIVE, LLC; TRIBUNE INVESTMENTS, LLC; TRIBUNE MEDIA SERVICES, LLC; TRIBUNE MEDIA SERVICES LONDON, LLC; TRIBUNE NATIONAL MARKETING COMPANY, LLC; TRIBUNE PUBLISHING COMPANY, LLC; TRIBUNE TELEVISION NEW ORLEANS, INC.; TRIBUNE WASHINGTON BUREAU, LLC; WDCW, LLC; WGN CONTINENTAL BROADCASTING COMPANY, LLC; WPHL, LLC; WPIX, LLC; WPMT, LLC; WSFL, LLC; WXMI, LLC; TRIBUNE REAL ESTATE HOLDINGS, LLC; CA-4655 FRUITRIDGE ROAD, LLC; CA-LOS ANGELES TIMES SQUARE, LLC; CA-OLYMPIC PLANT, LLC; CA-ORANGE COUNTY PLANT, LLC; CO-1006 LOOKOUT MOUNTAIN ROAD, LLC; CO-6160 SOUTH WABASH WAY, LLC; CT-121 WAWARME AVENUE, LLC; CT-285 BROAD STREET, LLC; CT-WTIC, LLC; FL-633 NORTH ORANGE AVENUE, LLC; FL-DEERFIELD PLANT, LLC; FL-ORLANDO SENTINEL, LLC; IL-11201 FRANKLIN AVENUE, LLC; IL-16400 SOUTH 105TH COURT, LLC; IL-2501 WEST BRADLEY PLACE, LLC; IL-3249 NORTH KILPATRICK, LLC; IL-3722 VENTURA DRIVE, LLC; IL-700 WEST CHICAGO AVENUE, LLC; IL-720 ROHLWING ROAD, LLC; IL-FREEDOM CENTER, LLC; IL-TRIBUNE TOWER, LLC; IN-2350 WESTLANE ROAD, LLC; IN-6910 NETWORK PLACE, LLC; IN-TRAFALGAR WTTV, LLC; IN-WINDFALL WTTV, LLC; MD-10 HAYS STREET, LLC; MD-10750 LITTLE PATUXENT PARKWAY, LLC; MD-3400 CARLINS PARK DRIVE, LLC; MD-NORTH CALVERT STREET, LLC; MD-SUN PARK, LLC; MI-3117 PLAZA DRIVE, LLC; MI-DAVIS ROAD, LLC; OR-10255 SW ARCTIC DRIVE, LLC; PA-2005 SOUTH QUEEN STREET, LLC; PA-5001 WYNNEFIELD AVENUE, LLC; PA-550 EAST ROCK ROAD, LLC; PA-MORNING CALL, LLC; RIVERWALK HOLDCO II, LLC; TX-7700 WESTPARK DRIVE, LLC; TX-8001JOHN CARPENTER FREEWAY, LLC; VA-216 IRONBOUND ROAD, LLC; VA-DAILY PRESS, LLC; WA-1813 WESTLAKE AVENUE, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 029818/0180 →
SECURITY AGREEMENT Recorded Dec 31, 2012
From: CASTTV INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 029557/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2009
From: N., RAKSHITH; VIRADIYA, JAYESH; KUMAR, SANJEEV
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 023443/0197 →