Patents by Inventor Raj Mitra
Raj Mitra 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: 9734546Abstract: A computer system includes an operating system having a kernel and configured to launch a plurality of computing processes. The system also includes a plurality of graphics processing units (GPUs), a front-end driver module, and a plurality of back-end driver modules. The GPUs are configured to execute instructions on behalf of the computing processes subject to a GPU service request. The front-end driver module is loaded into the kernel and configured to receive the GPU service request from one of the computing processes. Each back-end driver module is associated with one or more of the GPUs and configured to receive the GPU service request from the front-end driver module and pass the GPU service request to an associated GPU.Type: GrantFiled: October 3, 2013Date of Patent: August 15, 2017Assignee: NVIDIA CorporationInventors: Kirti Wankhede, Andrew Currid, Surath Raj Mitra, Chenghuan Jia
-
Publication number: 20170004808Abstract: A method for capturing information in a graphics processing unit (GPU) pass-through environment. The method includes installing a guest driver of a dedicated GPU within an assigned virtual machine. The GPU is assigned by a hypervisor configured for managing a plurality of virtual machines. The guest driver directly controls the GPU to render a plurality of frames. The method includes capturing a first frame stored in a frame buffer of the GPU. The method includes storing the first frame for later access, such as for management of the virtual machine by viewing a desktop captured in the first frame.Type: ApplicationFiled: July 2, 2015Publication date: January 5, 2017Inventors: ANIKET AGASHE, SURATH RAJ MITRA
-
Patent number: 9158569Abstract: A method includes loading a driver component on a hypervisor of a computing system including a Graphics Processing Unit (GPU) without hardware support for virtual interrupt delivery, and loading an instance of the driver component on each of a number of VMs consolidated on a computing platform of the computing system. The method also includes allocating a memory page associated with work completion by the each of the number of VMs thereto through a driver stack executing on the hypervisor, and sharing the memory page with the driver component executing on the hypervisor. Further, the method includes delivering, through the hypervisor, an interrupt from the GPU to an appropriate VM based on inspecting the memory page associated with the work completion by the each of the number of VMs.Type: GrantFiled: February 11, 2013Date of Patent: October 13, 2015Assignee: NVIDIA CorporationInventors: Surath Raj Mitra, Neo Jia, Kirti Wankhede
-
Patent number: 9098556Abstract: Tools and techniques for indexing and searching dynamically changing search corpora are provided. These tools may receive requests to upload documents over a network to an online document repository, and present a user interface to facilitate the upload. The user interface may include devices that are responsive to user activation to grant permission to at least one other user to search for content contained within the documents. Through the user interface, these tools may receive selections from the user related to granting the permission, with the documents being associated with share parameters that incorporate the user selections. Finally, the tools may receive identifications of the documents to be uploaded.Type: GrantFiled: October 31, 2013Date of Patent: August 4, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Kutlay Topatan, Zhifeng Wang, Rudra Raj Mitra, Michal Mieczyslaw Malinowski, Weiye Zhang
-
Publication number: 20150097844Abstract: A computer system includes an operating system having a kernel and configured to launch a plurality of computing processes. The system also includes a plurality of graphics processing units (GPUs), a front-end driver module, and a plurality of back-end driver modules. The GPUs are configured to execute instructions on behalf of the computing processes subject to a GPU service request. The front-end driver module is loaded into the kernel and configured to receive the GPU service request from one of the computing processes. Each back-end driver module is associated with one or more of the GPUs and configured to receive the GPU service request from the front-end driver module and pass the GPU service request to an associated GPU.Type: ApplicationFiled: October 3, 2013Publication date: April 9, 2015Applicant: NVIDIA CorporationInventors: Kirti Wankhede, Andrew Currid, Surath Raj Mitra, Chenghuan Jia
-
Publication number: 20140373005Abstract: A method includes executing a driver component on a hypervisor of a computing platform including a graphics processing unit (GPU) executing a number of engines thereon, and executing an instance of the driver component in each of a number of VMs consolidated on the computing platform. The method also includes defining, through the hypervisor, a data path between a VM and a subset of the engines of the GPU in a configuration register associated with the VM in accordance with a requirement of an application executing on the VM, and reading, through the instance of the driver component in the VM, an emulated version of the configuration register during loading thereof. Further, the method includes limiting one or more processing functionalities provided to the VM based on solely exposing the subset of the engines to the application in accordance with the data path definition in the configuration register.Type: ApplicationFiled: June 12, 2013Publication date: December 18, 2014Applicant: NVIDIA CorporationInventors: Ankit R. Agrawal, Bibhuti Bhusban Narayan Prusty, Surath Raj Mitra
-
Publication number: 20140229935Abstract: A method includes loading a driver component on a hypervisor of a computing system including a Graphics Processing Unit (GPU) without hardware support for virtual interrupt delivery, and loading an instance of the driver component on each of a number of VMs consolidated on a computing platform of the computing system. The method also includes allocating a memory page associated with work completion by the each of the number of VMs thereto through a driver stack executing on the hypervisor, and sharing the memory page with the driver component executing on the hypervisor. Further, the method includes delivering, through the hypervisor, an interrupt from the GPU to an appropriate VM based on inspecting the memory page associated with the work completion by the each of the number of VMs.Type: ApplicationFiled: February 11, 2013Publication date: August 14, 2014Applicant: NVIDIA CorporationInventors: Surath Raj Mitra, Neo Jia, Kirti Wankhede
-
Publication number: 20140059045Abstract: Tools and techniques for indexing and searching dynamically changing search corpora are provided. These tools may receive requests to upload documents over a network to an online document repository, and present a user interface to facilitate the upload. The user interface may include devices that are responsive to user activation to grant permission to at least one other user to search for content contained within the documents. Through the user interface, these tools may receive selections from the user related to granting the permission, with the documents being associated with share parameters that incorporate the user selections.Type: ApplicationFiled: October 31, 2013Publication date: February 27, 2014Applicant: Microsoft CorporationInventors: Kutlay Topatan, Zhifeng Wang, Rudra Raj Mitra, Michal Mieczyslaw Malinowski, Weiye Zhang
-
Patent number: 8589392Abstract: Tools and techniques for indexing and searching dynamically changing search corpora are provided. These tools may receive requests to upload documents over a network to an online document repository, and present a user interface to facilitate the upload. The user interface may include devices that are responsive to user activation to grant permission to at least one other user to search for content contained within the documents. Through the user interface, these tools may receive selections from the user related to granting the permission, with the documents being associated with share parameters that incorporate the user selections. Finally, the tools may receive identifications of the documents to be uploaded.Type: GrantFiled: January 15, 2009Date of Patent: November 19, 2013Assignee: Microsoft CorporationInventors: Kutlay Topatan, Zhifeng Wang, Rudra Raj Mitra, Michal Mieczyslaw Malinowski, Weiye Zhang
-
Patent number: 8166448Abstract: Development tools and a methodology for efficient development of distributed web services. A tool tracks changes in packages used to create images deployed for testing. Rather than build a complete image for each change, a current image may be created by substituting changed packages in a previously created image. Another tool allocates components of an image to a number of servers specified by a user of the tool. Such a tool simplifies integration testing of the web service by allowing a developer to initially test a web service on a single server or a small number of servers and then easily scale-up the test environment. The servers may be physical servers or may be virtual servers. Interface rules for packages that constitute the software for the web service are defined to reduce the likelihood of integration problems as the environment is scaled up.Type: GrantFiled: May 25, 2007Date of Patent: April 24, 2012Assignee: Microsoft CorporationInventors: Rudra Raj Mitra, Paramesh Siddesha, Ken H. Thai
-
Publication number: 20100185650Abstract: Tools and techniques for indexing and searching dynamically changing search corpora are provided. These tools may receive requests to upload documents over a network to an online document repository, and present a user interface to facilitate the upload. The user interface may include devices that are responsive to user activation to grant permission to at least one other user to search for content contained within the documents. Through the user interface, these tools may receive selections from the user related to granting the permission, with the documents being associated with share parameters that incorporate the user selections.Type: ApplicationFiled: January 15, 2009Publication date: July 22, 2010Applicant: Microsoft CorporationInventors: Kutlay Topatan, Zhifeng Wang, Rudra Raj Mitra, Michal Mieczyslaw Malinowski, Weiye Zhang
-
Publication number: 20080295064Abstract: Development tools and a methodology for efficient development of distributed web services. A tool tracks changes in packages used to create images deployed for testing. Rather than build a complete image for each change, a current image may be created by substituting changed packages in a previously created image. Another tool allocates components of an image to a number of servers specified by a user of the tool. Such a tool simplifies integration testing of the web service by allowing a developer to initially test a web service on a single server or a small number of servers and then easily scale-up the test environment. The servers may be physical servers or may be virtual servers. Interface rules for packages that constitute the software for the web service are defined to reduce the likelihood of integration problems as the environment is scaled up.Type: ApplicationFiled: May 25, 2007Publication date: November 27, 2008Applicant: Microsoft CorporationInventors: Rudra Raj Mitra, Paramesh Siddesha, Ken H. Thai
-
Publication number: 20060156145Abstract: This invention is a high-level language to specify electronic system design patterns for functional verification. This invention includes automatic translation of the high-level language specification into assertion code from these patterns and temporal properties for design verification. This eliminates the need to code extra RTL to handle features such as pipelines and bus priorities. Such common features are specified only in high-level patterns and temporal properties to be verified. This is advantageous because less verification code to be written, automated synthesis of assertions enforces monitor-style of writing assertions rather than generator-style, and the high-level code can be seamlessly migrated to another verification tool by producing another code generator for the new assertion language.Type: ApplicationFiled: November 17, 2005Publication date: July 13, 2006Inventors: Raj Mitra, Praveen Tiwari, Manish Saluja