IP Library Granted Patent US 11,233,832
Granted Patent B2
US 11,233,832 · App. 16/184,311 · Granted Jan 25, 2022

Systems and methods for collaborating on forms in SaaS application

Inventors: Abhishek Chauhan (Santa Clara, CA); Jeroen Mattijs van Rotterdam (Fort Lauderdale, FL)
Assignee: Citrix Systems, Inc.
H04L65/403G06F3/0483H04L65/1069H04L67/42
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,233,832
App. No.
16/184,311
Filed
Nov 8, 2018
Granted
Jan 25, 2022
Kind
B2
Examiner
YI, RINNA
Art Unit
2144
USPC
715/751
Abstract

Embodiments described include systems and methods for multiple users to provide input on an input element of a network application. A first client application may establish, for a first user, a first session of a network application via a first embedded browser within the first client application. A second client application may establish, for a second user, a second session of the network application via a second embedded browser within the second client application. The first client application may communicate an invite to the second user to collaborate on an input element of a user interface displayed in the first embedded browser. The second client application may provide, responsive to acceptance of the invite, a second user interface for the second user to enter input into the input element. One of the first or the second client applications may display input received in the input element.

Claims (33)

1. A method comprising:

(a) establishing, by a first client application, for a first user, a first session of a network application via a first embedded browser within the first client application, the first client application having a first secure container to control access to data exchanged via the first session with the network application;

(b) establishing, by a second client application, for a second user, a second session of the network application via a second embedded browser within the second client application, the second client application having a second secure container to control access to data exchanged via the second session with the network application;

(c) communicating, by the first client application, an invite via the second client application for the second user for collaborating on a web document of the network application displayed in the first embedded browser, the invite identifying: (i) the second user of the second embedded browser that is in communication with the network application via the second session separate from the first session and (ii) an input field of a plurality of input fields of the web document of the network application in the first embedded browser;

(d) configuring, by the first client application responsive to acceptance of the invite, the first secure container to: (i) interface with the second secure container to permit modification of the input field by the second user via the second client application and (ii) maintain restriction on a remainder of the plurality of input fields from modification by the second user via the second client application;

(e) displaying, via the second client application responsive to acceptance of the invite and to permitting modification of the input field, the web document with a user interface in the second embedded browser, to permit the second user to enter an input into the input field of the web document via the user interface while maintaining the restriction of the modification of the remainder of the plurality of input fields; and

(f) displaying, by the first client application, the input in the input field on the web document displayed in the first embedded browser, concurrent with the second user entering the input into the input field of the web document via the user interface.

2. The method of claim 1 , wherein (c) further comprises communicating the invite responsive to identifying the second user as from the first entity or identifying the second user as a previous collaborator.

3. The method of claim 1 , wherein the input field comprises a form and at least the user interface aggregates input from the first user and the second user and displays the aggregated input.

4. The method of claim 1 , wherein (e) further comprises displaying the second user interface as an overlay to the input field of the web document displayed in the second embedded browser.

5. The method of claim 4 , further comprising displaying the overlay to the input field in the first embedded browser for the first user to enter input into the input field concurrently with the second user.

6. The method of claim 1 , further comprising storing, by one of the first client application or the second client application, for the input field, a history of input from the first user and the second user to a server.

7. The method of claim 1 , further comprising storing, by one of the first client application or the second client application, for the input field versions of input over time from the first user and the second user.

8. The method of claim 1 , further comprising accessing, by one of the first client application or the second client application, content of the first network application comprising the input field and detecting the token in data of the input field.

9. The method of claim 8 , further comprising determining, by one of the first client application or the second client application, the input field is a multiple-user input field responsive to the detection and obtaining from the server one or more of the following information of the input field: versions of input to the input field, history of input to the-input field, identification of users providing input to the input field.

10. The method of claim 9 , further comprising displaying, by one of the first client application or the second client application, in one of the first embedded browser or the second embedded browser via an overlay user interface the information of the input field.

11. A system comprising:

a first client application executable on one or more processors of a first device, configured to establish, for a first user, a first session of a network application via a first embedded browser within the first client application, the first client application having a first secure container to control access to data exchanged via the first session with the network application;

a second client application executable on one or more processors of a second device, configured to establish, for a second user a second session of the network application via a second embedded browser within the second client application, the second client application having a second secure container to control access to data exchanged via the second session with the network application;

wherein the first client application is configured to:

communicate an invite via the second client application for the second user for collaborating on a web document of the network application displayed in the first embedded browser, the invite identifying: (i) the second user of the second embedded browser that is in communication with the network application via the second session separate from the first session and (ii) an input field of a plurality of input fields of the web document of the network application in the first embedded browser; and

configure, responsive to acceptance of the invite, the first secure container to: (i) interface with the second secure container to permit modification of the input field identified in the invite to permit modification by the second user via the second client application (ii) maintain restriction on of a remainder of the plurality of input fields from modification by the second user via the second client application;

wherein the second client application is configured to display, responsive to acceptance of the invite and to permitting modification of the input field, the web document with a user interface in the second embedded browser, to permit the second user to enter input into the input field of the web document via the user interface while maintaining the restriction of the modification of the remainder of the plurality of input field;

wherein the first client application is configured to display the input in the input field on the web document displayed in the first embedded browser, concurrent with the second user entering the input into the input field of the web document via the user interface.

12. The system of claim 11 , wherein the invite is communicated responsive to identifying the second user as from the first entity or identify the second user as a previous collaborator.

13. The system of claim 11 , wherein the input field comprises a form and at least the user interface aggregates input from the first user and the second user and displays the aggregated input.

14. The system of claim 11 , wherein the user interface is displayed as an overlay to the input field of the web document displayed in the second embedded browser.

15. The system of claim 14 , wherein the overlay to the input field is displayed in the first embedded browser for the first user to enter input into the input field concurrently with the second user.

16. The system of claim 11 , wherein one of the first client application or the second client application is further configured to store, for the input field, a history of input from the first user and the second user to a server.

17. The system of claim 11 , wherein one of the first client application or the second client application is further configured to store for the input field versions of input over time from the first user and the second user.

18. The system of claim 11 , wherein one of the first client application or the second client application is further configured to display the web document of the first network application comprising the input field having data and detecting the token in data of the input field.

19. The system of claim 18 , wherein one of the first client application or the second client application is further configured to determine that the input field is a multiple-user element responsive to the detection and obtain from the server one or more of the following information of the input field: versions of input to the input field, history of input to the input field, identification of users providing input to the input field.

20. The system of claim 19 , wherein one of the first embedded browser or the second embedded browser is further configured to via an overlay user interface the information of the input field.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2019
From: CHAUHAN, ABHISHEK; VAN ROTTERDAM, JEROEN MATTIJS
To: CITRIX SYSTEMS, INC.
Reel/Frame 048852/0857 →
Continuity (1)
Related Publication 20200153878A1 · May 14, 2020
Cited By (5)
US 12,407,730 US 12,413,624 US 12,445,493 US 12,452,306 US 12,719,821