IP Library Granted Patent US 9,779,389
Granted Patent B2
US 9,779,389 · App. 14/666,907 · Granted Oct 3, 2017

Generation of screenshots for a visual summary of an online meeting under diverse and/or varying network and/or client computer performance conditions

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 9,779,389
App. No.
14/666,907
Granted
Oct 3, 2017
Kind
B2
Abstract

Screenshots are captured for a visual summary of an online meeting using a dynamically determined inactivity threshold time period. The inactivity threshold time period may be the sum of i) an average time interval between arrival times of screen update messages in a set of received screen update messages, and ii) a multiple of the standard deviation of such time intervals. If no significant updates to a shared screen occur during the inactivity threshold time period, a screenshot may be captured for the online meeting visual summary. A premature screenshot threshold time period may also be determined. If significant visual data is received during the premature screenshot threshold time period, the previously captured screenshot is replaced with an updated screenshot.

Claims (57)

1. A computer-implemented method of generating screenshots for a visual summary of an online meeting, comprising executing on a processor the steps of:

monitoring a stream of received screen update messages associated with the online meeting, wherein each received screen update message modifies a portion of a shared screen provided as part of the online meeting;

detecting a screenshot capture trigger condition by, at least in part, detecting that an amount that the shared screen has been modified since a last screenshot of the shared screen was captured exceeds a maximum inter-screenshot visual change,

in response to detecting the screenshot capture trigger condition, for each screen update message received after the screenshot capture trigger condition is detected until a screenshot is captured for the visual summary of the online meeting, dynamically generating an inactivity threshold, wherein the generating comprises

i) measuring a plurality of update intervals, wherein each of the update intervals comprises a time period between the arrival times of two consecutively received screen update messages within a set of screen update messages received after the screenshot capture trigger condition is detected, wherein the set of screen update messages received after the screenshot capture trigger condition is detected comprises a predetermined number of most recently received screen update messages,

ii) determining an average update interval comprising an average of the measured update intervals, and

iii) setting the inactivity threshold to a value greater than the average update interval;

starting a time period equal in duration to the inactivity threshold at an arrival time of a most recently received screen update message;

determining whether an amount of the shared screen modified during the time period equal in duration to the inactivity threshold exceeds a pre-capture maximum modification;

capturing a screenshot of the shared screen in response to a determination that the amount of said shared screen modified during the time period equal in duration to the inactivity threshold does not exceed the pre-capture maximum modification amount; and

storing the captured screenshot in the visual summary of the online meeting.

2. The method of claim 1 , wherein dynamically generating the inactivity threshold further comprises determining an update interval standard deviation comprising a standard deviation of the measured update intervals; and

wherein setting the inactivity threshold to a value greater than the average update interval comprises setting the inactivity threshold to a sum of i) the average update interval, and ii) a multiple of the update interval standard deviation.

3. The method of claim 2 , further comprising:

after capturing the screenshot of the shared screen, in response to receiving at least one screen update message during a time period equal in duration to a premature screenshot threshold, and wherein the at least one received screen update message modifies more than a post-capture maximum amount of the shared screen, i) capturing a new screenshot of the shared screen and ii) updating the visual summary of the online meeting by replacing the previously captured screenshot with the new screenshot.

4. The method of claim 3 , further comprising dynamically generating the premature screenshot threshold, at least in part by setting the premature screenshot threshold to a sum of i) the average update interval, and ii) a second multiple of the update interval standard deviation.

5. The method of claim 4 , wherein the step of dynamically generating the inactivity threshold includes determining the multiple of the update interval standard deviation by multiplying the update interval standard deviation by a pre-capture inactivity factor;

wherein the step of dynamically determining the premature screenshot threshold includes determining the second multiple of the update interval standard deviation by multiplying the update interval standard deviation by a post-capture checking factor; and

wherein the post-capture checking factor has a larger value than the pre-capture inactivity factor.

6. The method of claim 1 , wherein the step of dynamically generating the inactivity threshold includes comparing the inactivity threshold to an upper bound value, and, in the event that the inactivity threshold exceeds the upper bound value, setting the inactivity threshold to the upper bound value.

7. The method of claim 1 , wherein the step of determining whether the amount of the shared screen modified during the time period equal in duration to the inactivity threshold exceeds the pre-capture maximum modification determines that the amount of the shared screen modified during the time period equal in duration to the inactivity threshold exceeds the pre-capture maximum modification in the event that any screen update messages are received during the time period equal in duration to the inactivity threshold.

8. A system for generating screenshots for a visual summary of an online meeting, comprising:

at least one processor;

a memory having program code stored thereon, wherein the program code, when executed by the processor, causes the processor to

monitor a stream of received screen update messages associated with the online meeting, wherein each received screen update message modifies a portion of a shared screen provided as part of the online meeting;

detect a screenshot capture trigger condition by, at least in part, causing the processor to detect that an amount that the shared screen has been modified since a last screenshot of the shared screen was captured exceeds a maximum inter-screenshot visual change;

in response to detection of the screenshot capture trigger condition, for each screen update message received after the screenshot capture trigger condition is detected until a screenshot is captured for the visual summary of the online meeting, dynamically generate an inactivity threshold, at least in part by

i) measuring a plurality of update intervals, wherein each of the update intervals comprises a time period between the arrival times of two consecutively received screen update messages within a set of screen update messages received after the screenshot capture trigger condition is detected, wherein the set of screen update messages received after the screenshot capture trigger condition is detected comprises a predetermined number of most recently received screen update messages,

ii) determining an average update interval comprising an average of the measured update intervals, and

iii) setting the inactivity threshold to a value greater than the average update interval;

start a time period equal in duration to the inactivity threshold at an arrival time of a most recently received screen update message;

determine whether an amount of the shared screen modified during the time period equal in duration to the inactivity threshold exceeds a pre-capture maximum modification;

capture a screenshot of the shared screen in response to a determination that the amount of said shared screen modified during the time period equal in duration to the inactivity threshold does not exceed the pre-capture maximum modification amount; and

store the captured screenshot in the visual summary of the online meeting.

9. The system of claim 8 , wherein the program code, when executed by the processor, causes the processor to dynamically generate the inactivity threshold at least in part by:

determining an update interval standard deviation comprising a standard deviation of the measured update intervals; and

setting the inactivity threshold to a value greater than the average update interval by setting the inactivity threshold to a sum of i) the average update interval, and ii) a multiple of the update interval standard deviation.

10. The system of claim 9 , wherein the program code, when executed by the processor, further causes the processor to:

after the screenshot of the shared screen is captured, in response to receipt of at least one screen update message during a time period equal in duration to a premature screenshot threshold, and wherein the at least one received screen update message modifies more than a post-capture maximum amount of the shared screen, i) capture a new screenshot of the shared screen and ii) update the visual summary of the online meeting by replacing the previously captured screenshot with the new screenshot.

11. The system of claim 10 , wherein the program code, when executed by the processor, further causes the processor to dynamically generate the premature screenshot threshold, at least in part by setting the premature screenshot threshold to a sum of i) the average update interval, and ii) a second multiple of the update interval standard deviation.

12. The system of claim 11 , wherein the program code, when executed by the processor, further causes the processor to:

dynamically generate the inactivity threshold by determining the multiple of the update interval standard deviation by multiplying the update interval standard deviation by an pre-capture inactivity factor;

dynamically determine the premature screenshot threshold by determining the second multiple of the update interval standard deviation by multiplying the update interval standard deviation by a post-capture checking factor; and

wherein the post-capture checking factor has a larger value than the pre-capture inactivity factor.

13. The system of claim 8 , wherein the program code, when executed by the processor, further causes the processor to dynamically generate the inactivity threshold by, at least in part, comparing the inactivity threshold to an upper bound value, and, in the event that the inactivity threshold exceeds the upper bound value, setting the inactivity threshold to the upper bound value.

14. The system of claim 8 , wherein the program code, when executed by the processor, further causes the processor to determine whether the amount of the shared screen modified by any screen update messages received during the time period equal in duration to the inactivity threshold exceeds the pre-capture maximum modification by determining that the amount of the shared screen modified by any screen update messages received during the time period equal in duration to the inactivity threshold exceeds the pre-capture maximum modification in the event that any screen update messages are received during the time period equal in duration to the inactivity threshold.

15. A non-transitory computer readable medium for generating screenshots for a visual summary of an online meeting, comprising instructions stored thereon, that when executed on a processor, perform the steps of:

monitoring a stream of received screen update messages associated with the online meeting, wherein each received screen update message modifies a portion of a shared screen provided as part of the online meeting;

detecting a screenshot capture trigger condition by, at least in part, detecting that an amount that the shared screen has been modified since a last screenshot of the shared screen was captured exceeds a maximum inter-screenshot visual change;

in response to detecting the screenshot capture trigger condition, for each screen update message received after the screenshot capture trigger condition is detected until a screenshot is captured for the visual summary of the online meeting, dynamically generating an inactivity threshold, wherein the generating comprises

i) measuring a plurality of update intervals, wherein each of the update intervals comprises a time period between the arrival times of two consecutively received screen update messages within a set of screen update messages received after the screenshot capture trigger condition is detected, wherein the set of screen update messages received after the screenshot capture trigger condition is detected comprises a predetermined number of most recently received screen update messages,

ii) determining an average update interval comprising an average of the measured update intervals, and

iii) setting the inactivity threshold to a value greater than the average update interval;

starting a time period equal in duration to the inactivity threshold at an arrival time of a most recently received screen update message;

determining whether an amount of the shared screen modified during the time period equal in duration to the inactivity threshold exceeds a pre-capture maximum modification;

capturing a screenshot of the shared screen in response to a determination that the amount of said shared screen modified by the screen update messages received during the time period equal in duration to the inactivity threshold does not exceed the pre-capture maximum modification amount; and

storing the captured screenshot in the visual summary of the online meeting.

Assignments (14)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 053667/0169, REEL/FRAME 060450/0171, REEL/FRAME 063341/0051) Recorded Mar 15, 2024
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: GOTO GROUP, INC. (F/K/A LOGMEIN, INC.)
Reel/Frame 066800/0145 →
SECURITY INTEREST Recorded Feb 16, 2024
From: GOTO COMMUNICATIONS, INC.; GOTO GROUP, INC.; LASTPASS US LP
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS THE NOTES COLLATERAL AGENT
Reel/Frame 066614/0355 →
SECURITY INTEREST Recorded Feb 16, 2024
From: GOTO COMMUNICATIONS, INC.,; GOTO GROUP, INC., A; LASTPASS US LP,
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS THE NOTES COLLATERAL AGENT
Reel/Frame 066614/0402 →
SECURITY INTEREST Recorded Feb 7, 2024
From: GOTO GROUP, INC.,; GOTO COMMUNICATIONS, INC.; LASTPASS US LP
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 066508/0443 →
CHANGE OF NAME Recorded Apr 8, 2022
From: LOGMEIN, INC.
To: GOTO GROUP, INC.
Reel/Frame 059644/0090 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS (SECOND LIEN) Recorded Feb 16, 2021
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: LOGMEIN, INC.
Reel/Frame 055306/0200 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: LOGMEIN, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 053667/0079 →
NOTES LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: LOGMEIN, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 053667/0032 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: LOGMEIN, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 053667/0169 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 041588/0143 Recorded Aug 31, 2020
From: JPMORGAN CHASE BANK, N.A.
To: LOGMEIN, INC.; GETGO, INC.
Reel/Frame 053650/0978 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2019
From: GETGO, INC.
To: LOGMEIN, INC.
Reel/Frame 049843/0833 →
SECURITY INTEREST Recorded Feb 1, 2017
From: GETGO, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 041588/0143 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2016
From: CITRIX SYSTEMS, INC.
To: GETGO, INC.
Reel/Frame 039970/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: THAPLIYAL, ASHISH V.; AVRIONOV, NIKOLAY
To: CITRIX SYSTEMS, INC.
Reel/Frame 035331/0094 →