Source: http://www.google.com/patents/US8122059?dq=6,263,507
Timestamp: 2015-01-25 23:44:00
Document Index: 784841225

Matched Legal Cases: ['Application No. 2008', 'Application No. 2001283542', 'Application No. 2006228047', 'Application No. 01962350', 'Application No. 2001283542', 'Application No. 10', 'Application No. 10', 'Application No. 2009', 'Application No. 2002', 'Application No. 2008', 'Application No. 01962350', 'Application No. 2009', 'Application No. 10', 'Application No. 2', 'Application No. 2', 'Application No. 10']

Patent US8122059 - Cache system and method for generating uncached objects from cached and ... - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsMethods and apparatus for constructing objects within a cache system thereby allowing the cache system to respond to requested objects that are not initially available within the cache system. One embodiment of the invention caches image files, where the images are divided into components and stored...http://www.google.com/patents/US8122059?utm_source=gb-gplus-sharePatent US8122059 - Cache system and method for generating uncached objects from cached and stored object componentsAdvanced Patent SearchPublication numberUS8122059 B2Publication typeGrantApplication numberUS 10/793,741Publication dateFeb 21, 2012Filing dateMar 8, 2004Priority dateAug 15, 2000Also published asCA2416839A1, CA2416839C, EP1309917A2, EP2698719A2, EP2698719A3, US7006099, US8386531, US20020103970, US20040172495, US20120110035, WO2002015011A2, WO2002015011A3Publication number10793741, 793741, US 8122059 B2, US 8122059B2, US-B2-8122059, US8122059 B2, US8122059B2InventorsRon Abraham Gut, Alexis Paul Tzannes, Edmund Camplon ReiterOriginal AssigneeAware, Inc.Export CitationBiBTeX, EndNote, RefManPatent Citations (27), Non-Patent Citations (28), Referenced by (1), Classifications (16), Legal Events (1) External Links: USPTO, USPTO Assignment, EspacenetCache system and method for generating uncached objects from cached and stored object componentsUS 8122059 B2Abstract Methods and apparatus for constructing objects within a cache system thereby allowing the cache system to respond to requested objects that are not initially available within the cache system. One embodiment of the invention caches image files, where the images are divided into components and stored in a format that allows identification and access to the components. The cache system determines that an object, such as an image file, is missing from the cache memory, locates sufficient components from the cache memory and/or external storage, and constructs the object from the located components.
The invention claimed is: 1. A data processing system comprising:
the processor and logic configured to locate a first component that is related to an uncached image, the first component including a component tag and a component payload, the component payload including image information, and the first component present in either a cache or a storage system, and
the processor and logic configured to locate a second component that is related to the uncached image in one of the cache, the storage system, or another storage system, the second component including a second component tag and a second component payload, the second component payload at least including additional image information;
wherein, the processor constructs by the cache, the uncached image at least from the located first and second components.
2. The system of claim 1, further comprising an interface element that obtains the located first and second components.
3. The system of claim 1, wherein one or more of the first and second components are derived from an object.
4. The system of claim 1, wherein the constructed object is stored in the cache.
5. The system of claim 1, further comprising a cache system that generates a request for the image.
6. The system of claim 1, wherein the uncached image is an image file.
7. The system of claim 6, wherein the image file is a JPEG-2000 file.
8. The system of claim 1, wherein the components constitute an image file.
9. The system of claim 8, wherein the image file is a JPEG-2000 file.
10. In a data processing system having a cache, means for generating an uncached image comprising:
means for locating a first component that is related to the uncached image, the first component including a component tag and a component payload, the component payload including image information, and the first component present in either the cache or a storage system;
means for locating a second component that is related to the uncached image in either of the cache, the storage system, or another storage system, the second component including a second component tag and a second component payload, the second component payload at least including additional image information; and
means for constructing, by the cache, the uncached image at least from the located first and second components.
11. The system of claim 10, further comprising means for obtaining the located first and second components.
12. The system of claim 10, further comprising means for deriving one or more of the first and second components from an object.
13. The system of claim 10, further comprising means for storing the constructed object in the cache.
14. The system of claim 10, further comprising means for generating, by the cache, a request for the image.
15. The system of claim 10, wherein the image is an image file.
16. The system of claim 15, wherein the image file is a JPEG-2000 file.
17. The system of claim 10, wherein the components constitute an image file.
18. The system of claim 17, wherein the image file is a JPEG-2000 file.
19. A non-transitory information storage media comprising information that when executed by a processor performs the functionality of claim 10. Description
RELATED APPLICATION This application claims the benefit of the filing date of U.S. Provisional Application Ser. No. 60/225,412, filed Aug. 15, 2000, entitled �Object Generating Smart Caching System,� the entirety of which provisional application is incorporated by reference herein.
FIELD OF THE INVENTION The invention generally relates to data processing storage architectures and processes, and more specifically relates to cache memory for efficient access to stored data.
BACKGROUND OF THE INVENTION Recent developments in the computer and computer networking industries have spawned an ever increasing demand for fast access to large amounts of data relating to objects such as images, audio, and documents. Dramatic increases in both data storage capacity and computer processing speed have allowed computer applications to process and store greater amounts of data facilitating data content rich with multi-media. Similar advances in computer networking have lead to dramatic increases in both communications bandwidth and the breadth of network access. With these advances, vast amounts of information are routinely shared among computers supporting web-based and other networked applications.
A typical cache includes binary logic functioning when the cache receives a request for an object to determine if the object is available in the cache. If the object is available in the cache, the cached object is used to respond to the request. If the object is not available in the cache, the object request is responded to by retrieving the object from the larger storage device. If the storage device is connected to the requesting processor through a shared communications bus, there will likely be delays to retrieve the object due to the bandwidth of the bus, competition from other devices connected to the bus, and additional instructions necessary to communicate the object request to the storage device and the object delivery to the requester. This delay will likely be even greater if the storage device, such as a web server, is remotely located and connected by a communication link such as the World Wide Web.
SUMMARY OF THE INVENTION The present invention relates to a cache system and method for generating uncached objects from cached and stored object components. One embodiment of the invention caches image files, where the images consist of components and are stored in a format that allows identification and access to the individual image components.
DETAILED DESCRIPTION OF THE INVENTION Referring to FIG. 1, in one embodiment a data processing system 20 is in communication with a first storage device 22, a user interface 24, and one or more peripheral devices 26. The data processing system 20 receives data through either the user interface 24, the peripheral device 26, such as a modem or image scanner, or through memory reads from the first storage device 22 where the storage device comprises storage memory 28. The first storage device 22 can be any data storage device such as a disk drive, a magnetic tape drive, an optical disk drive, or an electronic memory. The data processing system 20 processes and optionally delivers data to the user interface 24, such as a terminal display, to the peripheral device 26, such as a printer, or through memory writes to the storage memory 28 of the first storage device 22.
With these objects 54 representing structured data storage objects 54, such as XML, OLE, or JPEG 2000, the regenerative cache system 42 has the ability to search for and manipulate components 60. Once the components 60 have been located, they can be accessed and manipulated in a variety of ways for further processing and viewing. The objects 54 also lend themselves to being granularly updated by adding, subtracting, or reordering the individual object components 60.
In more, detail, referring to FIG. 5, one embodiment of the regenerative cache system 42 determines the one or more components 60 sufficient to construct the requested object 54 (step 74). The regenerative cache system 42 determines the sufficient components 60 from the syntax of the file structure and the request for the object 54. The regenerative cache system 42 determines if the sufficient components 60 to construct the requested object 54 are available within the cache memory 46 (step 76). If the sufficient components 60 are available within the cache memory 46, the object 54 is constructed by the cache processor 50 (step 78). If the components 60 are not available in the cache memory 46, the regenerative cache system 42 determines if any components 60 of the requested object 54 are available in the cache memory 46 (step 80). If any of the components 60 of the requested object 54 are available in the cache memory 46, the regenerative cache system 42 determines which components 60 are missing by comparing the determined components 60 of the requested object 54 available in the cache memory 46 to the determined components 60 sufficient to construct the requested object 54 (step 82). Having determined the missing components 60, the regenerative cache system 42 retrieves the missing components 60 from one or more remote storage devices 22, 22′, 40, 42 (step 84). Referring again to FIG. 1, the one or more remote storage devices 22, 22′, 40, 42 can include local memory 40, a local storage device 22 in communication with the CPU 30 through a system bus 44, a peripheral storage device 22, an external storage source in communication with the data processing system 20, or another regenerative cache system 42. The regenerative cache system 42, having the components 60 from the locally available cache memory 46 and those retrieved from the remote one or more storage devices 22, 22′, 40, 42, constructs the requested object 54 (step 78). The object 54 can be returned in response to an object request (step 95) and/or cached for future requests.
Referring to FIG. 8, in one embodiment the object 54 is a wavelet-transformed, compressed image 100. One example of a wavelet-transformed, compressed image 100 is a JPEG 2000 image 100. The JPEG 2000 image 100 is comprised of various categories of components 60 related to the nature in which the JPEG 2000 compression algorithm functions. The JPEG 2000 compression algorithm takes a digital representation of an image 96 as shown in FIG. 7 and divides the image into one or more tiles 98. The JPEG 2000 compression algorithm is applied separately to each of the tiles 98. Each tile 98 is divided into components 102 a, 102 b, and 102 c (generally 102) such as red, green, and blue color components 102 that when combined together yield a color image. Each of the color components 102 is transformed using a wavelet transform to form sub-bands 104 a through 104 j (generally 104) of the original image file 96. Sub-bands 104 a, 104 b, and 104 c correspond to a first level wavelet transform. Sub-bands 104 d, 1104 e, and 104 f correspond to a second sub-band level, and sub-bands 104 g, 104 h, and 104 i correspond to a third sub-band level. The transform can be applied repeatedly to produce additional levels of sub-bands 104. The various levels of sub-bands 104 correspond to different levels of image resolution.
In a first illustrative example, the regenerative cache system 42 has cached within the cache memory 46 a first object 54 comprising an ordered set of components 60 that define a particular presentation of the JPEG 2000 image file 100. In a first illustrative example, the first object 54 is the fill-sized, full-color, full-resolution, full-quality JPEG 2000 image file 100, ordered for progressive resolution. When a subsequent request is received for a second object 54 that is related to the first object, such as a request for a lower-resolution version of the first image 54, the regenerative cache system 42 knows that it has the necessary components 60 within the cache memory 46 to construct the lower-resolution second image 54. The regenerative cache system then locates the necessary components 60 from the first cached object 54 and constructs the second object 54.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4872138 *May 16, 1988Oct 3, 1989Bull Hn Information Systems Italia S.P.A.Transparent cache memoryUS5664106 *Feb 9, 1995Sep 2, 1997Digital Equipment CorporationPhase-space surface representation of server computer performance in a computer networkUS5832219 *Dec 20, 1995Nov 3, 1998Object Technology Licensing Corp.Distributed object networking serviceUS5963981 *Oct 6, 1995Oct 5, 1999Silicon Graphics, Inc.System and method for uncached store buffering in a microprocessorUS6032227 *Nov 18, 1998Feb 29, 2000International Business Machines CorporationSystem and method for cache management in mobile user file systemsUS6061715 *Apr 30, 1998May 9, 2000Xerox CorporationApparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portionsUS6192382Sep 24, 1997Feb 20, 2001Mediaone Group, Inc.Method and system for web site construction using HTML fragment cachingUS6314452Aug 31, 1999Nov 6, 2001Rtimage, Ltd.System and method for transmitting a digital image over a communication networkUS6363418Oct 16, 1998Mar 26, 2002Softbook Press, Inc.On-line image caching control for efficient image displayUS6389421 *Aug 4, 1998May 14, 2002International Business Machines CorporationHandling processor-intensive operations in a data processing systemUS6480200 *Jun 9, 2000Nov 12, 2002Hewlett-Packard CompanyMethod and apparatus for deferred texture validation on a multi-tasking computerUS6549944 *Jul 6, 2000Apr 15, 2003Mercury Interactive CorporationUse of server access logs to generate scripts and scenarios for exercising and evaluating performance of web sitesUS6553393Apr 26, 1999Apr 22, 2003International Business Machines CoporationMethod for prefetching external resources to embedded objects in a markup language data streamUS6631205Jan 13, 1999Oct 7, 2003Canon Kabushiki KaishaStereoscopic imaging in a portable document formatUS6661904 *Jul 8, 1999Dec 9, 2003PersonalogoMethod and system for automated electronic conveyance of hidden dataUS7006009Apr 1, 2002Feb 28, 2006Key Energy Services, Inc.Servicing system for wellsEP0933694A1Jul 17, 1998Aug 4, 1999Pfu LimitedHigh definition image display and program storage medium for the displayJP2000029448A Title not availableJP2000209258A Title not availableJPH0524452A Title not availableJPH0535563A Title not availableJPH1188866A Title not availableJPH02178878A Title not availableJPH06119218A Title not availableJPH08106537A Title not availableJPH11296426A Title not availableWO2000023916A1Oct 8, 1999Apr 27, 2000Softbook Press IncOn-line image caching control for efficient image display* Cited by examinerNon-Patent CitationsReference1Chim, J.H.P. et al.: "On Caching and Prefetching of Virtual Objects in Distributed Virtual Environments" ACM Multimedia, Proceedings of the International Conference, NY, NY, 1998, pp. 171-180.2Ching-Yung Lin ("Introduction of JPEG 2000", Jul. 13, 2000), http://www.ctr.columbia.edu/.about.cylin/jpeg2000/intro.sub.-jp2.ppt.3Ching-Yung Lin ("Introduction of JPEG 2000", Jul. 13, 2000), http://www.ctr.columbia.edu/.about.cylin/jpeg2000/intro.sub.�jp2.ppt.4Decision of Refusal (including translation) for Japanese Patent Application No. 2008-197525, dispatched Jul. 21, 2009.5Examiner's First Report on Patent Application No. 2001283542, mailed Aug. 15, 2006.6Examiner's First Report on Patent Application No. 2006228047, mailed Oct. 6, 2008.7First Office Action for European Patent Application No. 01962350.3, mailed Mar. 16, 2006.8Notice of Acceptance for Australian Patent Application No. 2001283542, dated Sep. 26, 2006.9Notice of Allowance (including translation) for Korean Patent Application No. 10-2003-7002093, mailed Jan. 26, 2011.10Notice of Allowance (including translation) for Korean Patent Application No. 10-2010-7026935, mailed Oct. 20, 2011.11Notice of Allowance for U.S. Appl. No. 09/774,986, mailed Nov. 1, 2005.12Notification of Reason for Refusal (including translation) for Japanese Patent Application No. 2009-177969, Date of Dispatch: Feb. 1, 2010.13Notification of Reasons for Refusal (including translation) for Japanese Patent Application No. 2002-520073, dispatched Oct. 20, 2008.14Notification of Reasons for Refusal (including translation) for Japanese Patent Application No. 2008-197525, dispatched Dec. 8, 2008.15Office Action for European Patent Application No. 01962350.3, mailed Jul. 3, 2007.16Official Action (including translation) for Japanese Patent Application No. 2009-177969, mailed Sep. 21, 2010.17Official Action (including translation) for Korean Patent Application No. 10-2010-7026935, mailed Feb. 9, 2011.18Official Action for Canadian Patent Application No. 2,416,839, mailed Aug. 9, 2010.19Official Action for Canadian Patent Application No. 2,416,839, mailed Jun. 29, 2009.20Official Action for U.S. Appl. No. 09/774,986, mailed Jul. 1, 2005.21Official Action for U.S. Appl. No. 09/774,986, mailed May 14, 2004.22Official Action for U.S. Appl. No. 09/774,986, mailed Nov. 16, 2004.23Official Action for U.S. Appl. No. 09/774,986, mailed Sep. 15, 2003.24PCT International Preliminary Examination Report, PCT/US01/41608 mailed Oct. 4, 2002.25PCT Written Opinion, PCT/US01/41608 mailed Jul. 31, 2002.26Preliminary Rejection (including translation) for Korean Patent Application No. 10-2003-7002093, dated Aug. 31, 2007.27Restriction Requirement for U.S. Appl. No. 09/774,986, mailed Feb. 24, 2004.28Xuguang, Yang et al., "An Optimal and Efficient Soft Caching Algorithm for Network Image Retrieval" Proceedings, 1998, Los Alamitos, CA USA, IEEE Comput. Soc. US., Oct. 4, 1998 pp. 12-16.Referenced byCiting PatentFiling datePublication dateApplicantTitleUS20100278443 *Apr 30, 2009Nov 4, 2010Stmicroelectronics S.R.L.Method and systems for thumbnail generation, and corresponding computer program product* Cited by examinerClassifications U.S. Classification707/802, 707/812International ClassificationG06F12/08, G06F13/00, G06F17/30, G11C5/00, G06F12/00Cooperative ClassificationG06F2212/455, G06F12/0802, G06F17/30067, G06F12/0875, G06T1/60European ClassificationG06F12/08B, G06F17/30F, G06T1/60, G06F12/08B14Legal EventsDateCodeEventDescriptionMay 1, 2012CCCertificate of correctionRotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services