Patents by Inventor Julian Petrov

Julian Petrov 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: 11895184
    Abstract: Methods, systems, and computer-readable media for peer to peer discovery of remote applications are presented. A client device may discover available remote peers and remotely access applications hosted thereon. The client device may send a discovery message over a network and locate one or more peer devices with available remote access. The peer device may respond with a list including applications installed and currently executing application instances that the client device may remotely access. The peer device may dynamically generate the list based on analyzing applications installed on the peer device and application instances executing on the peer device. The client device may initiate remote access of a selected application hosted on the peer device. The peer device may execute the selected application in a remote mode by hooking input and output interfaces associated with the application, and the application may be executed in a shadow desktop environment.
    Type: Grant
    Filed: March 14, 2022
    Date of Patent: February 6, 2024
    Inventors: Jacob Summers, Rakesh Kumar, Julian Petrov
  • Publication number: 20220210223
    Abstract: Methods, systems, and computer-readable media for peer to peer discovery of remote applications are presented. A client device may discover available remote peers and remotely access applications hosted thereon. The client device may send a discovery message over a network and locate one or more peer devices with available remote access. The peer device may respond with a list including applications installed and currently executing application instances that the client device may remotely access. The peer device may dynamically generate the list based on analyzing applications installed on the peer device and application instances executing on the peer device. The client device may initiate remote access of a selected application hosted on the peer device. The peer device may execute the selected application in a remote mode by hooking input and output interfaces associated with the application, and the application may be executed in a shadow desktop environment.
    Type: Application
    Filed: March 14, 2022
    Publication date: June 30, 2022
    Inventors: Jacob Summers, Rakesh Kumar, Julian Petrov
  • Patent number: 11310312
    Abstract: Methods, systems, and computer-readable media for peer to peer discovery of remote applications are presented. A client device may discover available remote peers and remotely access applications hosted thereon. The client device may send a discovery message over a network and locate one or more peer devices with available remote access. The peer device may respond with a list including applications installed and currently executing application instances that the client device may remotely access. The peer device may dynamically generate the list based on analyzing applications installed on the peer device and application instances executing on the peer device. The client device may initiate remote access of a selected application hosted on the peer device. The peer device may execute the selected application in a remote mode by hooking input and output interfaces associated with the application, and the application may be executed in a shadow desktop environment.
    Type: Grant
    Filed: July 7, 2014
    Date of Patent: April 19, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Jacob Summers, Rakesh Kumar, Julian Petrov
  • Patent number: 11283866
    Abstract: Methods, systems, and computer-readable media for providing remote access to applications executing on a host device are presented. Aspects described herein may enable a host device to provide remote access to applications executing in a user session by hooking one or more APIs (or other interfaces) associated with an application instance and a window composition module. Dynamically assigned ports may be generated and used to allow a client device to provide remote user input to an application instance operating in a remote access mode. One or more APIs associated with the application instance may be hooked to provide the remote user input to an input queue of the application instance, bypassing an operating system input queue in some embodiments. APIs associated with the application instance and the window composition module may be hooked to allow the host device to recognize window textures generated by the application instance. These recognized window textures may be sent to the remote client device.
    Type: Grant
    Filed: July 7, 2014
    Date of Patent: March 22, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Rakesh Kumar, Julian Petrov, Jacob Summers
  • Patent number: 10114600
    Abstract: A server provides adaptive displaying on a plurality of display devices in a virtualization environment. The server includes a communication device to receive capabilities data associated with a plurality of graphics processing units (GPUs) of a client device, and a display driver to generate a plurality of display adapters based on the capabilities data. The communication device provides command data to the client device based on the plurality of display adapters. The command data is adapted to the capabilities of one or more of the plurality of GPUs.
    Type: Grant
    Filed: December 5, 2017
    Date of Patent: October 30, 2018
    Assignee: Citrix Systems, Inc.
    Inventor: Julian Petrov
  • Publication number: 20180095710
    Abstract: A server provides adaptive displaying on a plurality of display devices in a virtualization environment. The server includes a communication device to receive capabilities data associated with a plurality of graphics processing units (GPUs) of a client device, and a display driver to generate a plurality of display adapters based on the capabilities data. The communication device provides command data to the client device based on the plurality of display adapters. The command data is adapted to the capabilities of one or more of the plurality of GPUs.
    Type: Application
    Filed: December 5, 2017
    Publication date: April 5, 2018
    Inventor: Julian Petrov
  • Patent number: 9870192
    Abstract: A server is provided for providing adaptive displaying on a plurality of display devices in a virtualization environment. The server includes a communication device configured to receive capabilities data associated with a plurality of graphics processing units (GPUs) of a client device. The plurality of GPUs include at least one GPU that has at least one different capability from the other GPUs. The server also includes a display driver configured to generate a plurality of display adapters based on the capabilities data. Each of the display adapters corresponds to one of the plurality of GPUs. The server further includes a window compositor configured to generate command data using the plurality of display adapters. The communication device is further configured to provide the command data to the client device. The command data are adapted to the capabilities of one or more of the plurality of GPUs.
    Type: Grant
    Filed: February 19, 2015
    Date of Patent: January 16, 2018
    Assignee: Citrix Systems, Inc.
    Inventor: Julian Petrov
  • Publication number: 20160246560
    Abstract: A server is provided for providing adaptive displaying on a plurality of display devices in a virtualization environment. The server includes a communication device configured to receive capabilities data associated with a plurality of graphics processing units (GPUs) of a client device. The plurality of GPUs include at least one GPU that has at least one different capability from the other GPUs. The server also includes a display driver configured to generate a plurality of display adapters based on the capabilities data. Each of the display adapters corresponds to one of the plurality of GPUs. The server further includes a window compositor configured to generate command data using the plurality of display adapters. The communication device is further configured to provide the command data to the client device. The command data are adapted to the capabilities of one or more of the plurality of GPUs.
    Type: Application
    Filed: February 19, 2015
    Publication date: August 25, 2016
    Inventor: Julian PETROV
  • Publication number: 20160006800
    Abstract: Methods, systems, and computer-readable media for peer to peer discovery of remote applications are presented. A client device may discover available remote peers and remotely access applications hosted thereon. The client device may send a discovery message over a network and locate one or more peer devices with available remote access. The peer device may respond with a list including applications installed and currently executing application instances that the client device may remotely access. The peer device may dynamically generate the list based on analyzing applications installed on the peer device and application instances executing on the peer device. The client device may initiate remote access of a selected application hosted on the peer device. The peer device may execute the selected application in a remote mode by hooking input and output interfaces associated with the application, and the application may be executed in a shadow desktop environment.
    Type: Application
    Filed: July 7, 2014
    Publication date: January 7, 2016
    Inventors: Jacob Summers, Rakesh Kumar, Julian Petrov
  • Patent number: 9146762
    Abstract: A computing system includes a graphics processing unit (GPU) and main processing circuitry to execute computer program instructions forming a hypervisor, a control virtual machine (VM) and a specialized rendering VM for graphics processing. An application program of a guest VM generates graphics commands and data according to a graphics API such as Direct 3D. The rendering VM includes a graphics driver native to the GPU and is assigned pass-through access to the GPU by the control VM. The rendering VM receives the graphics information from the application program via an inter-VM communication channel, and it uses the graphics driver to control the GPU to perform graphics rendering. The use of the rendering VM enables native graphics performance to be achieved without constraining the control VM to use a compatible operating system. The technique is generally applicable to virtualization of hardware resources by specialized VMs.
    Type: Grant
    Filed: August 23, 2012
    Date of Patent: September 29, 2015
    Assignee: Citrix Systems, Inc.
    Inventors: Julian Petrov, Sandy Stutsman
  • Patent number: 8750633
    Abstract: An image partitioner that executes on a local computer to vertically partition pixels of an original image into one or more non-overlapping vertical rows of image pixels, and horizontally partition the original image pixels into one or more non-overlapping horizontal rows of image pixels. The image partitioner can then separate the original image into a first sub-image that includes pixels of a first horizontal row and pixels of a first vertical row. The image partitioner can then separate the original image into a second sub-image that includes pixels of either the first horizontal row and a second vertical row, or a second horizontal row and the first vertical row. The first sub-image and second sub-image are then transmitted to a remote computer that interlaces the first sub-image with the second sub-image to create a first combined image which approximates the original image on the local computer.
    Type: Grant
    Filed: September 3, 2013
    Date of Patent: June 10, 2014
    Assignee: Citrix Systems, Inc.
    Inventor: Julian Petrov
  • Patent number: 8665265
    Abstract: Methods and systems for providing three dimensional graphics to remote computing machines and appliances that include an agent executing on a local computing machine to intercept a plurality of graphics commands generated by a three dimensional application executing on a local computing machine. A first portion of the plurality of graphics commands are encoded by the agent using a first codec, while a second portion of the plurality of graphics commands are encoded by the agent using a second codec. The agent creates a frame comprising the first portion and the second portion of the plurality of graphics commands, compresses the frame, and transmits the frame to a remote computing machine.
    Type: Grant
    Filed: March 18, 2013
    Date of Patent: March 4, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Juan Rivera, Timothy J. Corbett, Julian Petrov
  • Publication number: 20140055466
    Abstract: A computing system includes a graphics processing unit (GPU) and main processing circuitry to execute computer program instructions forming a hypervisor, a control virtual machine (VM) and a specialized rendering VM for graphics processing. An application program of a guest VM generates graphics commands and data according to a graphics API such as Direct 3D. The rendering VM includes a graphics driver native to the GPU and is assigned pass-through access to the GPU by the control VM. The rendering VM receives the graphics information from the application program via an inter-VM communication channel, and it uses the graphics driver to control the GPU to perform graphics rendering. The use of the rendering VM enables native graphics performance to be achieved without constraining the control VM to use a compatible operating system. The technique is generally applicable to virtualization of hardware resources by specialized VMs.
    Type: Application
    Filed: August 23, 2012
    Publication date: February 27, 2014
    Applicant: CITRIX SYSTEMS INC.
    Inventors: Julian Petrov, Sandy Stutsman
  • Publication number: 20140003733
    Abstract: An image partitioner that executes on a local computer to vertically partition pixels of an original image into one or more non-overlapping vertical rows of image pixels, and horizontally partition the original image pixels into one or more non-overlapping horizontal rows of image pixels. The image partitioner can then separate the original image into a first sub-image that includes pixels of a first horizontal row and pixels of a first vertical row. The image partitioner can then separate the original image into a second sub-image that includes pixels of either the first horizontal row and a second vertical row, or a second horizontal row and the first vertical row. The first sub-image and second sub-image are then transmitted to a remote computer that interlaces the first sub-image with the second sub-image to create a first combined image which approximates the original image on the local computer.
    Type: Application
    Filed: September 3, 2013
    Publication date: January 2, 2014
    Applicant: Citrix Systems, Inc.
    Inventor: Julian Petrov
  • Patent number: 8559733
    Abstract: An image partitioner that executes on a local computer to vertically partition pixels of an original image into one or more non-overlapping vertical rows of image pixels, and horizontally partition the original image pixels into one or more non-overlapping horizontal rows of image pixels. The image partitioner can then separate the original image into a first sub-image that includes pixels of a first horizontal row and pixels of a first vertical row. The image partitioner can then separate the original image into a second sub-image that includes pixels of either the first horizontal row and a second vertical row, or a second horizontal row and the first vertical row. The first sub-image and second sub-image are then transmitted to a remote computer that interlaces the first sub-image with the second sub-image to create a first combined image which approximates the original image on the local computer.
    Type: Grant
    Filed: March 22, 2010
    Date of Patent: October 15, 2013
    Assignee: Citrix Systems, Inc.
    Inventor: Julian Petrov
  • Patent number: 8405654
    Abstract: Methods and systems for providing three dimensional graphics to remote computing machines and appliances that include an agent executing on a local computing machine to intercept a plurality of graphics commands generated by a three dimensional application executing on a local computing machine. A first portion of the plurality of graphics commands are encoded by the agent using a first codec, while a second portion of the plurality of graphics commands are encoded by the agent using a second codec. The agent creates a frame comprising the first portion and the second portion of the plurality of graphics commands, compresses the frame, and transmits the frame to a remote computing machine.
    Type: Grant
    Filed: April 30, 2012
    Date of Patent: March 26, 2013
    Assignee: Citrix Systems, Inc.
    Inventors: Juan Rivera, Timothy J. Corbett, Julian Petrov
  • Patent number: 8350863
    Abstract: Methods and systems for improving resource utilization when remoting three dimensional graphics commands that are generated by an application executing on a local computing machine. An agent that executes on a local computing machine intercepts a first call to a drawing library. The application generates this first call to request information from the drawing library. The agent further transmits a first frame that is generated by the application, to a remote computing machine, and prevents a return of the first call to the requesting application until the agent receives a notification indicating either the first frame was transmitted to the remote computing device or the first frame was rendered. Upon receiving such a notification, the agent permits the return of the first call to the requesting application.
    Type: Grant
    Filed: January 27, 2009
    Date of Patent: January 8, 2013
    Assignee: Citrix Systems, Inc.
    Inventors: Tim Corbett, Julian Petrov, Juan Rivera
  • Publication number: 20120218260
    Abstract: Methods and systems for providing three dimensional graphics to remote computing machines and appliances that include an agent executing on a local computing machine to intercept a plurality of graphics commands generated by a three dimensional application executing on a local computing machine. A first portion of the plurality of graphics commands are encoded by the agent using a first codec, while a second portion of the plurality of graphics commands are encoded by the agent using a second codec. The agent creates a frame comprising the first portion and the second portion of the plurality of graphics commands, compresses the frame, and transmits the frame to a remote computing machine.
    Type: Application
    Filed: April 30, 2012
    Publication date: August 30, 2012
    Inventors: Juan Rivera, Tim Corbett, Julian Petrov
  • Patent number: 8169436
    Abstract: Methods and systems for providing three dimensional graphics to remote computing machines and appliances that include an agent executing on a local computing machine to intercept a plurality of graphics commands generated by a three dimensional application executing on a local computing machine. A first portion of the plurality of graphics commands are encoded by the agent using a first codec, while a second portion of the plurality of graphics commands are encoded by the agent using a second codec. The agent creates a frame comprising the first portion and the second portion of the plurality of graphics commands, compresses the frame, and transmits the frame to a remote computing machine.
    Type: Grant
    Filed: January 27, 2009
    Date of Patent: May 1, 2012
    Assignee: Citrix Systems, Inc.
    Inventors: Juan Rivera, Tim Corbett, Julian Petrov
  • Patent number: 8046695
    Abstract: A system for incorporating at least one window from a first desktop environment having a first themed graphical display into a second desktop environment having a second themed graphical display includes a first virtual channel, a second virtual channel, and a local agent. The first virtual channel conveys graphical data associated with a window in the first desktop environment comprising a client area and a window rectangle. The second virtual channel conveys window attribute data associated with the window and including screen coordinates for the client area. A local agent forms a corresponding window in the second desktop environment, the corresponding window displaying the graphical data received from the first virtual channel in a local client area displayed at screen coordinates in accordance with the received window attribute data, the corresponding window having a local window rectangle displayed according to a second graphical theme.
    Type: Grant
    Filed: November 16, 2007
    Date of Patent: October 25, 2011
    Assignee: Citrix Systems, Inc.
    Inventors: Ning Ye, Juan Rivera, Julian Petrov