IP Library Granted Patent US 8,095,885
Granted Patent B1
US 8,095,885 · App. 12/053,942 · Granted Jan 10, 2012

Counting references to images displayed in multiple views

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,095,885
App. No.
12/053,942
Granted
Jan 10, 2012
Kind
B1
Abstract

Methods and apparatus provide for a Cache Manager to display a scaled image in an active view. The scaled image comprises the same content as an image from a stored collection of images, which is accessible by a plurality of active views in a user interface. The Cache Manager refreshes the active view to replace the displayed scaled image with a larger-sized image, which comprises the same content as the displayed scaled image. A reference counter associated with the larger-sized image is maintained to keep track of instances of display of the larger-sized image by any of the plurality of active views. The Cache Manager allows any other active view to use the larger-sized image while a current value of the reference counter is greater than zero.

Claims (102)

1. A method, comprising:

displaying a scaled image in an active view, the scaled image comprising same content as an image from a stored collection of images, the stored collection of images accessible by a plurality of active views in a user interface;

refreshing the active view to replace the displayed scaled image with a larger-sized image, the larger-sized image comprising same content as the displayed scaled image;

maintaining a reference counter associated with the larger-sized image to keep track of instances of display of the larger-sized image by any of the plurality of active views; and

allowing any other active view to use the larger-sized image while a current value of the reference counter is greater than zero.

2. The method as in claim 1 , wherein maintaining the reference counter associated with the larger-sized image to reflect display of the larger-sized image by any of the plurality of active views includes:

for each of the plurality of active views displaying the larger-sized image:

incrementing the reference counter in response to display of the larger-sized image;

decrementing the reference counter upon expiration of a duration, the duration defined as one of:

i) while the larger-sized image is displayed in the active view;

ii) while the larger-sized image is displayed in a hidden active view;

iii) a period of time occurring after display of the larger-sized image is terminated; and

deleting the larger-sized image from storage when the current value of the reference counter is equal to zero.

3. The method as in claim 2 , wherein allowing any other active view to use the larger-sized image while the current value of the reference counter is greater than zero includes:

hiding at least a portion of the active view in a browser;

maintaining the current value of the reference counter as the hidden active view still displays the larger-sized image;

rendering a second active view in the browser;

allowing the second active view to display the larger-sized image; and

incrementing the reference counter associated with the larger-sized image to reflect display of the larger-sized image by the second active view.

4. The method as in claim 1 , wherein displaying the scaled image in an active view, includes:

upon detecting a condition to display the image from the stored collection of images in a larger size, determining whether the larger-sized image is available in local storage;

upon determining the larger-sized image is unavailable in local storage:

expanding the image to the larger size to create the scaled image;

sending a request for the larger-sized image to an image repository;

displaying the scaled image in the active view while awaiting receipt of the larger-sized image;

receiving the larger-sized image;

locally storing the larger-sized image; and

providing the active view access to the larger-sized image for display in the active view in place of the scaled image currently displayed in the active view.

5. The method as in claim 1 , wherein allowing any other active view to use the larger-sized image while the current value of the reference counter is greater than zero includes:

concurrently displaying the larger-sized image with a first image and a second image from the stored collection of images in the active view in a browser, the larger-sized image and the first image comprising same content;

hiding the active view in the browser; and

rendering a second active view in the browser, the second view requiring display of the first and second image according to a larger size.

6. The method as in claim 5 , wherein rendering the second active view includes:

maintaining the current value of the reference counter as the hidden active view still displays the larger-sized image;

expanding the second image to create a scaled version of the second image;

while concurrently displaying the larger-sized image and the scaled version of the second image in the second active view, sending a request for a second larger-sized image to an image repository, the second larger-sized image comprising same content as the second image; and

upon receipt of the second larger-sized image, refreshing the second active view to display the second larger-sized image in place of the a scaled version of the second image.

7. The method as in claim 6 , wherein maintaining the reference counter associated with the larger-sized image to keep track of instances of display of the larger-sized image by any of the plurality of active views includes:

incrementing the reference counter associated with larger-sized image in response to display of the larger-sized image in the second active view, the reference counter associated with the larger-sized image thereby reflecting display of the larger-sized image in the hidden first active view and the second active view; and

incrementing a second reference counter associated with the second larger-sized image in response to display of the second larger-sized image in the second active view.

8. The method as in claim 1 , wherein displaying the scaled image in the active view includes:

detecting the reference counter associated with the larger-sized image is equal to zero, thereby indicating that no active view and no hidden active view has recently displayed the larger-sized image; and

in response to detecting the reference counter associated with the larger-sized image is equal to zero, sending a request for the larger-sized image to an image repository.

9. The method as in claim 1 , wherein maintaining the reference counter associated with the larger-sized image to keep track of instances of display of the larger-sized image by any of the plurality of active views includes:

upon a termination of display of the larger-sized image by any of the plurality of active views, maintaining the current value of the reference counter for a period of time; and

upon expiration of the period of time, decrementing the reference counter to reflect the termination of display.

10. The method as in claim 9 , decrementing the reference counter to reflect the termination of display includes:

upon determining that the reference counter associated with the larger-sized image is equal to zero, initiating deletion of the larger-sized image from local storage.

11. A computer readable medium comprising executable instructions encoded thereon operable on a computerized device to perform processing comprising:

instructions for displaying a scaled image in an active view, the scaled image comprising same content as an image from a stored collection of images, the stored collection of images accessible by a plurality of active views in a user interface;

instructions for refreshing the active view to replace the displayed scaled image with a larger-sized image, the larger-sized image comprising same content as the displayed scaled image;

instructions for maintaining a reference counter associated with the larger-sized image to reflect display of the larger-sized image by any of the plurality of active views; and

instructions for allowing any other active view to use the larger-sized image while a current value of the reference counter is greater than zero.

12. The computer readable medium as in claim 11 , wherein the instructions for maintaining the reference counter associated with the larger-sized image to reflect display of the larger-sized image by any of the plurality of active views include:

for each of the plurality of active views displaying the larger-sized image:

instructions for incrementing the reference counter in response to display of the larger-sized image;

instructions for decrementing the reference counter upon expiration of a duration, the duration defined as one of:

i) while the larger-sized image is displayed in the active view;

ii) while the larger-sized image is displayed in a hidden active view;

iii) a period of time occurring after display of the larger-sized image is terminated; and

instructions for deleting the larger-sized image from storage when the current value of the reference counter is equal to zero.

13. The computer readable medium as in claim 12 , wherein the instructions for allowing any other active view to use the larger-sized image while the current value of the reference counter is greater than zero include:

instructions for hiding at least a portion of the active view in a browser;

instructions for maintaining the current value of the reference counter as the hidden active view still displays the larger-sized image;

instructions for rendering a second active view in the browser;

instructions for allowing the second active view to display the larger-sized image; and

instructions for incrementing the reference counter associated with the larger-sized image to reflect display of the larger-sized image by the second active view.

14. The computer readable medium as in claim 11 , wherein the instructions for displaying the scaled image in an active view include:

upon detecting a condition to display the image from the stored collection of images in a larger size, instructions for determining whether the larger-sized image is available in local storage;

upon determining the larger-sized image is unavailable in local storage:

instructions for expanding the image to the larger size to create the scaled image;

instructions for sending a request for the larger-sized image to an image repository;

instructions for displaying the scaled image in the active view while awaiting receipt of the larger-sized image;

instructions for receiving the larger-sized image;

instructions for locally storing the larger-sized image; and

instructions for providing the active view access to the larger-sized image for display in the active view in place of the scaled image currently displayed in the active view.

15. The computer readable medium as in claim 11 , wherein the instructions for allowing any other active view to use the larger-sized image while the current value of the reference counter is greater than zero include:

instructions for concurrently displaying the larger-sized image with a first image and a second image from the stored collection of images in the active view in a browser, the larger-sized image and the first image comprising same content;

instructions for hiding the active view in the browser; and

instructions for rendering a second active view in the browser, the second view requiring display of the first and second image according to a larger size.

16. The computer readable medium as in claim 15 , wherein the instructions for rendering the second active view include:

instructions for maintaining the current value of the reference counter as the hidden active view still displays the larger-sized image;

instructions for expanding the second image to create a scaled version of the second image;

while concurrently displaying the larger-sized image and the scaled version of the second image in the second active view, instructions for sending a request for a second larger-sized image to an image repository, the second larger-sized image comprising same content as the second image; and

upon receipt of the second larger-sized image, instructions for refreshing the second active view to display the second larger-sized image in place of the a scaled version of the second image.

17. The computer readable medium as in claim 16 , wherein the instructions for maintaining the reference counter associated with the larger-sized image to keep track of instances of display of the larger-sized image by any of the plurality of active views include:

instructions for incrementing the reference counter associated with larger-sized image in response to display of the larger-sized image in the second active view, the reference counter associated with the larger-sized image thereby reflecting display of the larger-sized image in the hidden first active view and the second active view; and

instructions for incrementing a second reference counter associated with the second larger-sized image in response to display of the second larger-sized image in the second active view.

18. The computer readable medium as in claim 11 , wherein the instructions for displaying the scaled image in the active view include:

instructions for detecting the reference counter associated with the larger-sized image is equal to zero, thereby indicating that no active view and no hidden active view has recently displayed the larger-sized image; and

in response to detecting the reference counter associated with the larger-sized image is equal to zero; instructions for sending a request for the larger-sized image to an image repository.

19. The computer readable medium as in claim 11 , wherein the instructions for maintaining the reference counter associated with the larger-sized image to keep track of instances of display of the larger-sized image by any of the plurality of active views include:

upon a termination of display of the larger-sized image by any of the plurality of active views, instructions for maintaining the current value of the reference counter for a period of time; and

upon expiration of the period of time, instructions for decrementing the reference counter to reflect the termination of display.

20. A computer system comprising:

a processor;

a memory unit that stores instructions associated with an application executed by the processor; and

an interconnect coupling the processor and the memory unit, enabling the computer system to execute the application and perform operations of:

displaying a scaled image in an active view, the scaled image comprising same content as an image from a stored collection of images, the stored collection of images accessible by a plurality of active views in a user interface;

refreshing the active view to replace the displayed scaled image with a larger-sized image, the larger-sized image comprising same content as the displayed scaled image;

maintaining a reference counter associated with the larger-sized image to reflect display of the larger-sized image by any of the plurality of active views; and

allowing any other active view to display the larger-sized image while a current value of the reference counter is greater than zero.

Assignments (2)
CHANGE OF NAME Recorded Mar 6, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048525/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2008
From: SCHENDEL, CLAIRE ELISE KAHAN
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 020693/0024 →