Patents by Inventor Ahmed H. Mohamed
Ahmed H. Mohamed has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20100161855Abstract: 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.Type: ApplicationFiled: March 4, 2010Publication date: June 24, 2010Applicant: Microsoft CorporationInventors: Ahmed H. Mohamed, Anthony F. Voellm
-
Patent number: 7698361Abstract: 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.Type: GrantFiled: December 31, 2003Date of Patent: April 13, 2010Assignee: Microsoft CorporationInventors: Ahmed H. Mohamed, Anthony F. Voellm
-
Patent number: 7698115Abstract: 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.Type: GrantFiled: June 30, 2003Date of Patent: April 13, 2010Assignee: Microsoft CorporationInventors: Anthony F. Voellm, Ahmed H. Mohamed, David M. Kruse
-
Patent number: 7617256Abstract: 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.Type: GrantFiled: September 30, 2004Date of Patent: November 10, 2009Assignee: Microsoft CorporationInventors: Ahmed H. Mohamed, David Kruse, Thomas A. Langan
-
Patent number: 7600030Abstract: 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.Type: GrantFiled: August 31, 2005Date of Patent: October 6, 2009Assignee: Microsoft CorporationInventors: V. R. Kishore Chintalapati, Dave M. Kruse, Ahmed H. Mohamed, Andrew Sean Watson, Dustin G. Fresenhahn, Jay Paulus, Sundar Subbarayan, Sean McAteer
-
Patent number: 7506003Abstract: 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.Type: GrantFiled: July 14, 2005Date of Patent: March 17, 2009Assignee: Microsoft CorporationInventors: Christophe Franck Robert, Ahmed H. Mohamed, Guhan Suriyanarayanan, Sarosh Cyrus Havewala
-
Patent number: 7441011Abstract: 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.Type: GrantFiled: October 23, 2003Date of Patent: October 21, 2008Assignee: Microsoft CorporationInventors: Yun Lin, David C. Steere, Navjot Virk, Shishir P. Pardikar, Ahmed H. Mohamed
-
Patent number: 7233984Abstract: 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.Type: GrantFiled: November 12, 2002Date of Patent: June 19, 2007Assignee: Microsoft CorporationInventors: Ahmed H. Mohamed, Balan Sethu Raman
-
Patent number: 7100172Abstract: 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.Type: GrantFiled: November 27, 2002Date of Patent: August 29, 2006Assignee: Microsoft CorporationInventors: Anthony F. Voellm, Ahmed H. Mohamed
-
Publication number: 20040267932Abstract: 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.Type: ApplicationFiled: June 30, 2003Publication date: December 30, 2004Applicant: Microsoft CorporationInventors: Anthony F. Voellm, Ahmed H. Mohamed, David M. Kruse
-
Publication number: 20040103417Abstract: 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.Type: ApplicationFiled: November 27, 2002Publication date: May 27, 2004Applicant: Microsoft CorporationInventors: Anthony F. Voellm, Ahmed H. Mohamed
-
Publication number: 20040093389Abstract: 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.Type: ApplicationFiled: November 12, 2002Publication date: May 13, 2004Applicant: Microsoft CorporationInventors: Ahmed H. Mohamed, Balan Sethu Raman
-
Patent number: 5899994Abstract: A technique for managing address translation storage buffers (TSBs) supports multiple pools of different TSB sizes and dynamically assigns a process to its own TSB of the proper size as the needs of the process change. A process is assigned a small TSB and the system migrates the process to a larger TSB if needed. One method includes the steps of identifying sizes of TSBs to support, allocating a TSB pool in memory with these sizes, selecting an appropriately sized TSB for a process, and migrating that process to a larger size should the process require more memory. A second method allocates a TSB pool by determining an appropriate size for the TSB pool, determining sizes of TSBs to support, allocating memory for the pool and initializing status block for each size of TSB. A third method selects an appropriate TSB for a process by selecting a smallest supported size of a TSB from the pool.Type: GrantFiled: June 26, 1997Date of Patent: May 4, 1999Assignee: Sun Microsystems, Inc.Inventors: Ahmed H. Mohamed, Adrian D. Caceres
-
Patent number: 5893121Abstract: 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.Type: GrantFiled: April 23, 1997Date of Patent: April 6, 1999Assignee: Sun Microsystems, Inc.Inventors: Zahir Ebrahim, Ahmed H. Mohamed
-
Patent number: 5848423Abstract: In an object oriented computer system, a root set of object references includes object references stored in the computer system's registers, as well as object references stored in activation records in the program stack. Whenever a method is invoked, a corresponding activation record is stored on the program stack. The activation record includes the invocation address for the method called as well as parameters passed to the called method. A class loader, which loads object classes into memory, determines the locations of the object references in the activation records associated with each method in a loaded object class. A list of offset values for each method activation record is stored by the class loader in a hash table data structure at a location in the hash table data structure determined by hashing the unique invocation address assigned to the method.Type: GrantFiled: April 23, 1997Date of Patent: December 8, 1998Assignee: Sun Microsystems, Inc.Inventors: Zahir Ebrahim, Ahmed H. Mohamed