Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories
Reexamination Certificate
2001-04-30
2004-07-20
Kim, Matthew (Department: 2186)
Electrical computers and digital processing systems: memory
Storage accessing and control
Hierarchical memories
C711S119000, C711S003000, C711S004000
Reexamination Certificate
active
06766418
ABSTRACT:
FIELD OF THE INVENTION
The present invention generally relates to data storage and data access systems, and more particularly, to systems and techniques which use a cache to provide access to data for applications that perform on computer systems.
BACKGROUND OF THE INVENTION
The ability of modern computer and data processing systems to share data has largely contributed to the popularity and rapid expansion of computer networking industries such as the Internet. In response to the insatiable demand to exchange data over networks or via other means, computer systems and software developers have created various conventional data sharing mechanisms to allow one or more computer systems to obtain access to data created, stored, or maintained by another computer system. Generally, computer systems that share data do so over a network using one or more standardized client/server protocols for the data exchange. Many such client/server protocols exist, examples of which include database access protocols, file sharing and file system protocols (e.g., the Network File System or NFS protocol developed by Sun Microsystems, Inc. of Mountain View, Calif., U.S.A.), and world wide web (WWW) based protocols. Using such mechanisms, two or more computer systems can share data that is stored in a format that each computer system can readily access. Other conventional data sharing systems have also been developed to allow two computer systems to have shared access to data from a commonly shared data storage device or data storage system that has a connection (either direct or over a network) to each computer system.
In some instances, certain computer systems create and manipulate data in a format that is natively different than data formats used by other computer systems. For example, conventional computer systems commonly referred to as “open systems” operate under the control of an open systems operating system such Unix (or a Unix variant) or Microsoft Windows (e.g., Windows 95, Windows 98 or Windows 2000), manufactured by Microsoft Corporation of Redmond, Wash., USA (Windows is a trademark of Microsoft Corporation). Such open-systems operating systems typically store data in files that conform to an “open systems” or “flat file” format. Generally, the open systems file format defines a format for data stored in a file as a continuous string or stream of bytes of data beginning at a certain location in storage (i.e., in memory or on disk) and continuing for a certain length or number of bytes in the storage medium (i.e., on disk or in memory). Open systems based computing systems thus don't interpret the contents of data such as a file maintained in storage by the operating system. Instead, applications are free to establish their own mechanisms for handling how the data is managed within files.
A software application operating on an open systems computing platform can provide a data access request to the open systems operating system that includes information that allows the operating system to process the data access request. For example, a “read” data access request might appear as follows: “read filename(offset, length)”. In this example, the “filename” portion of the data access request specifies the name of a data (e.g., a file in this example) in storage and allows the operating system to find the beginning of the data. The “offset” portion of the data access request specifies a specific location (e.g., byte number) into the data at which the data access operation is to begin to be performed. For this example, the offset indicates where the read operation should begin in the data. The “length” portion of the data access request indicates how much data, beginning at the offset position, the operating system should access (e.g., should read in this example) on behalf of the application providing the data access request.
Other types of computer systems, such as mainframe computers, typically store data in files which are organized as record-based sets of data known as data sets. Unlike open systems computing platforms, a non-open systems computing platform such as a mainframe computer system operates applications that do not expect to have a need to directly access data based on byte offsets into the data. Instead, data records are more meaningful to such non-open systems applications. As such, each data set may have its own predefined format such as a fixed block format, a variable-block format or a VSAM format. The operating system (e.g., MVS) that operates on a mainframe computer system “understands” the predefined format for data stored by the mainframe computer system. Mainframe computer systems are often called “non-open systems” computer systems due to the proprietary data formats used to store data in such systems. Such non-open data formats do not readily allow the non-open systems data to be shared with other computer systems that use a standard open systems data format.
Applications that operate on mainframe computer systems can provide non-open systems data access requests to the mainframe operating system that indicate, for example, a specific record and/or specific block at which the data access is to take place. Record lengths can vary from one record to another within a single data set. Accordingly, to reference a specific byte of data at a given location within a data set, the non-open systems data access request must include the record number as well as a position within that record. However, as noted above, typical non-open systems applications require access to the entire record rather than to a specific byte of information within a record.
Software developers have created conventional software systems that can allow a software application operating on an open systems computing platform, such as a computer system running the Unix operating system, to access non-open systems data such as data stored within a mainframe data set. An example of such a software system is the InfoMover software system developed by EMC Corporation of Hopkinton, Mass., USA.
InfoMover operates in conjunction with an open systems operating system such as Unix to service open-systems data access requests which attempt to access mainframe data stored in mainframe data sets. In order to properly obtain access to the data in the mainframe data set at the proper location, InfoMover receives an open systems data access request and starts performing a seek access operation at the beginning of the mainframe data set containing the requested data. During the seek access operation, the InfoMover system counts the number of bytes in each sequential record within the mainframe data set, beginning at the start of the first record in the data set, and continues counting bytes until the desired open systems offset is reached in the data within the data set. At that point, InfoMover can access the data according to the data access request in order to provide data from the mainframe data set to the requesting open systems software application. Various aspects of the InfoMover software system are discussed in the U.S. patent application Ser. No. 09/479,512, entitled “METHODS AND APPARATUS FOR ACCESSING SHARED DATA”, filed Jan. 07, 2000, which was incorporated by reference above.
SUMMARY OF THE INVENTION
Conventional techniques to allow open systems software applications to access non-open systems data, such as data stored in a mainframe data set, suffer from a variety of deficiencies. For example, a typical open systems data access request specifies an offset position within the data that is to be accessed that is relative from the beginning of the data and further specifies a length of data to be accessed (i.e., read, written, etc.) at the specified offset position. The open systems offset position has little relevance to a non-open systems record or block structure in which a typical mainframe data set is organized. As such, a conventional software application such as InfoMover that allows open systems applications to access data in a mainframe data set must process each open-systems data access request f
Alexander Jeffrey L.
Bober Paul M.
Liang Rui
Chapin & Huang LLC
Chapin, Esq. Barry W.
Choi Woo H.
EMC Corporation
Kim Matthew
LandOfFree
Methods and apparatus for accessing data using 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 Methods and apparatus for accessing data using a cache, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Methods and apparatus for accessing data using a cache will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3218265