摘要:
An improved remote protocol enables efficient and reliable updating of files on a remote server. A gather-copy extension to a remote protocol enables a client to instruct a server to gather portions of data from an existing source file on the server and to copy those portions of data to appropriate offsets within a new destination file on the server. The gather-copy extension thus enables the client to leave blank locations in the destination file into which the client can write new data during a file update. The gather-copy extension also enables the client to effectively delete portions of the source file by not copying them from the source file to the destination file. File updates can therefore be made without having to transfer the entire file from the client to the server.
摘要:
To reconstitute a ghosted file for use, a single ghosting filter on a computing device locates ghosting information in the metadata of the ghosted file and locates within the ghosting information an identification of a particular ghosting manager of the computing device, where the identified ghosting manager is responsible for the ghosted file. Thereafter, the ghosting filter communicates to the identified ghosting manager a request to obtain data of the ghosted file from a corresponding alternate location, and the identified ghosting manager does in fact obtain such requested data from such alternate location. Upon receiving the requested data of the ghosted file from the identified ghosting manager, then, the ghosting filter reconstitutes the received data to the ghosted file. The single ghosting filter is generic to all of the ghosting managers of the computing device.
摘要:
A system and method for altering the operation of a computer application while avoiding recompiling the computer application or modifying the kernel associated with the operating system of a computing device. A computer application is launched in a suspended mode. An asynchronous procedure call (APC) is used to load an additional dynamic link library (DLL) to be associated with the computer application. The additional DLL includes routines that operate differently than routines originally associated with the computer application through an initial DLL. The references to the routines within the computer application are redirected to the routines of the additional (DLL). The operation of the computer application is therefore changed while avoiding rewriting the application or changing the operating system.
摘要:
A method and system for offloading I/O processing from a first computer to a second computer, using RDMA-capable network interconnects, are disclosed. The method and system include a client on the first computer communicating over an RDMA connection to a server on the second computer by way of a lightweight input/output (LWIO) protocol. The protocol generally comprises a network discovery phase followed by an I/O processing phase. During the discovery phase, the client and server determine a minimal list of shared RDMA-capable providers. During the I/O processing phase, the client posts I/O requests for offloading to the second machine over a mutually-authenticated RDMA channel. The I/O model is asymmetric, with read operations being implemented using RDMA and write operations being implemented using normal sends. Read and write requests may be completed in polling mode and in interrupt mode. Buffers are managed by way of a credit mechanism.
摘要:
A method and system for offloading I/O processing from a first computer to a second computer, using RDMA-capable network interconnects, are disclosed. The method and system include a client on the first computer communicating over an RDMA connection to a server on the second computer by way of a lightweight input/output (LWIO) protocol. The protocol generally comprises a network discovery phase followed by an I/O processing phase. During the discovery phase, the client and server determine a minimal list of shared RDMA-capable providers. During the I/O processing phase, the client posts I/O requests for offloading to the second machine over a mutually-authenticated RDMA channel. The I/O model is asymmetric, with read operations being implemented using RDMA and write operations being implemented using normal sends. Read and write requests may be completed in polling mode and in interrupt mode. Buffers are managed by way of a credit mechanism.
摘要:
Conventions for extending compounded web authoring methods to a web authoring protocol such as WebDAV. More particularly, a request can be provided with special header information to signify a method compounded with a method indicated by a verb in the request. Techniques for clients and servers to use the web authoring extensions. Extended error handling to allow servers to provider richer web authoring error information to clients.
摘要:
An effective I/O protocol for taking advantage of system area network functionality, whether or not a particular application is written to do so, is provided. Transparently to the application, the I/O protocol routes application I/O commands via legacy transmission protocols or via remote direct memory access protocols as appropriate. When communicating via remote direct memory access protocols, the I/O protocol can take advantage of multiple data exchange commands implemented by these protocols to perform the required data exchange. Once an I/O operation has completed, the I/O protocol passes a completion notification to the application using a polling or interrupt construct.
摘要:
A computer system has a CPU, a stack cache and a main memory. The main memory is a conventional untagged memory, where each memory location is a word having a bit size that is an integer power of 2 (e.g., 32, 64 or 128 bits per word). However, at least one stack cache associated with the CPU (and preferably integrated with the CPU on the same semiconductor circuit or in the same chip set) is a tagged memory where each data word of the stack cache has an associated tag. Whenever the stack cache overflows with data, at least a portion of the contents of the stack cache are stored in a previously established location in main memory so as to make room for storing additional data in the stack cache. In this stack cache swap out operation, the data values and tags in N evaluation stack entries of the evaluation stack cache are copied to the previously established main memory location. The N tags in the N copied evaluation stack entries are stored into a first predefined portion of the previously established main memory location, and the N data values in the N copied evaluation stack entries are stored into a second predefined portion of the previously established main memory location. During a cache fill operation, the N tags and data values of a stack block are copied from their respective main memory positions into the tag and data portions of a stack cache block.
摘要:
Described is a mechanism for dynamically allocating receive buffers on a server to a plurality of clients in a network environment. The server maintains a list of the number of transaction credits in use by each client, the number of transaction credits allocated to each client, and the number of pending transaction requests that are not being handled due to a limitation on the number of allocated transaction credits. The transaction credits correspond to the receive buffers. In a resource constrained situation, the server computes an equitable distribution of the available credits and reallocates the available credits based on that equitable distribution.
摘要:
The present invention provides a novel client side caching (CSC) infrastructure that supports transition states at the directory level to facilitate a seamless operation across connectivity states between client and remote server. More specifically, persistent caching is performed to safeguard the user (e.g., client) and/or the client applications across connectivity interruptions and/or bandwidth changes. This is accomplished in part by caching to a client data store the desirable file(s) together with the appropriate file access parameters. Moreover, the client maintains access to cached files during periods of disconnect. Furthermore, portions of a path can be offline while other portions upstream can remain online. CSC operates on the logical path which cooperates with DFS which operates on the physical path to keep track of files cached, accessed and changes in the directories. In addition, truth on the client is facilitated whether or not a conflict of file copies exists.