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: 9734546
    Abstract: 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: Grant
    Filed: October 3, 2013
    Date of Patent: August 15, 2017
    Assignee: NVIDIA Corporation
    Inventors: Kirti Wankhede, Andrew Currid, Surath Raj Mitra, Chenghuan Jia
  • Publication number: 20170004808
    Abstract: 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: Application
    Filed: July 2, 2015
    Publication date: January 5, 2017
    Inventors: ANIKET AGASHE, SURATH RAJ MITRA
  • Patent number: 9158569
    Abstract: 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: Grant
    Filed: February 11, 2013
    Date of Patent: October 13, 2015
    Assignee: NVIDIA Corporation
    Inventors: Surath Raj Mitra, Neo Jia, Kirti Wankhede
  • Patent number: 9098556
    Abstract: 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: Grant
    Filed: October 31, 2013
    Date of Patent: August 4, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kutlay Topatan, Zhifeng Wang, Rudra Raj Mitra, Michal Mieczyslaw Malinowski, Weiye Zhang
  • Publication number: 20150097844
    Abstract: 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: Application
    Filed: October 3, 2013
    Publication date: April 9, 2015
    Applicant: NVIDIA Corporation
    Inventors: Kirti Wankhede, Andrew Currid, Surath Raj Mitra, Chenghuan Jia
  • Publication number: 20140373005
    Abstract: 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: Application
    Filed: June 12, 2013
    Publication date: December 18, 2014
    Applicant: NVIDIA Corporation
    Inventors: Ankit R. Agrawal, Bibhuti Bhusban Narayan Prusty, Surath Raj Mitra
  • Publication number: 20140229935
    Abstract: 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: Application
    Filed: February 11, 2013
    Publication date: August 14, 2014
    Applicant: NVIDIA Corporation
    Inventors: Surath Raj Mitra, Neo Jia, Kirti Wankhede
  • Publication number: 20140059045
    Abstract: 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: Application
    Filed: October 31, 2013
    Publication date: February 27, 2014
    Applicant: Microsoft Corporation
    Inventors: Kutlay Topatan, Zhifeng Wang, Rudra Raj Mitra, Michal Mieczyslaw Malinowski, Weiye Zhang
  • Patent number: 8589392
    Abstract: 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: Grant
    Filed: January 15, 2009
    Date of Patent: November 19, 2013
    Assignee: Microsoft Corporation
    Inventors: Kutlay Topatan, Zhifeng Wang, Rudra Raj Mitra, Michal Mieczyslaw Malinowski, Weiye Zhang
  • Patent number: 8166448
    Abstract: 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: Grant
    Filed: May 25, 2007
    Date of Patent: April 24, 2012
    Assignee: Microsoft Corporation
    Inventors: Rudra Raj Mitra, Paramesh Siddesha, Ken H. Thai
  • Publication number: 20100185650
    Abstract: 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: Application
    Filed: January 15, 2009
    Publication date: July 22, 2010
    Applicant: Microsoft Corporation
    Inventors: Kutlay Topatan, Zhifeng Wang, Rudra Raj Mitra, Michal Mieczyslaw Malinowski, Weiye Zhang
  • Publication number: 20080295064
    Abstract: 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: Application
    Filed: May 25, 2007
    Publication date: November 27, 2008
    Applicant: Microsoft Corporation
    Inventors: Rudra Raj Mitra, Paramesh Siddesha, Ken H. Thai
  • Publication number: 20060156145
    Abstract: 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: Application
    Filed: November 17, 2005
    Publication date: July 13, 2006
    Inventors: Raj Mitra, Praveen Tiwari, Manish Saluja