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: 11895184Abstract: 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: GrantFiled: March 14, 2022Date of Patent: February 6, 2024Inventors: Jacob Summers, Rakesh Kumar, Julian Petrov
-
Publication number: 20220210223Abstract: 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: ApplicationFiled: March 14, 2022Publication date: June 30, 2022Inventors: Jacob Summers, Rakesh Kumar, Julian Petrov
-
Patent number: 11310312Abstract: 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: GrantFiled: July 7, 2014Date of Patent: April 19, 2022Assignee: Citrix Systems, Inc.Inventors: Jacob Summers, Rakesh Kumar, Julian Petrov
-
Patent number: 11283866Abstract: 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: GrantFiled: July 7, 2014Date of Patent: March 22, 2022Assignee: Citrix Systems, Inc.Inventors: Rakesh Kumar, Julian Petrov, Jacob Summers
-
Patent number: 10114600Abstract: 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: GrantFiled: December 5, 2017Date of Patent: October 30, 2018Assignee: Citrix Systems, Inc.Inventor: Julian Petrov
-
Publication number: 20180095710Abstract: 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: ApplicationFiled: December 5, 2017Publication date: April 5, 2018Inventor: Julian Petrov
-
Patent number: 9870192Abstract: 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: GrantFiled: February 19, 2015Date of Patent: January 16, 2018Assignee: Citrix Systems, Inc.Inventor: Julian Petrov
-
Publication number: 20160246560Abstract: 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: ApplicationFiled: February 19, 2015Publication date: August 25, 2016Inventor: Julian PETROV
-
Publication number: 20160006800Abstract: 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: ApplicationFiled: July 7, 2014Publication date: January 7, 2016Inventors: Jacob Summers, Rakesh Kumar, Julian Petrov
-
Patent number: 9146762Abstract: 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: GrantFiled: August 23, 2012Date of Patent: September 29, 2015Assignee: Citrix Systems, Inc.Inventors: Julian Petrov, Sandy Stutsman
-
Patent number: 8750633Abstract: 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: GrantFiled: September 3, 2013Date of Patent: June 10, 2014Assignee: Citrix Systems, Inc.Inventor: Julian Petrov
-
Patent number: 8665265Abstract: 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: GrantFiled: March 18, 2013Date of Patent: March 4, 2014Assignee: Citrix Systems, Inc.Inventors: Juan Rivera, Timothy J. Corbett, Julian Petrov
-
Publication number: 20140055466Abstract: 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: ApplicationFiled: August 23, 2012Publication date: February 27, 2014Applicant: CITRIX SYSTEMS INC.Inventors: Julian Petrov, Sandy Stutsman
-
Publication number: 20140003733Abstract: 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: ApplicationFiled: September 3, 2013Publication date: January 2, 2014Applicant: Citrix Systems, Inc.Inventor: Julian Petrov
-
Patent number: 8559733Abstract: 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: GrantFiled: March 22, 2010Date of Patent: October 15, 2013Assignee: Citrix Systems, Inc.Inventor: Julian Petrov
-
Patent number: 8405654Abstract: 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: GrantFiled: April 30, 2012Date of Patent: March 26, 2013Assignee: Citrix Systems, Inc.Inventors: Juan Rivera, Timothy J. Corbett, Julian Petrov
-
Patent number: 8350863Abstract: 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: GrantFiled: January 27, 2009Date of Patent: January 8, 2013Assignee: Citrix Systems, Inc.Inventors: Tim Corbett, Julian Petrov, Juan Rivera
-
Publication number: 20120218260Abstract: 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: ApplicationFiled: April 30, 2012Publication date: August 30, 2012Inventors: Juan Rivera, Tim Corbett, Julian Petrov
-
Patent number: 8169436Abstract: 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: GrantFiled: January 27, 2009Date of Patent: May 1, 2012Assignee: Citrix Systems, Inc.Inventors: Juan Rivera, Tim Corbett, Julian Petrov
-
Patent number: 8046695Abstract: 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: GrantFiled: November 16, 2007Date of Patent: October 25, 2011Assignee: Citrix Systems, Inc.Inventors: Ning Ye, Juan Rivera, Julian Petrov