Virtual lookaside facility
First Claim
1. In a central electronic complex comprising system resources, user programs, and an operating system for managing said system resources, a virtual lookaside facility comprising:
- A) storage means comprising main and auxiliary storage;
B) a virtual storage cache for storing data objects in said storage means, each data object being linked to a data object control structure and having a minor name uniquely identifying said data object within a data set containing said data object, said data set having a major name uniquely identifying said data set within a class of data objects, said class of data objects having a class name uniquely identifying said class of data objects within said central electronic complex, so that a particular data object is uniquely identified within said central electronic complex by a particular minor name, a particular major name, and a particular class name;
C) one or more search order definition means, each one linked to an associated one of said user programs, for uniquely specifying for said associated one of said user programs, a data set search order, comprising an ordered list of entries, each entry specifying the major name identifying an associated data set, said ordered list indicating the data set search order for a searched-for data object having a searched-for minor name;
D) CREATE means, responsive to a CREATE request by a storing one of said user programs, for storing a stored data object in said virtual storage cache, said storing one of said user programs specifying in said CREATE request a search order index into the data set search order linked to said storing one of said user programs, said search order index indicating the associated data set from which said stored data object was obtained by said storing one of said user programs;
E) existence table means, connected to said data object control structure, and containing an indication, set by said CREATE means, for determining whether said stored data object may be used from said virtual storage cache by a retrieving one of said user programs; and
F) search means, responsive to a RETRIEVE request by said retrieving one of said user programs, for retrieving said stored data object from said virtual storage cache, said search means accessing said associated search order definition means to determine from where in the data set search order associated with said retrieving one of said user programs said stored data object was retrieved, and accessing said existence table means to determine whether said stored data object may be used by said retrieving one of said user programs.
1 Assignment
0 Petitions
Accused Products
Abstract
A virtual lookaside faclity is provided for maintaining named data objects in class-related data spaces in virtual storage, readily retrievable by user programs. A search order is associated with each user, specifying an ordered list of "major names" which are, in effect, sequentially searched for a specified "minor name", or data object, to obtain a virtual storage copy of that data object. As data objects are placed into a virtual cache, existence information, implicit in the naming structure, is captured and saved. This information is relied on later in retrieving objects from the cache. The data isolation provided by maintaining class data and control blocks in individual data spaces is exploited to prevent failures relating to one class of objects from affecting the others, and to handle latent program users, following failures, effectively.
An LRU-like trimming technique is used to remove less useful objects from the cache when cache space is fully utilized.
44 Citations
9 Claims
-
1. In a central electronic complex comprising system resources, user programs, and an operating system for managing said system resources, a virtual lookaside facility comprising:
-
A) storage means comprising main and auxiliary storage; B) a virtual storage cache for storing data objects in said storage means, each data object being linked to a data object control structure and having a minor name uniquely identifying said data object within a data set containing said data object, said data set having a major name uniquely identifying said data set within a class of data objects, said class of data objects having a class name uniquely identifying said class of data objects within said central electronic complex, so that a particular data object is uniquely identified within said central electronic complex by a particular minor name, a particular major name, and a particular class name; C) one or more search order definition means, each one linked to an associated one of said user programs, for uniquely specifying for said associated one of said user programs, a data set search order, comprising an ordered list of entries, each entry specifying the major name identifying an associated data set, said ordered list indicating the data set search order for a searched-for data object having a searched-for minor name; D) CREATE means, responsive to a CREATE request by a storing one of said user programs, for storing a stored data object in said virtual storage cache, said storing one of said user programs specifying in said CREATE request a search order index into the data set search order linked to said storing one of said user programs, said search order index indicating the associated data set from which said stored data object was obtained by said storing one of said user programs; E) existence table means, connected to said data object control structure, and containing an indication, set by said CREATE means, for determining whether said stored data object may be used from said virtual storage cache by a retrieving one of said user programs; and F) search means, responsive to a RETRIEVE request by said retrieving one of said user programs, for retrieving said stored data object from said virtual storage cache, said search means accessing said associated search order definition means to determine from where in the data set search order associated with said retrieving one of said user programs said stored data object was retrieved, and accessing said existence table means to determine whether said stored data object may be used by said retrieving one of said user programs. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a central electronic complex comprising system resources, user programs, and an operating system for managing said system resources, a programmed method for managing named data objects in a virtual lookaside facility (VLF) comprising the steps of:
-
A) constructing a first data set search order by an IDENTIFY function, on behalf of one of the user programs, said first data set search order comprising an ordered list of major names, each major name in the ordered list uniquely identifying one of a sequence of data sets, each data set containing associated data objects each having a minor name, said first data set search order indicating an order of searching for a data object within said sequence of data sets on request by said one of the user programs such that a search commences with a first data set in said sequence of data sets, and terminates when the data set containing said data object is identified or when all of said sequence of data sets has been searched; B) in response to a CREATE request by said one of the user programs, placing in virtual storage managed by said VLF a copy of a particular data object having a particular minor name, said particular data object having been obtained by said one of the user programs from a containing data set having an associated major name; C) comparing the associated major name with said ordered list of major names and setting an indicator in an existence table that said particular minor name does not identify any data object in any data set identified by any major name occurring earlier in said first data set search order than the associated major name; D) in response to a RETRIEVE request for the particular minor name by a second one of the user programs, said second one of the user programs having a second data set search order;
providing a best data object, having the particular minor name, from said virtual storage managed by said VLF, said best data object being from a first known containing data set in said second data set search order, and further providing to said second one of the user programs a return indicator indicating either (a) that said best data object is a requested data object when said indicator indicates that the particular minor name does not identify any data object in any data set earlier in said second data set search order than the first known containing data set, or (b) that said best data object may possibly not be the requested data object when said indicator indicates that the particular minor name may possibly identify any data object in any data set earlier in said second data set search order than the first known containing data set; and
returning a "not available" indicator when no such best data object, having the particular minor name, exists in said virtual storage, managed by said VLF, from any containing data set in said second data set search order. - View Dependent Claims (8, 9)
-
Specification