Method for establishing optimal intermediate caching points by grouping program elements in a software system
First Claim
1. A method of caching in a software system having a plurality of transcoders, comprising the steps of:
- associating into a group a set of related transcoders; and
caching an aggregate output of the group only upon completion of the execution of all of the related transcoders.
1 Assignment
0 Petitions
Accused Products
Abstract
A set of program elements (e.g., transcoders) are grouped together as an administrative unit. Instead of caching the individual outputs of each program element, preferably only the aggregate output of the set of program elements, taken as a whole, is cached. The inventive technique enables the effective re-use of intermediate content. In an illustrative client-server based implementation involving a transcoding service located at a server, the cached information may be shared across multiple server instances to obviate redundant processing. With the present invention, a caching mechanism in a complex software system may be extended in a user-configurable manner by setting up optimal intermediate caching points that are defined by groups of programs used in long computations.
79 Citations
24 Claims
-
1. A method of caching in a software system having a plurality of transcoders, comprising the steps of:
-
associating into a group a set of related transcoders; and
caching an aggregate output of the group only upon completion of the execution of all of the related transcoders. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of caching in a software system having a plurality of transcoders, comprising the steps of:
-
associating sets of transcoders into one or more groups;
responsive to a first client request, selectively caching an aggregate output of all of the transcoders in the given group; and
responsive to a second client request, using the aggregate output to generate a response to the second client request. - View Dependent Claims (11, 12, 13)
identifying a given priority for each of the one or more groups.
-
-
12. The method as described in claim 11 further including the step of:
executing the one or more groups according to the given priority.
-
13. The method as described in claim 11 wherein at least one group includes a set of preference values.
-
14. A method of caching in a software system having a plurality of program elements, comprising the steps of:
-
associating sets of program elements into one or more groups;
responsive to a first client request, selectively caching an aggregate output of all of the program elements in the given group;
responsive to a second client request, using the aggregate output to generate a response to the second client request; and
identifying a given priority for each of the one or more groups, wherein at least one group includes a set of preference values; and
wherein the preference values are selected from a set of values consisting of user preferences, network preferences and device preferences.
-
-
15. A method operative at a server, comprising the steps of:
-
in response to a client request, generating a URL that identifies a set of transcoder groups, wherein each transcoder group comprises a set of administrator-defined transcoders;
executing the transcoder groups to generate an output stream; and
caching for subsequent reuse an output of a given intermediate transcoding step performed by one of the transcoder groups. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A computer program product in a computer readable medium for setting up intermediate caching points in a software system having a plurality of transcoders, comprising:
-
means for associating sets of given transcoders into one or more groups;
means for prioritizing the groups for execution; and
means for defining a set of preference values for each group.
-
-
21. A computer program product in a computer readable medium for caching data in a software system having a plurality of transcoders, comprising:
-
means for associating a set of related transcoders into a group;
means operative during the processing of a client request for caching for reuse and aggregate output of the set of related transcoders, wherein an individual output of at least one of the set of related transcoders in the group is not cached.
-
-
22. A computer system for providing a transcoding service, comprising:
-
a set of transcoders;
a cache; and
a group administration mechanism for setting up intermediate caching points, comprising;
means for associating a set of related transcoders into a group; and
means operative during the processing of a client request for storing in the cache for reuse an aggregate output of the set of related transcoders, wherein an individual output of at least one of the set of related transcoders in the group is not cached.
-
-
23. A computer system, comprising:
-
a set of transcoders;
a cache; and
a group administration mechanism for setting up intermediate caching points, comprising;
display means for enabling a system administrator to associate a set of client requests for storing in the cache for reuse an aggregate output of the set of related transcoders.
-
-
24. A computer system, comprising:
-
a set of transcoders;
a cache; and
a group administration mechanism for setting up intermediate caching points, comprising;
means for dynamically associating a set of related transcoders storing in the cache for reuse an aggregate output of the set of related transcoders.
-
Specification