Patents Assigned to CITRIX SYSTEMS
  • Patent number: 11272000
    Abstract: Systems and methods for domain name system (DNS) caching in a distributed processing engine include a first processing engine which may receive a DNS request for accessing a domain from a client. The first processing engine may generate a DNS query for a DNS controller based on the DNS request, The first processing engine may receive a DNS record corresponding to the domain from the DNS controller. The first processing engine may store data corresponding to the DNS record in cache of the first processing engine. The first processing engine may transmit a message including data corresponding to the DNS record for the domain to a second processing engine, to cause the second processing engine to store data corresponding to the DNS record in cache of the second processing engine.
    Type: Grant
    Filed: June 9, 2020
    Date of Patent: March 8, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Bhavana Shobhana, Vinay Shivananda
  • Patent number: 11269604
    Abstract: A system and method for analyzing a performance of computer code. A method includes scanning a graph to identify a plurality of calls to executable code, individual nodes of the graph representing different calls to be taken by the executable code; determining a score for individual nodes of the graph based on resources required to perform the call represented by that node, the call being one that consumes substantial resources of a computing system to accomplish an operation; adjusting the score of individual nodes that are associated with repetitive action nodes in the graph; and generating recommendations to improve performance of the computer code based on scores indicative of substantial resource consumption.
    Type: Grant
    Filed: June 16, 2021
    Date of Patent: March 8, 2022
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Himanshu Parihar, Max Aristilde, Nitin Kumar Mathur
  • Patent number: 11270007
    Abstract: Methods and systems for embedding data in an image. The methods include, by a computing device: receiving data indicative of a source of an image that is one of a series of images that collectively provide a visual representation of a state of an application of the computing device, identifying, region of the image that is the same in another image of the series of images, determining a size of the identified region, and embedding the data within the identified region of the image in response to a comparison between the determined size of the identified region and a threshold.
    Type: Grant
    Filed: April 28, 2020
    Date of Patent: March 8, 2022
    Assignee: CITRIX SYSTEMS, INC.
    Inventor: Hao Chen
  • Patent number: 11272368
    Abstract: A technique controls access to a set of protected resources. The technique involves receiving a location signal which identifies a current geolocation of an endpoint device. The technique further involves, based on the current geolocation identified by the location signal, generating a heat map corresponding to a geographic region that includes the current geolocation of the endpoint device, the heat map defining one or more security zones within the geographic region. The technique further involves, selecting a particular security level from multiple security levels based on a security zone of the heat map associated with the current geolocation of the endpoint device, and communicating the selected security level to the endpoint device. The selected security level is associated with security requirements to be satisfied by the endpoint device in order for the endpoint device to access the set of protected resources.
    Type: Grant
    Filed: July 29, 2019
    Date of Patent: March 8, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Xiaolu Chu, Jiandong Hong, Dai Li
  • Patent number: 11272014
    Abstract: Systems and methods for reducing latency in connection setup include a connector for connecting a server hosting a service to a network. The connector may establish a first connection between the connector and a first proxy of a first point of presence (PoP) of the network. The connector may receive, from the first proxy, a connection request to establish a second connection between the connector and a second proxy of a second PoP of the network associated with a plurality of clients. The first proxy may generate the connection request responsive to a first client of the plurality of clients requesting access to the service through the second proxy. The connector may establish the second connection between the connector and the second proxy, to facilitate exchange of traffic between the plurality of clients and the service across the network.
    Type: Grant
    Filed: December 13, 2019
    Date of Patent: March 8, 2022
    Assignee: Citrix Systems, Inc.
    Inventor: Hrushikesh Shrinivas Paralikar
  • Patent number: 11271866
    Abstract: Methods and systems for sharing data among multiple services are described herein. Multiple services may access data from a shared data source. The services may subscribe to data sharing events. A data sharing service may iterate through the shared data source and transmit data retrieved from the shared data source in data sharing events. When the data sharing service reaches the end of the shared data source, the data sharing service may begin iterating through the shared data source again from the beginning. The data sharing events may be transmitted at a predetermined frequency. The services may subscribe to or unsubscribe from the data sharing events.
    Type: Grant
    Filed: September 1, 2020
    Date of Patent: March 8, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Thomas Michael Kludy, Alejandro Carrasquilla, Michael Paul Wehniainen, Ayush Jain
  • Patent number: 11271828
    Abstract: Provided herein are systems and methods for providing insights or metrics in connection with provisioning applications and/or desktop sessions to end-users. Network devices (e.g., appliances, intermediary devices, gateways, proxy devices or middle-boxes) can gather insights such as network-level statistics. Additional insights (e.g., metadata and metrics) associated with virtual applications and virtual desktops can be gathered to provide administrators with comprehensive end-to-end real-time and/or historical reports of performance and end-user experience (UX) insights. Insights relating to an application or desktop session can be used to determine and/or improve the overall health of the infrastructure of the session, Citrix Virtual Apps and Desktops, the applications (e.g., remote desktop application) being delivered using the infrastructure, and/or the corresponding user experience.
    Type: Grant
    Filed: November 14, 2019
    Date of Patent: March 8, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Georgy Momchilov, Kirankumar Alluvada, Jong Kann, Jayadev Marulappa Niranjanmurthy, Kupuswamy Ramamurthy, Corneliu Chetan
  • Patent number: 11271762
    Abstract: Audio data associated with one of a plurality of users of a virtual meeting hosted by a virtual meeting application is received. The audio data is analyzed to identify another user of the virtual meeting. If another user is identified in the analyzed audio data, a setting of the virtual meeting application is adjusted to enable a client device for the identified user to receive audio input so as to facilitate a dialog among the users of the virtual meeting.
    Type: Grant
    Filed: May 10, 2019
    Date of Patent: March 8, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Nandikotkur Achyuth, Divyansh Deora, Arnav Akhoury
  • Publication number: 20220067097
    Abstract: A method for policy-based analytics includes retrieving, from a graph database, first data representing a first entity in a computing environment, a second entity in the computing environment, and an event associated with the first entity and the second entity; predicting, according to a risk indicator model, a risk associated with the first entity based at least in part on the event; and updating the graph database to include second data representing the risk and a risk indicator. The first and second entities are stored as properties of a first vertex and a second vertex, respectively, and the event is stored as a property of an edge between the first vertex and the second vertex. The risk indicator is stored as a property of a third vertex. The risk is stored as a property of an edge between the first vertex and the third vertex.
    Type: Application
    Filed: August 31, 2020
    Publication date: March 3, 2022
    Applicant: Citrix Systems, Inc.
    Inventors: R V Shouri Gupta, Subramanian Ramamurti, Jayaraj Muthukumarasamy
  • Publication number: 20220067197
    Abstract: Systems and methods described herein provide for management of notifications. A server may receive proximity information indicative of a distance between the client device and a user of the client device, and idle state information of the client device. The server may determine a notification protection level using the proximity information and the idle state information. The server may receive a notification from the at least one notification source. The notification is for rendering on a screen of the client device. The notification manager may manage delivery of the received notification, according to the determined notification protection level.
    Type: Application
    Filed: November 8, 2021
    Publication date: March 3, 2022
    Applicant: Citrix Systems, Inc.
    Inventors: Xiaolu CHU, Dai LI
  • Publication number: 20220070151
    Abstract: Embodiments described include systems and methods for management and pre-establishment of network application and secure communication sessions. Session logs may be analyzed to identify an application or secure communication sessions likely to be accessed, and prior to receiving a request to establish the session, an intermediary (e.g. another device such as an intermediary appliance or other device, or an intermediary agent on a client such as a client application) may pre-establish the session, performing any necessary handshaking or credential or key exchange processes. When the session is subsequently requested (e.g. in response to a user request), the system may immediately begin using the pre-established session. This pre-establishment may be coordinated within the enterprise providing load balancing and scheduling of session establishment to prevent large processing loads at any one point in time.
    Type: Application
    Filed: October 14, 2021
    Publication date: March 3, 2022
    Applicant: Citrix Systems, Inc.
    Inventors: Abhishek Chauhan, Karthick Srivatsan, J Mohan Rao Arisankala, Chaitra Maraliga Ramaiah
  • Patent number: 11263004
    Abstract: Application layering is a technology that separates applications from an operating system image. In some cases, information inside an application layer needs to be modified when that layer is delivered to a computer to be executed correctly in a specific environment. Described is a technique to allow those operations to be defined and executed outside of the operating system that will be running the application layer, so that a single application layer can be delivered to heterogeneous end points without the need to take up additional computation on the guest machine it is being delivered to, to ensure application compatibility when applications reside in more than one layer, to install applications into a layer without knowledge of a specific platform, and to modify the image to provide the required drivers and services to support any platform.
    Type: Grant
    Filed: October 17, 2017
    Date of Patent: March 1, 2022
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: John Webb, Christopher W. Midgley, Robert Oakes, Bill Buckley
  • Patent number: 11263404
    Abstract: A system, method and program product that provides a conversational AI platform using a declarative graph model. A system is included having a natural language (NL) interface the receives NL user inputs from a message queue; an intent analyzer that determines an intent of a received NL user input and loads a graph associated with the intent; and a graph traversal manager having traversal logic to first traverse the graph first along a start path from an intent node to a dialog node, then traverse an ask path to a question node to obtain missing entity data, then traverse a contacts path to a service node to execute an external service and return a fulfillment response based on submitted entity data, then traverse a replies with path to a response node to create a formatted fulfillment response that is forwarded to the message queue.
    Type: Grant
    Filed: September 25, 2019
    Date of Patent: March 1, 2022
    Assignee: CITRIX SYSTEMS, INC.
    Inventor: Lampros Dounis
  • Patent number: 11263028
    Abstract: A computing system includes a virtualization server that runs virtual machine sessions and provides a hosted application having user interface (UI) elements. A client computing device receives the UI elements and displays the UI elements as local virtual UI elements, applies user input to one of the local virtual UI elements in focus, generates a local virtual UI element graphics overlay corresponding to a predicted response to the user input and sends the user input to the virtualization server, which generates an updated UI element graphics corresponding to an actual response to the user input. The client computing device replaces at least a portion of the local virtual UI element graphics overlay corresponding to the predicted response with the received updated UI element graphics.
    Type: Grant
    Filed: March 27, 2019
    Date of Patent: March 1, 2022
    Assignee: CITRIX SYSTEMS, INC.
    Inventor: Georgy Momchilov
  • Patent number: 11265337
    Abstract: Described embodiments provide systems and methods for traffic inspection via embedded browsers. An application inspector module of an embedded browser executable on a client may intercept network traffic for an application. The network traffic may include packets exchanged between the application and the server via a channel. The application inspector module may identify a computing resource usage on the client in providing a user with access to the application via the embedded browser. The application inspector module may generate analytics data based on the intercepted network traffic and the computing resource usage. The application inspector module may maintain a user behavior profile based on the analytics data. The application inspector module may determine that a portion of the network traffic directed to the remote server contains sensitive information. Responsive to the determination, the application inspector module may block or remove the portion of the network traffic.
    Type: Grant
    Filed: May 3, 2019
    Date of Patent: March 1, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Alexandr Smelov, Christopher Fleck
  • Patent number: 11265389
    Abstract: Described embodiments provide systems and methods for measuring user experience with virtual or hosted desktops or applications, with scores calculated based on weights determined during a supervisory learning process. The scores are multivariate across a number of factors that affect user experience, enabling administrators to easily and efficiently identify trends and degradations or improvements to a system. This allows the administrator to take mitigating actions, fully implement temporary adjustments, or perform other such functions to improve the working of the system based on the real-time measurement and analysis of user experience.
    Type: Grant
    Filed: September 3, 2019
    Date of Patent: March 1, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Akshat Bordia, Neha Joshi, Vikramjeet Singh, Mukesh Garg, Nikhil Desai Shridhar, Venkatesh Vellingiri
  • Patent number: 11263029
    Abstract: A computing system includes a virtualization server that runs virtual machine sessions and provides a hosted application with user interface (UI) elements having scrollable content. A client computing device accesses the hosted application during one of the virtual machine sessions and receives the scrollable content. The client computing device displays at least a portion of the scrollable content as local virtual UI elements, applies user input to scroll the portion of the scrollable content in focus, caches scrollable content that is positioned adjacent the portion of the scrollable content being scrolled that is not in focus, and generates a local virtual UI element graphics overlay that includes at least a portion of the cached scrollable content for display corresponding to a predicted response to the user input.
    Type: Grant
    Filed: March 27, 2019
    Date of Patent: March 1, 2022
    Assignee: CITRIX SYSTEMS, INC.
    Inventor: Georgy Momchilov
  • Patent number: 11263719
    Abstract: Aspects described herein are directed to leveraging multiple graphics processors, by a virtual GPU manager, to optimize the rendering of graphics in either a desktop or virtual desktop environment. The virtual GPU manager may enumerate all available physical GPUs, query performance variables including processing capacity of each of the available physical GPUs, and classify each of the physical GPUs based on the queried performance variables. Further, the virtual GPU manager may generate a logical GPU corresponding to one or more of the available physical GPUs. The virtual GPU manager may distribute graphics rendering requests across each of the plurality of available physical GPUs by way of the logical GPU.
    Type: Grant
    Filed: May 21, 2020
    Date of Patent: March 1, 2022
    Assignee: Citrix Systems, Inc.
    Inventor: Ashwin Suresh
  • Publication number: 20220060546
    Abstract: Embodiments described include systems and methods for reusing content across a plurality of network applications. A client application establishes sessions with the network applications via an embedded browser. The client application identifies a plurality of content provided as input to each of the network applications and stores the plurality of content to storage. The client application determines a point in a first user interface of a first network application in which input from content of the plurality of content is available as input. The embedded browser provides a second user interface from which to select at least a first content of the plurality of content stored in storage from a second network application as input to the first user interface of the first network application. The embedded browser receives, as input to the first user interface, the selection via the second user interface of the first content.
    Type: Application
    Filed: November 3, 2021
    Publication date: February 24, 2022
    Applicant: Citrix Systems, Inc.
    Inventor: Abhishek Chauhan
  • Patent number: 11258836
    Abstract: A method, computer program product, and computer system for providing, by a computing device, a session of an application, wherein the session may include a sub-session configured to exchange data with a plurality of endpoint devices. The computing device may receive a stream of data from an endpoint device outside the plurality of endpoint devices and that controls the session. The computing device may provide data to at least one of the plurality of endpoint devices, wherein the data may include the stream of data from the endpoint device that controls the session and another stream of data from a different endpoint device of the plurality of endpoint devices.
    Type: Grant
    Filed: January 22, 2021
    Date of Patent: February 22, 2022
    Assignee: CITRIX SYSTEMS, INC.
    Inventor: Yuran Ou