Patents by Inventor Anthony F. Voellm
Anthony F. Voellm 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).
-
Patent number: 7962922Abstract: A native callback function is registered with a calling component in a native code environment, wherein registering the native callback function is initiated from a secure application area in a managed code environment. A callback is delivered from the native callback function into the secure application area.Type: GrantFiled: August 28, 2006Date of Patent: June 14, 2011Assignee: Microsoft CorporationInventor: Anthony F. Voellm
-
Patent number: 7840752Abstract: A database engine is provided with memory management policies to dynamically configure an area of memory called a buffer pool into which data pages are held during processing. The data pages are also buffered as an I/O (input/output) stream when read and written to a persistent storage medium, such as a hard disk, through use of a system file cache that is managed by the computer's operating system. The memory management policies implement capping the amount of memory used within the buffer pool to minimize the number of data pages that are double-buffered (i.e., held in both the buffer pool and system file cache). In addition, trimming data pages from the buffer pool, after the database engine completes all pending operations and requests, frees additional memory and further minimizes the number of processes associated with the database.Type: GrantFiled: October 30, 2006Date of Patent: November 23, 2010Assignee: Microsoft CorporationInventors: Norbert Hu, Sethu M. Kalavakur, Anthony F. Voellm
-
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: 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: 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: 7539722Abstract: A method and system for providing state-full access to files and resuming access should a connection be broken. A resume key is returned to the client that allows the client to request a duplicate handle to an open file. The duplicate handle can be used to access the file in the same manner as the handle used to open the file. When a connection is broken, the file remains open on the server for a period of time and the state information associated with the file is maintained. Even if a connection is not broken, a client may request one or more duplicate handles and establish other channels (also known as connections) with which to access the file.Type: GrantFiled: October 24, 2003Date of Patent: May 26, 2009Assignee: Microsoft CorporationInventors: Ahmed Hassan Mohamed, David M. Kruse, Anthony F. Voellm, Balan Sethu Raman
-
Publication number: 20080127301Abstract: A native callback function is registered with a calling component in a native code environment, wherein registering the native callback function is initiated from a secure application area in a managed code environment. A callback is delivered from the native callback function into the secure application area.Type: ApplicationFiled: August 28, 2006Publication date: May 29, 2008Applicant: Microsoft CorporationInventor: Anthony F. Voellm
-
Publication number: 20080104319Abstract: A database engine is provided with memory management policies to dynamically configure an area of memory called a buffer pool into which data pages are held during processing. The data pages are also buffered as an I/O (input/output) stream when read and written to a persistent storage medium, such as a hard disk, through use of a system file cache that is managed by the computer's operating system. The memory management policies implement capping the amount of memory used within the buffer pool to minimize the number of data pages that are double-buffered (i.e., held in both the buffer pool and system file cache). In addition, trimming data pages from the buffer pool, after the database engine completes all pending operations and requests, frees additional memory and further minimizes the number of processes associated with the database.Type: ApplicationFiled: October 30, 2006Publication date: May 1, 2008Applicant: Microsoft CorporationInventors: Norbert Y. Hu, Sethu M. Kalavakur, Anthony F. Voellm
-
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