Electrical computers and digital processing systems: multicomput – Multicomputer data transferring via shared memory – Accessing another computer's memory
Reexamination Certificate
1998-07-17
2003-02-04
Coulter, Kenneth R. (Department: 2154)
Electrical computers and digital processing systems: multicomput
Multicomputer data transferring via shared memory
Accessing another computer's memory
C709S213000, C711S002000, C711S147000
Reexamination Certificate
active
06516342
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to memory management in computer systems. More particularly, it relates to a method and apparatus for extending the main memory of a computer system across network boundaries.
2. Prior Art
Traditional computer systems extend main memory through the use of paging to mass storage devices, such as, for example, hard disks. Paging is the use of virtual memory assignments to physical memory addresses to allow swapping of pages between physical memory and mass storage (i.e., mechanical disk drives) as necessary for execution of a given program. The use of virtual memory is pervasive in the industry and is common knowledge. Paging to mechanical disk drives decreases efficiency and speed as a result of the mechanical limitations of the drive.
The method and system for storing data in and retrieving data from a non-main storage virtual data space disclosed in U.S. Pat. No. 5,159,667 describes a data space that is backed by an expanded and auxiliary storage. This creates issues of correctness when the main store is modified. In addition, mechanisms to provide updates to the auxiliary store are described in detail.
U.S. Pat. No. 5,237,668 discloses a process of using virtual addressing in a non-privileged instruction to control the copying of a page of data in or between multiple media. The process describes the mechanisms a user may utilize to obtain a copy of a page of data from any media in an extended memory environment.
The method and system for performing virtual address range mapping in a virtual storage data processing system disclosed in U.S. Pat. No. 5,095,420 provides a method to map a main memory space to a non-main store data space through windowing overlays.
The computer system high speed link method and means disclosed in U.S. Pat. No. 5,218,677, describes a high speed data line for storage access. The link provides communications between a computer system and storage arrays. Communication is initiated with Page-in and Page-out commands.
U.S. Pat. No. 4,843,541 discloses a logical resource partitioning data processing system that describes a method of re-partitioning resources of a data processing system into logical partitions. Multiple operating systems can manage each logical partition.
A stand alone virtual memory manager for the PowerPC processor has been written and is described in “
VMMR: Virtual Memory MTU Reassembly
” by L. Womak, A Mendlson and R. Mraz; MASCOTS '97 conference 1/97.
Emerging technology, such as network computers, have created memory constrained devices that have a fixed amount of physical memory for execution. These execution environments rely on JAVA which controls the use of memory through object creation and collection in a fixed memory space.
SUMMARY OF THE INVENTION
The present invention provides a method and apparatus for allowing the fixed memory space of a network connected computer (e.g., client) to extend across commodity network boundaries through swapping of pages in virtual memory. The device for performing this service is termed a Memory Server. Data (e.g., file or memory data) is paged into an extended memory area for efficient retrieval and access by clients (hereinafter interchangeably referred to as network connected computers) requesting the data. As such, the prior art mechanical limitations of using a mechanical mass storage device for paging in and paging out data are eliminated and the efficiency is increased.
The method for extending the local memory of a network connected computer according to a first embodiment of the present invention identifies an insufficiency in the local memory of the network connected computer for executing an application. Once an insufficiency is identified, data is transferred (paged) from the local memory to a memory server. The data (e.g., file or memory data) is then transferred from another network connected computer (e.g., a network server or other peer in a peer-to-peer configuration) to the local memory of the network connected computer system, and the location of the data transferred from the other network connected computer (i.e., the network server or other peer) is re-mapped to a virtual location in the network connected computer. The network connected computer system can then continue with the program execution.
The memory server can be a memory area specifically allocated on a network server, a network connected computer, or in one peer computer in a peer-to-peer network configuration. In other embodiments, the memory server can be a remotely located dedicated computer connected to the computer network. In a further embodiment, the memory server is mirrored to provide additional reliability to the network clients.
The communication protocol for communication between the memory server, network server and network connected computers can be any reliable communication protocol that is capable of quick connects and disconnects, and request provided as options, such as, for example, as within RTSP Specification RFC 2326. Any open standard communication or a custom developed communication protocol could be used for memory server communication. The data transfer between the servers and network connected computers can be transmitted using TCP/IP.
The apparatus according to an embodiment of the invention comprises a memory server in communication with a computer network for providing additional memory to a network connected computer system (e.g., client) when it's local memory is insufficient for a particular application. The communication protocol between the network connected computer, network server, and memory server enable reliable communication for extending the memory of the network connected computer across network boundaries. With this ability, the network connected computers have an intermediate level of storage between main memory and mechanical disk drives. As such, applications that are memory bound (rather than computation bound) and could not be executed in a memory constrained environment such as the network client
10
of
FIG. 1
, can now be executed by paging to a memory server. As mentioned previously, this paging can be analogized to the paging to a standard mechanical device in a traditional system.
REFERENCES:
patent: 4240143 (1980-12-01), Besemer et al.
patent: 4253146 (1981-02-01), Bellamy et al.
patent: 4843541 (1989-06-01), Bean et al.
patent: 5095420 (1992-03-01), Eilert et al.
patent: 5159667 (1992-10-01), Borrey et al.
patent: 5218677 (1993-06-01), Bono et al.
patent: 5237668 (1993-08-01), Blandy et al.
patent: 5442802 (1995-08-01), Brent et al.
patent: 5592625 (1997-01-01), Sandberg
patent: 5918249 (1999-06-01), Cox et al.
patent: 6026474 (2000-02-01), Carter et al.
patent: 6044438 (2000-03-01), Olnowich
patent: 6148377 (2000-11-01), Carter et al.
patent: 6185655 (2001-02-01), Peping
patent: 6298419 (2001-10-01), Kontothanassis et al.
Womack, Lucas, et al.,A Study of Virtual Memory MTU Reassembly within the PowerPC Architecture, IEEE, pp. 81-90 (1997).
Feldman Stuart
Marz Ronald
McNiven Geoffrey D.
Venuto James
Coulter Kenneth R.
F. Chau & Associates LLP
LandOfFree
Method and apparatus for extending memory using a memory server does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for extending memory using a memory server, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for extending memory using a memory server will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3166928