Adaptively shrinking software
First Claim
Patent Images
1. A method for adaptively shrinking a software program, comprising the steps of:
- maintaining a plurality of adaptive feature records corresponding to a plurality of removal candidate features, wherein each record of the plurality of adaptive feature records includes a usage history and a separation criteria corresponding to a feature of the plurality of removal candidate features, the separation criteria includes when the corresponding feature of the plurality of removal candidate features is unused, unneeded, or unlicensed;
monitoring to determine when at least one of the plurality of removal candidate features of a program is invoked;
based on determining when the at least one of the plurality of removal candidate features of the program is invoked, updating a usage history corresponding to the at least one of the plurality of removal candidate features;
identifying, using a computer system, a first removal candidate feature of the at least one removal candidate features of the program based on when the first removal candidate feature was invoked and a separation criteria corresponding to the first removal candidate feature; and
selecting the first removal candidate feature for removal from the program based on identified the first removal candidate feature was not invoked since after installation.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods, articles, signals, and systems are provided for adaptively shrinking software. The software includes one or more adaptive features. A tracking facility tracks use of the adaptive features, and when it is determined that a given feature is unwanted or unnecessary in the software configuration preferred by a given user, a separation facility separates the feature from the rest of the software. The feature is then archived or deleted. In this manner, resources such as disk space are conserved, program load time and memory requirements are reduced, and user interfaces and supporting code are tailored to meet the needs of particular users.
-
Citations
46 Claims
-
1. A method for adaptively shrinking a software program, comprising the steps of:
-
maintaining a plurality of adaptive feature records corresponding to a plurality of removal candidate features, wherein each record of the plurality of adaptive feature records includes a usage history and a separation criteria corresponding to a feature of the plurality of removal candidate features, the separation criteria includes when the corresponding feature of the plurality of removal candidate features is unused, unneeded, or unlicensed; monitoring to determine when at least one of the plurality of removal candidate features of a program is invoked; based on determining when the at least one of the plurality of removal candidate features of the program is invoked, updating a usage history corresponding to the at least one of the plurality of removal candidate features; identifying, using a computer system, a first removal candidate feature of the at least one removal candidate features of the program based on when the first removal candidate feature was invoked and a separation criteria corresponding to the first removal candidate feature; and selecting the first removal candidate feature for removal from the program based on identified the first removal candidate feature was not invoked since after installation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer system comprising a shrinking means for adaptively shrinking software, wherein the shrinking means:
-
provides a plurality of adaptive feature records corresponding to a plurality of features of the software, wherein each adaptive feature record of the plurality of adaptive features records includes a usage history and a separation criteria corresponding to a feature of the plurality of features of the software, the separation criteria includes when the corresponding feature is unused, unneeded, or unlicensed; tracks to determine a pattern of invocation of at least one feature of the plurality of features; based on the pattern, determines when the at least one feature of the plurality of features is invoked, updates a usage history corresponding to the at least one of the plurality of the features; automatically identifies a first removal candidate feature of the at least one feature of the plurality of features of the software based on the pattern of invocation and a separation criteria corresponding to the first removal candidate feature; and selects the first removal candidate feature for removal from the software based on identified the first removal candidate feature was not invoked since after installation. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A non-transitory computer storage medium having a configuration that represents data and instructions which will cause at least a portion of a computer system to perform method steps, the method steps comprising the steps of:
-
receiving a plurality of adaptive feature records corresponding to a plurality of removal candidate features of a software program, wherein each adaptive feature record of the plurality of adaptive feature records includes a usage history and a separation criteria corresponding to a removal candidate feature of the plurality of removal candidate features, the separation criteria includes when the corresponding removal candidate feature of the plurality of removal candidate features is unused, unneeded, or unlicensed, tracking an invocation log for at least one removal candidate feature of the plurality of removal candidate features, based on the invocation log, determines when the at least one removal candidate feature of the plurality of removal candidate features is invoked, updates a usage history corresponding to the at least one removal candidate feature of the plurality of the features, identifying a first removal candidate feature of the at least one removal candidate feature based on the invocation log for the at least one removal candidate feature and a separation criteria corresponding to the first removal candidate feature, and selecting the first removal candidate feature for removal from the software program based on identified the first removal candidate feature was not invoked since after installation. - View Dependent Claims (34, 35, 36)
-
-
37. A computer system comprising a non-transitory computer readable storage medium having instructions operable to provide:
-
an inter-shrinker signal embodied in a network connection for transferring adaptive feature selection information for a plurality of automatically monitored adaptive features, wherein the adaptive feature selection information includes a usage history and a separation criteria corresponding to each feature of the plurality of automatically monitored adaptive features, the separation criteria includes when the corresponding feature of the features is unused, unneeded, or unlicensed, the inter-shrinker signal tracks an invocation log for at least one automatically monitored adaptive feature of the plurality of automatically monitored features of a adaptively shrinkable program, based on the invocation log, the inter-shrinker signal determines when at least one automatically monitored adaptive feature of the plurality of automatically features of a program is invoked, and updates a usage history corresponding to the at least one automatically monitored adaptive feature of the plurality of automatically monitored features of the adaptively shrinkable program, the inter-shrinker signal identifies a first removal candidate feature of the at least one automatically monitored adaptive feature of the plurality of automatically monitored adaptive features of the adaptively shrinkable program based on the invocation log and a separation criteria corresponding to the first removal candidate feature, and the inter-shrinker selects the first removal candidate feature for removal from the adaptively shrinkable program based on identified the first removal candidate feature was not invoked since after installation. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46)
-
Specification