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: 20100161855
    Abstract: 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: Application
    Filed: March 4, 2010
    Publication date: June 24, 2010
    Applicant: Microsoft Corporation
    Inventors: Ahmed H. Mohamed, Anthony F. Voellm
  • Patent number: 7698361
    Abstract: 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: Grant
    Filed: December 31, 2003
    Date of Patent: April 13, 2010
    Assignee: Microsoft Corporation
    Inventors: Ahmed H. Mohamed, Anthony F. Voellm
  • Patent number: 7698115
    Abstract: 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: Grant
    Filed: June 30, 2003
    Date of Patent: April 13, 2010
    Assignee: Microsoft Corporation
    Inventors: Anthony F. Voellm, Ahmed H. Mohamed, David M. Kruse
  • Patent number: 7617256
    Abstract: 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: Grant
    Filed: September 30, 2004
    Date of Patent: November 10, 2009
    Assignee: Microsoft Corporation
    Inventors: Ahmed H. Mohamed, David Kruse, Thomas A. Langan
  • Patent number: 7600030
    Abstract: 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: Grant
    Filed: August 31, 2005
    Date of Patent: October 6, 2009
    Assignee: Microsoft Corporation
    Inventors: V. R. Kishore Chintalapati, Dave M. Kruse, Ahmed H. Mohamed, Andrew Sean Watson, Dustin G. Fresenhahn, Jay Paulus, Sundar Subbarayan, Sean McAteer
  • Patent number: 7506003
    Abstract: 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: Grant
    Filed: July 14, 2005
    Date of Patent: March 17, 2009
    Assignee: Microsoft Corporation
    Inventors: Christophe Franck Robert, Ahmed H. Mohamed, Guhan Suriyanarayanan, Sarosh Cyrus Havewala
  • Patent number: 7441011
    Abstract: 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: Grant
    Filed: October 23, 2003
    Date of Patent: October 21, 2008
    Assignee: Microsoft Corporation
    Inventors: Yun Lin, David C. Steere, Navjot Virk, Shishir P. Pardikar, Ahmed H. Mohamed
  • Patent number: 7233984
    Abstract: 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: Grant
    Filed: November 12, 2002
    Date of Patent: June 19, 2007
    Assignee: Microsoft Corporation
    Inventors: Ahmed H. Mohamed, Balan Sethu Raman
  • Patent number: 7100172
    Abstract: 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: Grant
    Filed: November 27, 2002
    Date of Patent: August 29, 2006
    Assignee: Microsoft Corporation
    Inventors: Anthony F. Voellm, Ahmed H. Mohamed
  • Publication number: 20040267932
    Abstract: 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: Application
    Filed: June 30, 2003
    Publication date: December 30, 2004
    Applicant: Microsoft Corporation
    Inventors: Anthony F. Voellm, Ahmed H. Mohamed, David M. Kruse
  • Publication number: 20040103417
    Abstract: 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: Application
    Filed: November 27, 2002
    Publication date: May 27, 2004
    Applicant: Microsoft Corporation
    Inventors: Anthony F. Voellm, Ahmed H. Mohamed
  • Publication number: 20040093389
    Abstract: 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: Application
    Filed: November 12, 2002
    Publication date: May 13, 2004
    Applicant: Microsoft Corporation
    Inventors: Ahmed H. Mohamed, Balan Sethu Raman
  • Patent number: 5899994
    Abstract: 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: Grant
    Filed: June 26, 1997
    Date of Patent: May 4, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Ahmed H. Mohamed, Adrian D. Caceres
  • Patent number: 5893121
    Abstract: 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: Grant
    Filed: April 23, 1997
    Date of Patent: April 6, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Zahir Ebrahim, Ahmed H. Mohamed
  • Patent number: 5848423
    Abstract: 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: Grant
    Filed: April 23, 1997
    Date of Patent: December 8, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Zahir Ebrahim, Ahmed H. Mohamed