Patents Assigned to Citrix System, Inc.
  • Patent number: 11354122
    Abstract: A method for creating and executing a micro-application includes receiving a user selection of a user interface element within a user interface of a primary application. Source code associated with the selected user interface element is parsed to obtain at least one attribute associated with the selected user interface element. Data associated with the selected user interface element is identified based on the source code. A response based on the at least one attribute and the data is generated. A microapp configured to process the response to obtain the data from within the primary application is generated.
    Type: Grant
    Filed: April 29, 2020
    Date of Patent: June 7, 2022
    Assignee: Citrix Systems, Inc.
    Inventor: Manbinder Pal Singh
  • Patent number: 11354400
    Abstract: Data from a SaaS application may be stored and accessed locally, enabling SaaS data to be interacted with, regardless of connectivity, while providing secure authentication when offline. When online, a user may perform an authentication procedure and provide credentials to an application server, which may provide an authentication token for access to secure data or applications. The authentication token and user credentials may be cached locally. When offline or experiencing intermittent connectivity, if user provided credentials match the cached credentials, then the client application may retrieve the cached authentication token and allow the embedded browser to resume utilizing the network application and/or data; while if the new credentials do not match the previously provided and cached credentials, access may be denied. Thus, the embedded browser may perform authentication agnostic to whether the device is online or offline at that time, requiring no changes to the browser or network application.
    Type: Grant
    Filed: October 1, 2018
    Date of Patent: June 7, 2022
    Assignee: Citrix Systems, Inc.
    Inventor: Abhishek Chauhan
  • Patent number: 11356418
    Abstract: Described embodiments provide systems and methods for using unencrypted communication tunnels. A first device intermediary between a client and a server may maintain an encrypted tunnel and an unencrypted tunnel with a second device intermediary between the client and the server. The first device may communicate, with the second device, at least one network address translation (NAT) rule via the encrypted tunnel. The first device may translate address information of a first packet, using the at least one NAT rule. The first device may send the first packet with the translated address information via the unencrypted tunnel, to the second device to reverse the translation of the address information using the at least one NAT rule.
    Type: Grant
    Filed: June 11, 2020
    Date of Patent: June 7, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Raghavendra Singh, Praveen Raja Dhanabalan, Jagan Mohana Rao Arisankala
  • Patent number: 11354684
    Abstract: Data analytics techniques can improve international software product quality and user experience. The system uses data mining to identify and assess region-specific issues in a software product. The system uses predetermined keywords, patterns and neural networks to mine customer feedback from heterogeneous data sources in order to accurately and efficiently identify and assess technical problems in a software product. The system, upon mining the data sources to determine the usage patterns and expectations that led to the identified technical problems, can facilitate the development of a software update or patch for the software product that can solve or mitigate the identified technical problem, resulting in the software product having improved globalization maturity and international user experience.
    Type: Grant
    Filed: February 6, 2018
    Date of Patent: June 7, 2022
    Assignee: Citrix Systems, Inc.
    Inventor: Karthikeyan Ravichandran
  • Patent number: 11354300
    Abstract: Methods and systems for recording, tracking, and analyzing digital software usage in a distributed database that is used by multiple participants are described herein. A single usage event may occur, and may be identified by a client device. The usage event may be emitted to one or more nodes, which may include an aggregator node and/or one or more validator nodes. A block in a distributed database may be created to record the usage event. A mixed-mode mechanism may be used by one or more devices to validate the usage event.
    Type: Grant
    Filed: December 11, 2018
    Date of Patent: June 7, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Thierry Duchastel, Raymond Matthew Sampson, Marcos Alejandro Di Pietro, Luis Atencio, Ashish Gujarathi
  • Patent number: 11356531
    Abstract: Methods and systems for caching data for resources using a shared cache are described herein. The data may be stored in a configuration service, in the resources, or in the shared cache. The data stored in the configuration service may be modified. The data stored in the resources and in the shared cache may be updated according to the modified data in the configuration service. The data stored in the configuration service, in the resources, or in the shared cache may be used based on an operation mode.
    Type: Grant
    Filed: September 14, 2020
    Date of Patent: June 7, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Feng Huang, Duncan Spencer Gabriel, Simon Frost, Ross Large
  • Patent number: 11356481
    Abstract: A computer system is provided. The computer system includes a memory and at least one processor coupled to the memory and configured to identify a first domain name associated with a website that served a login form to a web browser. The at least one processor is further configured to identify a one-time password (OTP) entry request served from the website in response to transmitting user credentials to the website. The at least one processor is further configured to identify a second domain name associated with an OTP server that provided an OTP. The at least one processor is further configured to perform a security action in response to determining that the first domain name differs from the second domain name. The security action may include blocking a response to the OTP request from the website, providing a warning, and/or obtaining confirmation for the response to the OTP entry request.
    Type: Grant
    Filed: October 14, 2021
    Date of Patent: June 7, 2022
    Assignee: Citrix Systems, Inc.
    Inventor: Manbinder Pal Singh
  • Patent number: 11349751
    Abstract: The systems and methods discussed herein provide for faster communications, particularly for high priority traffic, across a distributed network with multiple exit points to a Wide Area Network. Rather than simply routing traffic based on internal or external destination, an intelligent router may measure latency to an endpoint destination via multiple paths, both external and internal, and direct traffic accordingly. Steering high priority traffic via the internal connection to an exit point near the destination server, and then to the server via the external network, may be faster than simply forwarding the connection via the external network from the exit point closest to the source device. Additionally, to reduce bandwidth requirements of the nearby exit point and provide capability for higher priority traffic, low priority traffic may be redirected back via the internal connection and transmitted via a distant exit point.
    Type: Grant
    Filed: November 26, 2019
    Date of Patent: May 31, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Marco Murgia, Praveen Raja Dhanabalan
  • Patent number: 11347802
    Abstract: Methods and systems for generation of a database schema compliant search query based on a natural language input are described herein. Natural language input may be received from a computing device. The natural language input may be associated with multiple search requests to a database. The natural language input may be parsed into a plurality of segments. The plurality of segments may be, for example, one or more words of a text string. At least one identifier for the plurality of segments may be associated with one or more confidence values. The natural language input may be converted into a single search query based on the confidence values and/or on a set of rules. The single search query may be initiated with respect to the database. The single search query may fetch content more efficiently than the multiple search requests.
    Type: Grant
    Filed: July 24, 2019
    Date of Patent: May 31, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Shiv Prasad Khillar, Saifulla Shaik, Nagendra Tank
  • Patent number: 11349803
    Abstract: Described embodiments provide systems and methods for resolving Domain Name Service (DNS) requests. An authoritative DNS server may receive, from a recursive resolver, a DNS request to resolve a query on behalf of a client. The authoritative DNS server may determine whether the recursive resolver is classified as a non-client representative resolver or a client representative resolver. The authoritative DNS server may identify a redirect server based on the recursive resolver classified as the non-client representative resolver or the resolved server based on the recursive resolver classified as the client representative resolver. The authoritative DNS server may transmit, to the recursive resolver, a response to the DNS request including an address of one of the redirect server or the resolved server.
    Type: Grant
    Filed: September 18, 2020
    Date of Patent: May 31, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Josh Thomas Gray, Steven Lyons
  • Patent number: 11349812
    Abstract: Described embodiments provide systems and methods for learning across multiple application delivery controllers and updating settings across the application delivery controllers. A profile can be generated based on selection of a set of intermediary devices managed by a device. The set of intermediary devices configured to load balance data of an application hosted in different computing environments. Activity can be identified at the intermediary devices with use of a firewall. The activity having an appearance of a malicious attack on at least one intermediary device of the set. The device can determine if the activity is permissible or a violation based on a comparison of an aggregation of data records for the identified activity and a threshold. The device can provide a notification to at least one intermediary device of the set to configure the at least one intermediary device to allow the activity or prevent the activity.
    Type: Grant
    Filed: December 10, 2020
    Date of Patent: May 31, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Gourish K Biradar, Kasirao Velugu, Vamshi Raghav, Ratnesh Singh Thakur, Rama Rao Katta, Srinivasa Reddy Kasu, Kapil Jaisinghani, Satyendra Tiwari
  • Patent number: 11349904
    Abstract: Described embodiments provide systems and methods for selecting between modes for delivering or providing access to a file. A server can be configured to deliver the file via a plurality of modes of delivery including. A first mode of delivery can include downloading the file and a second mode of delivery can include delivering the file via a virtualized stream. The server can receive a request and initiate downloading of the file for a length of time. The server can identify an amount of available bandwidth and size of the file and determine a first time for the first mode of delivery. The first time can be compared to a second time to deliver the file via the second mode of delivery. The server can select between the first mode of delivery and the second mode of delivery and provide the file via the selected mode of delivery.
    Type: Grant
    Filed: April 3, 2019
    Date of Patent: May 31, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Anuj Magazine, Praveen Raja Dhanabalan, Anudeep Athlur
  • Patent number: 11347701
    Abstract: Described embodiments provide systems and methods of migrating clients between databases with different schemas. A database migrator may identify a first database accessible by the client including a first data object maintained in accordance with a first schema. The database migrator may generate, using the first database, a second database including the first data object from the first database. The database migrator may store, onto the second database in accordance with a second schema, a second data object received by the first database subsequent to generation of the second database. The database migrator may convert the first data object of the second database from the first schema to the second schema. The database migrator may migrate the client from the first database to the second database responsive to the completion of storing and converting.
    Type: Grant
    Filed: February 13, 2018
    Date of Patent: May 31, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Sheldon Lachambre, Sebastian Amrogowicz, William Charnell
  • Patent number: 11347295
    Abstract: Methods and system for power management of computing resources supporting one or more virtual machines involves grouping the plurality of virtual machines into a plurality of groups. The grouping can comprise assigning each of the plurality of virtual machines to one or more of the plurality of groups based on virtual machine functionality. For each group, a further determination is made as to whether the level of activity is indicative of an idle state. Upon determining that the level of activity associated with a group is indicative of an idle state, that group of virtual machines is instructed to enter a low power mode.
    Type: Grant
    Filed: July 19, 2017
    Date of Patent: May 31, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Nitin D. Mehta, Leo C. Singleton, IV, Kevin Woodmansee, Jitendra Deshpande, Harsh Murarka
  • Patent number: 11349820
    Abstract: Described embodiments provide systems and methods for selectively encrypting and decrypting portions of a network flow by intermediary devices. A first device may identify a protocol used by a network flow traversing the first device via one or more packets of the protocol. The first device may determine that a level of encryption for the network flow meets a predetermined threshold. The first device may receive networks packets to be communicated between a sender and a receiver. The packets may include a first portion that is encrypted and a second portion that has clear text information. The first device may encrypt the second portion of the one or more packets. The first device may forward the network packets with the first portion and the encrypted second portion via a tunnel to a second device for decryption of the encrypted second portion for forwarding to the receiver.
    Type: Grant
    Filed: July 19, 2019
    Date of Patent: May 31, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Derek Thorslund, Vladimir Vysotsky
  • Patent number: 11347574
    Abstract: Methods and systems for managing notifications relating to execution of microservices are described herein. A format of notifications relating to execution of a plurality of microservices may be defined. The format may provide that all notifications generated based on the format comprise code. The code may indicate, for example, an identity of one of a plurality of microservices, a version of the code, an occurrence of an issue in execution of the one of the plurality of microservices, and/or one or more scripts which may be executed to address an issue of the notification. Two or more notifications may be received, and the one or more notifications may be formatted based on the defined format. A third notification may be generated based on a comparison of the two or more notifications. The third notification may be transmitted to a computing device.
    Type: Grant
    Filed: July 2, 2020
    Date of Patent: May 31, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Jeremy White, Ted Harwood, Wellington Goncalves
  • Patent number: 11347842
    Abstract: User input is collected that is received by a client device, where the client device provides access to a remotely hosted application. The client device analyzes the collected user input received by the client device in order to detect collected user input indicative of machine behavior that simulates inputs provided by a user. The client device prevents subsequent access to the hosted application through the client device in response to detection of collected user input received by the client device indicative of machine behavior that simulates inputs provided by a user, in order to protect the remotely hosted application from malicious attacks.
    Type: Grant
    Filed: April 3, 2019
    Date of Patent: May 31, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Zhipan Liu, Ke Xu
  • Patent number: 11341443
    Abstract: Described embodiments provide systems, methods and computer implemented instructions for prioritizing sequential application tasks. A system receives, from an application, a sequence of tasks to be performed by users using clients. The system identifies a first user to perform a first task in the sequence of tasks, and a second user to perform a second task in the sequence of tasks that is subsequent to the first task. The system determines the state of a first client of the first user and a state of a second client of the second user. The system establishes a rank for the first task based on the states of the first client and the second client. The system provides, to the first client, the rank for the first task and the state of the second client. The system generates a graphical user interface indicating the rank and state of the second client.
    Type: Grant
    Filed: June 25, 2020
    Date of Patent: May 24, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Xiaolu Chu, Yuran Ou, Zongpeng Qiao, Tie Liu
  • Patent number: 11343356
    Abstract: The present application is directed towards systems and methods for application specific load-balancing for web servers. A device intermediary to a plurality of clients and a plurality of services executing on a plurality of servers, may receive a request from a client for an application. The device may identify an identifier for the application from a table comprising a list of applications and a corresponding identifier assigned to each application. In an embodiment, the device may establish one or more monitors to monitor each service to determine applications available on each service. In an embodiment, the device may determine that one or more services of the plurality of services provides the application and select a service from the one or more services to forward the request. The device may forward the request to the selected service.
    Type: Grant
    Filed: October 3, 2019
    Date of Patent: May 24, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Ankush Goyal, Sudish Kumar Sah, Rajesh Joshi, Anil Shetty
  • Patent number: 11343235
    Abstract: Methods and systems for securely delivering notifications from remote applications to client devices are described herein. A computing device may listen for notifications from a remote application and receive notification data from the remote application. The computing device may select a notification service for delivery of the notification data to the client device. The computing device may determine whether a client agent application is running as a foreground process on the client device. The computing device may send, to a notification service, notification data for delivery to the client device. At least a portion of the notification data may be encrypted prior to sending to the selected notification service.
    Type: Grant
    Filed: June 5, 2020
    Date of Patent: May 24, 2022
    Assignee: Citrix Systems, Inc.
    Inventors: Mukund Ingale, Georgy Momchilov, Kireeti Valicherla, Joseph Carson