# US 11,310,292 B2 · Application aware annotations in online collaborative sessions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,310,292 B2
- Document ID: US11310292B2
- Status: Granted
- Kind: B2
- Application number: 16/992,655
- Filed: 2020-08-13
- Published: 2022-02-17
- Granted: 2022-04-19
- Earliest claimed: 2020-08-13
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Rajarshee Dhar; Deepesh Arora
- Web page: https://patentgrep.com/patent/US11310292B2

## CPC

- H04L 65/1086: {session scope modification}
- H04L 65/1096: Supplementary features, e.g. call forwarding or call holding (systems providing special services or facilities to telephony subscribers H04M3/42)
- H04L 65/4015: {where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference}
- H04L 65/403: Arrangements for multi-party communication, e.g. for conferences (data switching systems for conference H04L12/18; arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities H04M3/56; television conferencing systems H04N7/15)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An online collaborative session application executing on a processing device tracks a state of an application shared by the processing device over an online collaborative session. The online collaborative session application receives data indicative of an annotation made to an instance of the application as part of the online collaborative session. A first location of the annotation relative to the instance of the application is determined from the data indicative of the annotation and the state of the application. Based on the tracking, a change to the state of the application is determined. A second location of the annotation is determined based on the change of the state of the application.

## Claims

### Claim 1

A method comprising:
tracking, via an online collaborative session application executing on a processing device, a plurality of application windows shared by the processing device over an online collaborative session;
tracking, via the online collaborative session application executing on the processing device, a state of an application window of the plurality of application windows, wherein the state of the application window comprises a vertical location of the application window relative to a vertical stacking of the plurality of application windows on a display on which the online collaborative session is displayed;
tracking, via the online collaborative session executing on the processing device, a state of a plurality of window displays within the application window;
obtaining, at the online collaborative session application, data indicative of an annotation made as part of the online collaborative session within the application window;
determining, from the data indicative of the annotation, the state of the application window and the state of the plurality of window displays, a first location of the annotation relative to the application window and the plurality of window displays;
determining, based on the tracking of the state of the application window, a change to the state of the application window; and
determining a second location of the annotation based on the change of the state of the application window.

### Claim 2 (depends on 1)

The method of claim 1, wherein tracking the state of the application window comprises tracking an area of the display on which the online collaborative session is displayed covered by the application window.

### Claim 3 (depends on 2)

The method of claim 2, wherein tracking the state of the application window further comprises updating the area of the display on which the online collaborative session is displayed covered by the application window in response to one or more of:
passage of a predetermined period of time;
a change in focus of from the application window to another application window during the online collaborative session;
a movement of the application window relative to the display during the online collaborative session;
a maximization of the application window;
a minimization of the application window; and
a change from a first window display of the plurality of window displays to a second window display of the plurality of window displays.

### Claim 4 (depends on 2)

The method of claim 2, wherein the data indicative of the first location comprises data indicative of a plurality of pixels corresponding to the annotation, wherein the data indicative of the plurality of pixels comprises a location for each one of the plurality of pixels within the area of the display on which the online collaborative session is displayed covered by the application window.

### Claim 5 (depends on 4)

The method of claim 4, wherein an origin for the plurality of pixels is based on the area of the display on which the online collaborative session is displayed covered by the application window.

### Claim 6 (depends on 1)

The method of claim 1, further comprising storing data indicative of the first location of the annotation, and
wherein determining the second location comprises updating the data indicative of the first location.

### Claim 7 (depends on 1)

The method of claim 1, wherein the plurality of window displays comprises one or more of:
a plurality of tabs within the application window;
a plurality of documents within the application window;
a plurality of pages within the application window; and
a plurality of slides within the application window.

### Claim 8

An apparatus comprising:
at least one display;
one or more network interfaces; and
one or more processors, wherein the one or more processors are configured to:
track, via an online collaborative session application executing via the one or more processors, a plurality of application windows shared by the one or more processors over an online collaborative session;
track, via the online collaborative session application executing via the one or more processors, a state of an application window of the plurality of application windows, wherein the state of the application window comprises a vertical location of the application window relative to a vertical stacking of the plurality of application windows on the display on which the online collaborative session is displayed;
track, via the online collaborative session application executing via the one or more processors, a state of a plurality of window displays within the application window;
obtain, via the online collaborative session application, data indicative of an annotation made as part of the online collaborative session within the application window;
determine, from the data indicative of the annotation, the state of the application window and the state of the plurality of window displays, a first location of the annotation relative to the application window and the plurality of window displays;
determine, based on the tracking of the state of the application window, a change to the state of the application window; and
determine a second location of the annotation based on the change of the state of the application window.

### Claim 9 (depends on 8)

The apparatus of claim 8,
wherein the one or more processors are configured to track the state of the application window by tracking an area of the display on which the online collaborative session is displayed covered by the application window.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the one or more processors are configured to track the state of the application window by updating the area of the display on which the online collaborative session is displayed covered by the application window in response to one or more of:
passage of a predetermined period of time;
a change in focus of from the application window to another application window during the online collaborative session;
a movement of the application window relative to the display during the online collaborative session;
a maximization of the application window;
a minimization of the application window; and
a change from a first window display of the plurality of window displays to a second window display of the plurality of window displays.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein the data indicative of the first location comprises data indicative of a plurality of pixels corresponding to the annotation, wherein the data indicative of the plurality of pixels comprises a location for each one of the plurality of pixels within the area of the display on which the online collaborative session is displayed covered by the application window.

### Claim 12 (depends on 8)

The apparatus of claim 8, further comprising:
one or more memories;
wherein the one or more processors are further configured to store data indicative of the first location of the annotation in the one or more memories, and
wherein the one or more processors are configured to determine the second location by updating the data indicative of the first location in the one or more memories.

### Claim 13 (depends on 8)

The apparatus of claim 8, wherein the plurality of window displays comprises one or more of:
a plurality of tabs within the application window;
a plurality of documents within the application window;
a plurality of pages within the application window; and
a plurality of slides within the application window.

### Claim 14

One or more tangible, non-transitory computer-readable mediums encoded with instructions, wherein the instructions, when executed by one or more processors, are operable to:
track, via an online collaborative session application executing on a processing device, a plurality of application windows shared by the processing device over an online collaborative session;
track, via the online collaborative session application executing on the processing device, a state of an application window of the plurality of application windows, wherein the state of the application window comprises a vertical location of the application window relative to a vertical stacking of the plurality of application windows on a display on which the online collaborative session is displayed;
track, via the online collaborative session executing on the processing device, a state of a plurality of window displays within the application window;
obtain, at the online collaborative session application, data indicative of an annotation made as part of the online collaborative session within the application window;
determine, from the data indicative of the annotation, the state of the application window and the state of the plurality of window displays, a first location of the annotation relative to the application window;
determine, based on the tracking of the state of the application window, a change to the state of the application window; and
determine a second location of the annotation based on the change of the state of the application window.

### Claim 15 (depends on 14)

The one or more tangible, non-transitory computer-readable mediums of claim 14, wherein the instructions operable to track the state of the application window are operable to track the state of the application window by tracking an area of the display on which the online collaborative session is displayed covered by the application window.

### Claim 16 (depends on 15)

The one or more tangible, non-transitory computer-readable mediums of claim 15, wherein the instructions operable to track the state of the application window further comprise instructions operable to update the area of the display on which the online collaborative session is displayed covered by the application window in response to one or more of:
passage of a predetermined period of time;
a change in focus of from the application window to another application window during the online collaborative session;
a movement of the application window relative to the display during the online collaborative session;
a maximization of the application window;
a minimization of the application window; and
a change from a first window display of the plurality of window displays to a second window display of the plurality of window displays.

### Claim 17 (depends on 15)

The one or more tangible, non-transitory computer-readable mediums of claim 15, wherein the data indicative of the first location comprises data indicative of a plurality of pixels corresponding to the annotation, wherein the data indicative of the plurality of pixels comprises a location for each one of the plurality of pixels within the area of the display on which the online collaborative session is displayed covered by the application window.

### Claim 18 (depends on 17)

The one or more tangible, non-transitory computer-readable mediums of claim 17, wherein an origin for the plurality of pixels is based on the area of the display on which the online collaborative session is displayed covered by the application window.

### Claim 19 (depends on 14)

The one or more tangible, non-transitory computer-readable mediums of claim 14, further comprising instructions operable to store data indicative of the first location of the annotation, and
wherein the instructions operable to determine the second location comprise instructions operable to update the data indicative of the first location.

### Claim 20 (depends on 14)

The one or more tangible, non-transitory computer-readable mediums of claim 14, wherein the plurality of window displays comprises one or more of:
a plurality of tabs within the application window;
a plurality of documents within the application window;
a plurality of pages within the application window; and
a plurality of slides within the application window.
