System and method for employing slot level locking of a cache

Electrical computers and digital processing systems: multicomput – Multicomputer data transferring via shared memory

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S144000, C711S133000, C711S136000, C711S159000, C711S160000, C711S216000, C709S217000

Reexamination Certificate

active

06785714

ABSTRACT:

FIELD OF THE INVENTION
In general, the present application relates to computer software, and more particularly, to a system and method for employing slot level locking of a cache for storing and retrieving data.
BACKGROUND OF THE INVENTION
Generally described, networks, such as the Internet, allow computer users to request and view content provided by a variety of other computer systems on the network, commonly known as content providers. Oftentimes, a content provider receives a request for content from a client computer and returns the requested content, along with some embedded advertisement media, in the form of an Internet Web page.
Under a first approach to delivering advertisement media, instead of sending the advertisement media to the client computer, the content provider returns an identifier of the advertisement media, in the form of a network identifier. The client computer requests and obtains the media directly from another computer system on the network. In a second approach to delivering advertisement media, the advertisement media may be embodied in a format such as a rich media file whose size and complexity make their transfer from the third party computer system to the client computer inefficient or impossible. Accordingly, the content provider requests the rich media file from the third party directly and returns it to the requesting client computer when appropriate.
In general, a single content provider can service several client computers at the same time. Oftentimes, the same client computer requests the same content repeatedly, or the same content will be requested by a number of computers. As will be generally understood, repeatedly obtaining the same media file can be strenuous on the processing and communication resources of the content provider. Accordingly, content provider servers often store rich media files, or the like, in a cache for subsequent access by the same or other client computer.
In one conventional multi-threaded content provider server environment, each client computer request for a media file is embodied as a single thread, which is processed in sequential order by the content provider. Under this system, upon accepting a media file request thread, the entire content provider cache, is locked to determine whether a copy of the media file is in the cache. If the media file is not in the cache, the content provider places a call to a third party server to retrieve the media file. The cache remains locked during the file retrieval process, and any subsequent thread file requests remain idle until the cache lock is removed.
With reference to the above example, the conventional system becomes inefficient in the event a call for a media file is delayed or lost in the network. In such an event, because the content provider is waiting for the media file, the cache remains locked for an extended period of time, often indefinitely. Accordingly, every additional media file request threads remain idle while the server waits. Eventually, prolonged delays result in a content provider server failure.
Thus, there is a need for a system and method utilizing localized cache slot locks to facilitate multi-threaded file requests.
SUMMARY OF THE INVENTION
In accordance with this invention, a system and method for enabling slot level cache locking are provided. A rich media file request is obtained and a general lock is put on the cache to determine whether the file has already been allocated a location in the cache. If a location has been previously allocated, an attempt is made to lock the specific slot in the cache where the file is stored, and if successful, the general cache lock is released. In the event a slot has not been previously allocated, a next available slot is obtained and the cache slot is locked. Thereafter, the general lock on the cache is released. In either scenario, once the cache slot lock is achieved, the processing of the file continues, such as requesting the file from a third party. Additionally, upon the release of general cache lock, additional media file requests can be processed concurrently without having to wait for the continued processing of the previous file request.
In accordance with other aspects of the present invention, a computer implementable method for retrieving data from a cache having at least one cache slot for storing data is provided. When a request for data occurs, a cache slot for the data is allocated if a cache slot has not been previously allocated. The cache slot is locked prior to retrieving the data. The requested data is retrieved and stored in the allocated cache slot. Thereafter, the cache slot lock is released and the data is returned.
In accordance with another aspect of the present invention, a computer system for returning requested data is provided. The computer system includes at least one browser application operable to request data and a content provider server having at least one cache slot for storing data. The content provider server receives data requests from the browser application and allocates a cache slot for each data request from the browser application. The allocated cache slot is locked while the content provider server obtains the requested data.


REFERENCES:
patent: 4513367 (1985-04-01), Chan et al.
patent: 4977498 (1990-12-01), Rastegar et al.
patent: 5353425 (1994-10-01), Malamy et al.
patent: 5410669 (1995-04-01), Biggs et al.
patent: 5430860 (1995-07-01), Capps et al.
patent: 5519846 (1996-05-01), Swenson
patent: 5628005 (1997-05-01), Hurvig
patent: 5737751 (1998-04-01), Patel et al.
patent: 5822764 (1998-10-01), Hardage et al.
patent: 5832484 (1998-11-01), Sankaran et al.
patent: 5835908 (1998-11-01), Bennett et al.
patent: 5838940 (1998-11-01), Savkar et al.
patent: 5875461 (1999-02-01), Lindholm
patent: 5913224 (1999-06-01), MacDonald
patent: 5974508 (1999-10-01), Maheshwari
patent: 6078994 (2000-06-01), Carey
patent: 6092159 (2000-07-01), Ekner et al.
patent: 6112281 (2000-08-01), Bamford et al.
patent: 6145054 (2000-11-01), Mehrotra et al.
patent: 6282637 (2001-08-01), Chan et al.
patent: 6314417 (2001-11-01), Bennett et al.
patent: 6314451 (2001-11-01), Landsman et al.
patent: 6389517 (2002-05-01), Moudgal et al.
patent: 6493804 (2002-12-01), Soltis et al.
patent: 1168183 (2002-01-01), None
Hu, W., et al., “A Lock-Based Cache Coherence Protocol for Scope Consistency,”J. of Comput. Sci.&Technol. 13(2):97-109, 1998.
Iwai, T., and M. Nakanishi, A Spin Lock Method for Shared-Memory Architecture in Consideration of Cache Memory,Proceedings of the 14thInternational Conference on Applied Informatics, Innsbruck, Austria, Feb. 20-22, 1996, pp. 94-97.
Kawai, E., K. Osuga, K. Chinen, and S. Yamaguchi, “Duplicated Hashing Routing: A Robust Algorithm for a Distributed WWW Cache System,”IEICE Transactions of Information and Systems E83-D(5): 1039-1047, 2000.
Kroft, D., Lockup-Free Instruction Fetch/Prefetch Cache Organization,8thAnnual Symposium on Computer Architecture, Minneapolis, Minnesota, May 12-14, 1981, pp. 81-87.
Kurcewicz, M., W. Sylwestrzak, and A. Wierzbicki, “A Distributed WWW Cache,”Computer Networks and ISDN Systems 30(22-23):2261-2267, 1998.
Lomet, D., “Private Locking and Distributed Cache Management,”Proceedings of the 3rdInternational Conference on Parallel and Distributed Information Systems, Austin, Texas, Sep. 28-30, 1994, pp. 151-159.
Magnusson, P., et al., “Queue Locks on Cache Coherent Multiprocessors,”Proceedings of the 8thInternational Parallel Processing Symposium, Cancun, Mexico, Apr. 26-29, 1994, pp. 165-171.
Povey, D., and J. Harrison, “A Distributed Internet Cache,”Australian Computer Science Communications 19(1):175-184, 1997.
Scheurich, C., and M. Dubois, “The Design of a Lockup-Free Cache for High-Performance Multiprocessors,”Proceedings—Supercomputing '88, Orlando, Florida, Nov. 14-18, 1988, pp. 352-359.
Tarui, T., et al., “Evaluation of the Lock Mechanism in a Snooping Cache,”ACM International Conference on Supercomputing, Washington, DC., Jul. 19-23, 1992, pp. 53-62.
Touch, J., and A.S. Hughes, “LSAM Proxy Cache: A Multicast Dist

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for employing slot level locking of a cache does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for employing slot level locking of a cache, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for employing slot level locking of a cache will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3303815

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.