[go: up one dir, main page]

WO1998057265B1 - Network object cache engine - Google Patents

Network object cache engine

Info

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
Application number
PCT/US1998/011834
Other languages
French (fr)
Other versions
WO1998057265A1 (en
Filing date
Publication date
Application filed filed Critical
Priority to IL13324198A priority Critical patent/IL133241A0/en
Priority to EA200000004A priority patent/EA200000004A1/en
Priority to JP50304699A priority patent/JP2002511170A/en
Priority to EP98928933A priority patent/EP0988598A1/en
Priority to AU80617/98A priority patent/AU8061798A/en
Publication of WO1998057265A1 publication Critical patent/WO1998057265A1/en
Publication of WO1998057265B1 publication Critical patent/WO1998057265B1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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

AMENDED CLAIMS[received by the International Bureau on 15 January 1999 (15.01.99); new claims 2-14 added; remaining claim unchanged (3 pages)]
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
PCT/US1998/011834 1997-06-09 1998-06-09 Network object cache engine Ceased WO1998057265A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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