WO1998057265B1 - Network object cache engine - Google Patents
Network object cache engineInfo
- Publication number
- WO1998057265B1 WO1998057265B1 PCT/US1998/011834 US9811834W WO9857265B1 WO 1998057265 B1 WO1998057265 B1 WO 1998057265B1 US 9811834 W US9811834 W US 9811834W WO 9857265 B1 WO9857265 B1 WO 9857265B1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- objects
- disk
- cache
- mass storage
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Abstract
The invention provides a method and system for caching information objects transmitted using a computer network. A cache engine determines directly when and where to store those objects in a memory (such as RAM) and mass storage (such as one or more disk drives), so as to optimally write those objects to mass storage and later read them from mass storage, without having to maintain them persistently. Thec cache engine actively allocates those objects to memory or to disk, determines where on disk to store those objects, retrieves those objects in response to their network identifiers (such as their URLs), and determines which objects to remove from the cache so as to maintain sufficient operating space. The cache engine collects information to be written to disk in write episodes, so as to maximize efficiency when writing information to disk and so as to maximize efficiency when later reading that information from disk. The cache engine performs write episodes so as to atomically commit changes to disk during each write episode, so the cache engine does not fail in response to loss of power or storage, or other intermediate failure of portions of the cache. The cache engine also stores key system objects on each one of a plurality of disks, so as to maintain the cache holographic in the sense that loss of any subset of the disks merely decreases the amount of available cache. The cache engine also collects information to be deleted from disk in delete episodes, so as to maximize efficiency when deleting information from disk and so as to maximize efficiency when later writing to those areas having former deleted information. The cache engine responds to the addition or deletion of disks as the expansion or contraction of the amount of available cache.
Claims
1. A system for objects on a network, said system including: a receiver coupled to said network; and a cache engine operative to record an object from said network on a mass storage; wherein said cache engine is capable of selecting times to record said object, selecting locations to record said object, storing said object holographically so as to continue operation after loss of a portion of said mass storage, or minimizing time needed to write to said mass storage.
2. An apparatus for maintaining a set of network objects including: a processor for controlling a cache mechanism configured to cache a plurality of objects including said set of network objects, said processor being capable of communication with a network .and being configured to send at least one of said set of network objects over s.aid network; a m.ass storage, associated with said cache mechanism, in communication with said processor; a memory, associated with said cache mechanism, in communication with said processor and said mass storage; a hash mechanism, configured to locate any of said plurality of objects in said cache mechanism, responsive to an object identifier; and an object storage mechanism, responsive to said hash mechanism, configured to transfer one or more of said plurality of objects between s d memory .and said mass storage.
3. The apparatus of claim 2, wherein said cache mechanism is organized into a plur ity of blocks .and the h.ash mech.anism returns a block pointer to access any of said plurality of objects stored in said cache mechanism.
4. The apparatus of claim 3, wherein said plurality of blocks of the mass storage are directly accessed independent of any filesystem imposed on the mass storage.
5. The apparatus of claim 2, wherein the object storage mech-anism further includes a delayed write means for performing an atomic write episode to write a plurality of blocks containing one or more of said plurality of objects to said mass storage.
6. The apparatus of claims 3, 4 or 5, wherein the object storage mechanism further includes an optimization means for minimizing the time required to transfer said plurality of blocks.
7. The apparatus of claims 2, 3, 4, 5, or 6, wherein the mass storage includes a plurality of disk drives and each of said plurality of disk drives is associated with a corresponding disk set descriptor object, each of said corresponding disk set descriptor objects referenced by a disk set object.
8. The apparatus of claim 7, further including a dynamic mass storage configuration means for updating said disk set object and creating or modifying said corresponding disk set descriptor object responsive to the addition, removal, failure or replacement of one or more of said plurality of disk drives while said apparatus continues to operate.
9. A computer controlled method for maintaining a set of network objects including steps of: controlling a cache mechanism configured to cache a plurality of objects including said set of network objects; locating any of said plurality of objects in said cache mechanism, responsive to an object identifier; atomically transferring, responsive the step of locating, one or more of said plurality of objects between a memory and a mass storage; and sending at least one of said set of network objects over said network.
10. The computer controlled method of claim 9, wherein said cache mechanism is organized into a plurality of blocks and a hash mechanism performs the step of returning a block pointer to access any of said plurality of objects stored in said cache mechanism.
11. The computer controlled method of claim 9, wherein the method further includes the step of performing an atomic write episode to write a plurality of blocks containing one or more of said plurality of objects to said mass storage.
12. The apparatus of claims 9, 10 or 11, further including the step of minimizing the time required to transfer said plurality of blocks.
32
13. The computer controlled method of claims 9, 10, 11, or 12, wherein said mass storage includes a plurality of disk drives and each of said plurality of disk drives is associated with a corresponding disk set descriptor object, each of said corresponding disk set descriptor objects referenced by a disk set object, the method further includes the step of maintaining said disk set object and said corresponding disk set descriptor object to holographically store said set of network objects on said mass storage.
14. The computer controlled method of claim 13, further including steps of: updating said disk set object; and modifying said corresponding disk set descriptor object responsive to the addition, removal, failure or replacement of one or more of said plurality of disk drives.
33
Statement under Article 19
Applicant believes the amendments to the claims do not make any impact on the description or the drawings.
The invention includes a highly reliable and efficient network cache (and associated methods).
Yammine (US 5,564,011) discloses a system and method for regeneration of on-disk dynamic control blocks for the file system. Yammine assumes a mass storage device upon which is imposed a hierarchical file system that contains directories and files. Yammine uses information saved during file system initialization to regenerate the file system for a disk should the existing file system becomes inconsistent.
Jones (EP 0 359 384) discloses a posted- write queue method and apparatus for queuing multiple single sector writes to a disk device. If successive write requests were queued to the disk for successive sectors on the disk, the disk driver performs a multi-sector write instead of multiple single sector writes.
The invention is a stand-alone network cache device used to efficiently cache network objects. The invention need not use a file oriented mass storage system. Instead, objects (including networked objects) are stored directly to data blocks of a mass storage device during write episodes used to optimize storage and retrieval of objects. In addition, objects are atomically transferred between memory and the mass storage device during these write episodes so that the state of the saved information is always consistent on the mass storage. Furthermore, where the mass storage consists of multiple drives, the invention automatically detects the addition, removal, and failure of any of the drives and continues to perform its caching operation with the additional or reduced mass storage.
34
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IL13324198A IL133241A0 (en) | 1997-06-09 | 1998-06-09 | Network object cache engine |
| EA200000004A EA200000004A1 (en) | 1997-06-09 | 1998-06-09 | KESH MECHANISM OF NETWORK OBJECTS |
| JP50304699A JP2002511170A (en) | 1997-06-09 | 1998-06-09 | Network object cache engine |
| EP98928933A EP0988598A1 (en) | 1997-06-09 | 1998-06-09 | Network object cache engine |
| AU80617/98A AU8061798A (en) | 1997-06-09 | 1998-06-09 | Network object cache engine |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US4898697P | 1997-06-09 | 1997-06-09 | |
| US60/048,986 | 1997-06-09 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO1998057265A1 WO1998057265A1 (en) | 1998-12-17 |
| WO1998057265B1 true WO1998057265B1 (en) | 1999-03-11 |
Family
ID=21957486
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US1998/011834 Ceased WO1998057265A1 (en) | 1997-06-09 | 1998-06-09 | Network object cache engine |
Country Status (8)
| Country | Link |
|---|---|
| EP (1) | EP0988598A1 (en) |
| JP (1) | JP2002511170A (en) |
| KR (1) | KR20010012913A (en) |
| CN (1) | CN1260887A (en) |
| AU (1) | AU8061798A (en) |
| EA (1) | EA200000004A1 (en) |
| IL (1) | IL133241A0 (en) |
| WO (1) | WO1998057265A1 (en) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7171469B2 (en) * | 2002-09-16 | 2007-01-30 | Network Appliance, Inc. | Apparatus and method for storing data in a proxy cache in a network |
| CN100353340C (en) * | 2003-07-04 | 2007-12-05 | 中国科学院计算技术研究所 | Custom-made network storage apparatus operating systems |
| KR100654462B1 (en) | 2005-08-24 | 2006-12-06 | 삼성전자주식회사 | Cache method and cache system for dividing cache memory into memory blocks and storing data of files |
| CN101707684B (en) * | 2009-10-14 | 2014-04-30 | 北京东方广视科技股份有限公司 | Method, device and system for dispatching Cache |
| WO2013141198A1 (en) * | 2012-03-21 | 2013-09-26 | 日本電気株式会社 | Cache server, content delivery method and program |
| US9298391B2 (en) * | 2012-12-19 | 2016-03-29 | Dropbox, Inc. | Application programming interfaces for data synchronization with online storage systems |
| US9311343B2 (en) | 2014-04-02 | 2016-04-12 | International Business Machines Corporation | Using a sequence object of a database |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5065354A (en) * | 1988-09-16 | 1991-11-12 | Compaq Computer Corporation | Queued posted-write disk write method with improved error handling |
| JPH0679293B2 (en) * | 1990-10-15 | 1994-10-05 | 富士通株式会社 | Computer system |
| US5564011A (en) * | 1993-10-05 | 1996-10-08 | International Business Machines Corporation | System and method for maintaining file data access in case of dynamic critical sector failure |
| WO1997001765A1 (en) * | 1995-06-26 | 1997-01-16 | Novell, Inc. | Apparatus and method for redundant write removal |
-
1998
- 1998-06-09 WO PCT/US1998/011834 patent/WO1998057265A1/en not_active Ceased
- 1998-06-09 CN CN98805987A patent/CN1260887A/en active Pending
- 1998-06-09 EA EA200000004A patent/EA200000004A1/en unknown
- 1998-06-09 KR KR1019997010881A patent/KR20010012913A/en not_active Withdrawn
- 1998-06-09 EP EP98928933A patent/EP0988598A1/en not_active Withdrawn
- 1998-06-09 JP JP50304699A patent/JP2002511170A/en active Pending
- 1998-06-09 AU AU80617/98A patent/AU8061798A/en not_active Abandoned
- 1998-06-09 IL IL13324198A patent/IL133241A0/en unknown
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6732293B1 (en) | Method, software and apparatus for recovering and recycling data in conjunction with an operating system | |
| RU2182360C2 (en) | Method for computer system stored data access, method for data filing, and computer system for implementing these methods | |
| US9699255B2 (en) | Device driver | |
| US8078819B2 (en) | Arrangements for managing metadata of an integrated logical unit including differing types of storage media | |
| EP2271978B1 (en) | Apparatus, system, and method for converting a storage request into an append data storage command | |
| US6360232B1 (en) | Disaster recovery method for a removable media library | |
| US9170754B2 (en) | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment | |
| US6816941B1 (en) | Method and system for efficiently importing/exporting removable storage volumes between virtual storage systems | |
| US6745212B2 (en) | Preferential caching of uncopied logical volumes in an IBM peer-to-peer virtual tape server | |
| US6718427B1 (en) | Method and system utilizing data fragments for efficiently importing/exporting removable storage volumes | |
| US6397229B1 (en) | Storage-controller-managed outboard incremental backup/restore of data | |
| KR100317691B1 (en) | Efficient volume copy using pre-configuration of log structured target storage | |
| US7136977B2 (en) | Backup acquisition method and disk array apparatus | |
| US20130185532A1 (en) | Apparatus, system, and method for log storage | |
| KR100926865B1 (en) | Data storage device, data relocation method, recording medium recording program | |
| US20060004890A1 (en) | Methods and systems for providing directory services for file systems | |
| KR101369813B1 (en) | Accessing, compressing, and tracking media stored in an optical disc storage system | |
| AU1114695A (en) | A method of operating a computer system | |
| WO2002027526A1 (en) | Fast data retrieval based upon contiguous consolidation of records according to frequency of access | |
| US5671390A (en) | Log structured array storage subsystem using LSA directory and LSA sub-directory stored in different storage media | |
| WO1998057265B1 (en) | Network object cache engine | |
| JP2006031446A (en) | Data storage device, data storage method, and data storage program | |
| EP1091299A2 (en) | Method, software and apparatus for recovering data in conjunction with an operating system | |
| JP4079244B2 (en) | Reorganization processing method for write-once type storage media volume | |
| JP2014059760A (en) | Storage device, control method of storage device, and control program of storage device |