Patents by Inventor Banit Agrawal

Banit Agrawal 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: 9292401
    Abstract: Systems and methods described herein facilitate determining desktop readiness using interactive measures. A host is in communication with a server and the host includes a virtual desktop and a virtual desktop agent. The virtual desktop agent is configured to perform one or more injecting events via one or more monitoring agents, wherein each of the injecting events is a simulated input device event. The desktop agent is further configured to receive, via a display module, a response to the injecting event(s), wherein the response is a display update causing pixel color values for the display module to alter. The desktop agent is also configured to identify, via the monitoring agent(s), whether the response to the injecting event(s) is an expected response. The desktop agent is also configured to determine, via the monitoring agent(s), a readiness of the virtual desktop based on the expected response.
    Type: Grant
    Filed: October 31, 2012
    Date of Patent: March 22, 2016
    Assignee: VMware, Inc.
    Inventors: Banit Agrawal, Lawrence Andrew Spracklen, Rishi Bidarkar
  • Publication number: 20160055017
    Abstract: Examples described herein enable memory state sharing among a plurality of virtual machines (VM) including a parent VM and a child VM. A request for memory state sharing between the parent VM and the child VM is received, and the parent VM is suspended. The child VM resumes execution of one or more suspended applications. In one example, the child FM is forked with pre-loaded, suspended applications from the parent VM. Aspects of the disclosure offer a high performance, resource efficient solution that outperforms traditional approaches in areas of software compatibility, stability, quality of service control, re-source utilization, and more.
    Type: Application
    Filed: February 5, 2015
    Publication date: February 25, 2016
    Inventors: Daniel James BEVERIDGE, Blake WATTS, Per Olov LARSSON, Banit AGRAWAL, Hui LI
  • Patent number: 9257092
    Abstract: The disclosure herein describes a client-side system that enhances user experience on a remoting client without consuming additional network bandwidth. During operation, the system receives a sequence of frame updates for a display screen, and determines a sequence of frames corresponding to the frame updates. The system further adaptively applies one or more image enhancing techniques to the sequence of frames based on available network bandwidth, frame refresh rate, or image quality. The image enhancement techniques include predicting a frame based on previously received frames, interpolating a frame based on at least two buffered frames, and reducing appearance of artifacts in a received frame, thereby reducing visual artifacts.
    Type: Grant
    Filed: February 12, 2013
    Date of Patent: February 9, 2016
    Assignee: VMware, Inc.
    Inventors: Lawrence A. Spracklen, Banit Agrawal, Rishi Bidarkar
  • Publication number: 20150370589
    Abstract: Exemplary methods, apparatuses, and systems receive a first instruction set from a first virtual machine (VM), the first instruction set including a request to perform an operation on an input. A first identifier is generated based upon the operation and the input. The first identifier is mapped to a stored copy of the input, the operation, and an output resulting from a processor performing the operation. In response to receiving a second instruction set from a second VM, a second identifier is generated based upon the input and operation received within the second instruction set. In response to determining that the second identifier matches the stored first identifier, it is further determined that the input and operation of the first instruction set matches the input and operation of the second instruction set. A copy of the stored output is returned to the second VM.
    Type: Application
    Filed: June 19, 2014
    Publication date: December 24, 2015
    Inventors: Rishi BIDARKAR, Hari SIVARAMAN, Banit AGRAWAL
  • Publication number: 20150365498
    Abstract: Methods, systems, and computer programs for user experiencing monitoring for application remoting. One of the methods includes receiving a request to provide an application to a remote client. The application is executed to generate one or more application windows. A watermark window that includes a watermark is generated. Display data for the application is, generated, including the watermark window and the one or more application windows. The display data for the application is provided to the remote client for presentation on the remote client. Data identifying an operation to be performed by the application is obtained. The watermark is updated to encode information identifying the operation and information identifying an initialization of the operation by the application. Data identifying a completion of the operation is received by the application. The watermark is updated to encode information identifying the completion of the operation.
    Type: Application
    Filed: June 17, 2014
    Publication date: December 17, 2015
    Inventors: Banit Agrawal, Rishi Bidarkar
  • Patent number: 9214004
    Abstract: A method for measuring performance of virtual desktop services offered by a server including a processor is described. A first encoded watermark is embedded into user interface display generated by a virtual desktop when initiating an operation. The first encoded watermark includes pixels identifying the operation and indicating its initiation. A second encoded watermark is embedded into the user interface upon completion of the operation indicating completion of the operation. An action performance time is then computed and stored in a memory. Multiple performance times may be compiled from multiple operations of multiple virtual desktops to assess the performance of the system as a whole.
    Type: Grant
    Filed: October 13, 2011
    Date of Patent: December 15, 2015
    Assignee: VMware, Inc.
    Inventors: Banit Agrawal, Rishi N. Bidarkar, Sunil Satnur, Vikram Makhija
  • Patent number: 9201755
    Abstract: In one embodiment, a server system receives, from a client device configured to remotely access a desktop hosted by the server system, user input directed to the desktop. The server system further identifies a desktop operation to be performed in response to the user input, where the identifying is performed without relying on preconfigured information that indicates what the desktop operation should be, determines when the desktop operation has completed, and adds, upon completion of the desktop operation, one or more markers to the desktop. The server system then transmits an image of the desktop that includes the one or more markers to the client device, thereby signaling the completion of the desktop operation to the client device.
    Type: Grant
    Filed: February 14, 2013
    Date of Patent: December 1, 2015
    Assignee: VMware, Inc.
    Inventors: Rishi Bidarkar, Lawrence Spracklen, Banit Agrawal, Vikram Makhija
  • Patent number: 9081536
    Abstract: In one embodiment, a method displays images from a remote desktop of a desktop GUI on a client device. The method receives a plurality of image blocks for a frame update of an image of the desktop GUI being displayed on the client device. The remote desktop is being run on a host. The client device determines that one or more missing image blocks have not been received for the frame update and determines if the frame update should be performed without the one or more missing image blocks. If the frame update of the desktop GUI should be performed without the one or more missing image blocks, the client device performs the frame update of the desktop GUI using the plurality of image blocks without using the one or more missing image blocks.
    Type: Grant
    Filed: October 13, 2014
    Date of Patent: July 14, 2015
    Assignee: VMware, Inc.
    Inventors: Lawrence Spracklen, Banit Agrawal, Rishi Bidarkar
  • Publication number: 20150181207
    Abstract: Methods, systems, and computer programs are provided for managing remote display performance. One method includes an operation for determining pixel data for a group of macroblocks, each macroblock having a group of pixels. The macroblocks are for embedding in respective video frames of a video stream. The pixel data for each pixel in each macroblock is calculated with a formula based on the frame number of the respective video frame and on the location of the pixel within the macroblock. Farther, the method includes operations for embedding the macroblocks in the respective video frames, and for transmitting the video frames with the embedded macroblocks to a remote client. A performance metric for the transmitted video stream is calculated based on the macroblocks received at the remote client by comparing the received macroblocks to the expected macroblocks based on the formula.
    Type: Application
    Filed: December 20, 2013
    Publication date: June 25, 2015
    Applicant: VMware, Inc.
    Inventors: Banit Agrawal, Lawrence Spracklen, Rishi Bidarkar
  • Publication number: 20150180933
    Abstract: One method for managing remote display performance includes operations for embedding pixel data in a file of an application executing on a server, and detecting an open window of a graphical user interface (GUI) associated with the application. The pixel data is used to create a pixel strip in the window, while the GUI is being displayed on a remote display of a remote client. Update information for the GUI being displayed on the remote display is transmitted from the server to the remote client, the update information corresponding to the change in the presentation of the open window on the server. Further, a change in a presentation of the open window is detected, and a pixel strip received at the remote display is identified. A performance metric for the remote display is calculated based on the received pixel strip when compared to the expected values for the pixel strip.
    Type: Application
    Filed: December 20, 2013
    Publication date: June 25, 2015
    Applicant: VMWARE, INC.
    Inventors: Lawrence Spracklen, Banit Agrawal, Rishi Bidarkar
  • Publication number: 20150127716
    Abstract: Methods, systems, and computer programs are provided for managing remote display performance. One method includes operations for receiving notifications of events identified by an operating system, and for receiving notifications of display updates destined to a remote display coupled to a remote client. The method includes an operation for correlating events and display updates to determine the transmittal priority for the updates, where the priority is associated with a criticality for presenting the display updates on the remote display. Further, a subset of the display updates are identified as unnecessary for transmission to the remote client based, at least in part, on the priority of the display updates. Additionally, the method includes an operation for performing at least one of: discarding the subset; consolidating the subset into a single display update for transmittal to the remote client; or limiting the frequency of transmission of the subset to the remote client.
    Type: Application
    Filed: November 4, 2013
    Publication date: May 7, 2015
    Applicant: VMware, Inc.
    Inventors: Banit Agrawal, Lawrence Spracklen, Rishi Bidarkar, Warren Ponder
  • Publication number: 20150084979
    Abstract: This disclosure describes a performance-monitoring system that computes a display performance metric of a remote application. During operation, the system performs a sequence of input events, and receives information which updates a graphical user interface (GUI). The GUI displays a sequence of frames rendered by a remote application in response to the input events. The system then samples colors at a number of pivot points on the GUI, and matches the a respective frame to a previously performed input event based on the sampled colors. The system subsequently computes a display performance metric for the remote application based on the frames and the corresponding input events.
    Type: Application
    Filed: December 2, 2014
    Publication date: March 26, 2015
    Applicant: VMWARE, INC.
    Inventors: Rishi BIDARKAR, Banit AGRAWAL, Lawrence Andrew SPRACKLEN, Hari SIVARAMAN
  • Publication number: 20150035724
    Abstract: In one embodiment, a method displays images from a remote desktop of a desktop GUI on a client device. The method receives a plurality of image blocks for a frame update of an image of the desktop GUI being displayed on the client device. The remote desktop is being run on a host. The client device determines that one or more missing image blocks have not been received for the frame update and determines if the frame update should be performed without the one or more missing image blocks. If the frame update of the desktop GUI should be performed without the one or more missing image blocks, the client device performs the frame update of the desktop GUI using the plurality of image blocks without using the one or more missing image blocks.
    Type: Application
    Filed: October 13, 2014
    Publication date: February 5, 2015
    Inventors: Lawrence Spracklen, Banit Agrawal, Rishi Bidarkar
  • Patent number: 8910228
    Abstract: Methods, systems, and computer programs are provided for measuring the performance of a remote display. One method includes an operation for embedding in display frames a respective frame identifier and a respective frame picture. The respective frame picture is placed in a respective region that depends of the value of the respective frame identifier. Additionally, the method includes operations for sending the plurality of display frames to a remote client, and for extracting each received frame picture from the respective region of each received display frame at the remote client based on the received frame identifier. The received frame quality is calculated for each received display frame based on the comparison of the extracted received frame picture with the respective frame picture. Further, the method includes an operation for calculating a remote display quality for the remote client based on the calculated received frame quality for the received display frames.
    Type: Grant
    Filed: April 26, 2013
    Date of Patent: December 9, 2014
    Assignee: VMware, Inc.
    Inventors: Banit Agrawal, Rishi Bidarkar, Uday Kurkure, Tariq Magdon-Ismail, Hari Sivaraman, Lawrence Spracklen
  • Patent number: 8902248
    Abstract: This disclosure describes a performance-monitoring system that computes a display performance metric of a remote application. During operation, the system performs a sequence of input events, and receives information which updates a graphical user interface (GUI). The GUI displays a sequence of frames rendered by a remote application in response to the input events. The system then samples colors at a number of pivot points on the GUI, and matches the a respective frame to a previously performed input event based on the sampled colors. The system subsequently computes a display performance metric for the remote application based on the frames and the corresponding input events.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: December 2, 2014
    Assignee: VMware, Inc.
    Inventors: Rishi Bidarkar, Banit Agrawal, Lawrence Andrew Spracklen, Hari Sivaraman
  • Publication number: 20140325372
    Abstract: In one embodiment a method for storing a remote desktop GUI image block in a cache including a plurality of persistence levels is described. The method is comprised of maintaining each persistence level in the plurality of persistence levels; identifying an event associated with an update to the remote desktop GUI; determining a context for the event; selecting one of the persistence levels for the event based on the context; and storing an image block corresponding to the update in the selected one of the persistence levels.
    Type: Application
    Filed: April 29, 2013
    Publication date: October 30, 2014
    Applicant: VMware, Inc.
    Inventors: Lawrence Spracklen, Banit Agrawal, Rishi Bidarkar
  • Publication number: 20140320673
    Abstract: Methods, systems, and computer programs are provided for measuring the performance of a remote display. One method includes an operation for embedding in display frames a respective frame identifier and a respective frame picture. The respective frame picture is placed in a respective region that depends of the value of the respective frame identifier. Additionally, the method includes operations for sending the plurality of display frames to a remote client, and for extracting each received frame picture from the respective region of each received display frame at the remote client based on the received frame identifier. The received frame quality is calculated for each received display frame based on the comparison of the extracted received frame picture with the respective frame picture. Further, the method includes an operation for calculating a remote display quality for the remote client based on the calculated received frame quality for the received display frames.
    Type: Application
    Filed: April 26, 2013
    Publication date: October 30, 2014
    Applicant: VMware, Inc.
    Inventors: Banit Agrawal, Rishi Bidarkar, Uday Kurkure, Tariq Magdon-Ismail, Hari Sivaraman, Lawrence Spracklen
  • Publication number: 20140325054
    Abstract: Methods, systems, and computer programs are provided for measuring the performance of display images received on a remote computer display. One method includes an operation for detecting calls from an application to an application programming interface (API), which is provided for rendering images on a display image, each call causing an update of the display image. Further, the method includes an operation for embedding data for measuring performance in display frames of the display image based on the detecting. The embedding results in modified displayed frames with respective data for measuring performance. The modified displayed frames are transmitted to a remote client, which results in received modified display frames having respective received data for measuring the performance. In addition, the method includes an operation for calculating the remote display quality for the given application based on the received modified display frames and the respective received data for measuring performance.
    Type: Application
    Filed: April 26, 2013
    Publication date: October 30, 2014
    Applicant: VMware, Inc.
    Inventors: Banit Agrawal, Rishi Bidarkar, Uday Kurkure, Tariq Magdon-Ismail, Hari Sivaraman, Lawrence Spracklen
  • Patent number: 8862695
    Abstract: In one embodiment, a method displays images from a remote desktop of a desktop GUI on a client device. The method receives a plurality of image blocks for a frame update of an image of the desktop GUI being displayed on the client device. The remote desktop is being run on a host. The client device determines that one or more missing image blocks have not been received for the frame update and determines if the frame update should be performed without the one or more missing image blocks. If the frame update of the desktop GUI should be performed without the one or more missing image blocks, the client device performs the frame update of the desktop GUI using the plurality of image blocks without using the one or more missing image blocks.
    Type: Grant
    Filed: October 29, 2012
    Date of Patent: October 14, 2014
    Assignee: VMware, Inc.
    Inventors: Lawrence Spracklen, Banit Agrawal, Rishi Bidarkar
  • Publication number: 20140258872
    Abstract: In one embodiment, a client device configured to remotely access a desktop hosted by a server system determines an event related to a user input for a desktop operation directed to the desktop. The client device receives a plurality of updates to a desktop graphical user interface (GUI) from the desktop hosted by the server system. Then, the client device correlates the event to an update in the plurality of updates to the desktop GUI based on a rule in a set of rules correlating events to updates. A metric is monitored for the update and information measured for the metric is stored.
    Type: Application
    Filed: March 6, 2013
    Publication date: September 11, 2014
    Applicant: VMWARE, INC.
    Inventors: Lawrence Spracklen, Banit Agrawal, Rishi Bidarkar, Vikram Makhija