# US 10,375,130 B2 · Approach for accessing third-party content collaboration services on interactive whiteboard appliances by an application using a wrapper application program interface

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

- Number: US 10,375,130 B2
- Document ID: US10375130B2
- Status: Granted
- Kind: B2
- Application number: 15/384,181
- Filed: 2016-12-19
- Published: 2018-06-21
- Granted: 2019-08-06
- Earliest claimed: 2016-12-19
- Assignees: Ricoh Company, Ltd.
- Applicants: Rathnakara Malatesha; Lana Wong; Hiroshi Kitada
- Inventors: Rathnakara Malatesha; Lana Wong; Hiroshi Kitada
- Web page: https://patentgrep.com/patent/US10375130B2

## CPC

- 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)
- G06F 9/54: Interprogram communication
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04N 7/15: Conference systems
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

An approach for managing collaboration on IWBs allows users of different third-party collaboration services to participate in collaboration meetings on IWBs. The approach allows the users to use collaboration functionality provided by IWBs, such as annotation, and to communicate with each other, even though the users are using different third party collaboration services. The approach uses a collaboration manager that provides a “single wrapper” application program interface (API) and centralized management of collaboration meetings, including license key and token management, cross-license collaboration, user management and meeting management. The collaboration manager acts as a mediation layer that handles the APIs of different third-party collaboration services and allows users using heterogeneous collaboration clients to participate in collaboration meetings.

## Claims

### Claim 1

An interactive whiteboard (IWB) appliance:
one or more processors;
one or more memories;
a user interface;
an annotation application executing on the IWB appliance, wherein the annotation application is configured to allow a user of the IWB appliance to annotate electronic content displayed on the user interface of the IWB appliance;
a collaboration application executing on the IWB appliance, wherein the collaboration application is configured to access a plurality of third-party collaboration services via a management service that is separate from both the collaboration application and the plurality of third-party collaboration services;
wherein each third-party collaboration service, from the plurality of third-party collaboration services, and the management service supports a different Application Program Interface (API);
the collaboration application supports the API of the management service, but not the API of each third-party collaboration service from the plurality of third-party collaboration services; and
wherein the collaboration application is configured to access a particular collaboration function on a particular third-party collaboration service, from the plurality of collaboration services, by generating and transmitting, to the management service, a request to access the particular collaboration function that satisfies requirements of the API of the management service, but not requirements of the API of the particular third-party collaboration service.

### Claim 2 (depends on 1)

The apparatus as recited in claim 1, wherein the collaboration application implements a common graphical user interface across the plurality of third-party collaboration services.

### Claim 3 (depends on 1)

The apparatus as recited in claim 1, wherein the collaboration application is one or more of a stand-alone process, a plug-in module, a widget, or a library.

### Claim 4 (depends on 1)

The apparatus as recited in claim 1, wherein:
the request to access the particular collaboration function that satisfies requirements of the API of the management service is a first request,
the management service processes the first request and generates a second request to access the collaboration function on the particular third-party collaboration service, wherein the second request satisfies requirements of an API of the particular third-party collaboration service.

### Claim 5 (depends on 4)

The apparatus as recited in claim 4, wherein the second request to access the collaboration function on the particular third-party collaboration service includes an authentication token that is specific to both a user associated with the request to access the particular collaboration function that satisfies requirements of the API of the management service and the particular third-party collaboration service.

### Claim 6 (depends on 4)

The apparatus as recited in claim 4, wherein the second request to access the collaboration function on the particular third-party collaboration service includes an authentication token that is specific to the particular third-party collaboration service, but not a user associated with the request to access the particular collaboration function that satisfies requirements of the API of the management service.

### Claim 7

One or more non-transitory computer-readable media storing instructions which, when processed by one or more processors, cause:
an annotation application executing on an interactive whiteboard (IWB) appliance to allow a user of the IWB appliance to annotate electronic content displayed on the user interface of the IWB appliance; and
a collaboration application executing on the IWB appliance, wherein the collaboration application is configured to access a plurality of third-party collaboration services via a management service that is separate from both the collaboration application and the plurality of third-party collaboration services;
wherein each third-party collaboration service, from the plurality of third-party collaboration services, and the management service supports a different Application Program Interface (API);
the collaboration application supports the API of the management service, but not the API of each third-party collaboration service from the plurality of third-party collaboration services; and
wherein the collaboration application is configured to access a particular collaboration function on a particular third-party collaboration service, from the plurality of collaboration services, by generating and transmitting, to the management service, a request to access the particular collaboration function that satisfies requirements of the API of the management service, but not requirements of the API of the particular third-party collaboration service.

### Claim 8 (depends on 7)

The one or more non-transitory computer-readable media as recited in claim 7, wherein the collaboration application implements a common graphical user interface across the plurality of third-party collaboration services.

### Claim 9 (depends on 7)

The one or more non-transitory computer-readable media as recited in claim 7, wherein the collaboration application is one or more of a stand-alone process, a plug-in module, a widget, or a library.

### Claim 10 (depends on 7)

The one or more non-transitory computer-readable media as recited in claim 7, wherein:
the request to access the particular collaboration function that satisfies requirements of the API of the management service is a first request,
the management service processes the first request and generates a second request to access the collaboration function on the particular third-party collaboration service, wherein the second request satisfies requirements of an API of the particular third-party collaboration service.

### Claim 11 (depends on 10)

The one or more non-transitory computer-readable media as recited in claim 10, wherein the second request to access the collaboration function on the particular third-party collaboration service includes an authentication token that is specific to both a user associated with the request to access the particular collaboration function that satisfies requirements of the API of the management service and the particular third-party collaboration service.

### Claim 12 (depends on 10)

The one or more non-transitory computer-readable media as recited in claim 10, wherein the second request to access the collaboration function on the particular third-party collaboration service includes an authentication token that is specific to the particular third-party collaboration service, but not a user associated with the request to access the particular collaboration function that satisfies requirements of the API of the management service.

### Claim 13

A computer-implemented method comprising:
allowing, by an annotation application executing on an interactive whiteboard (IWB) appliance, a user of the IWB appliance to annotate electronic content displayed on the user interface of the IWB appliance; and
accessing, by a collaboration application executing on the IWB appliance, a plurality of third-party collaboration services via a management service that is separate from both the collaboration application and the plurality of third-party collaboration services;
wherein each third-party collaboration service, from the plurality of third-party collaboration services, and the management service supports a different Application Program Interface (API);
the collaboration application supports the API of the management service, but not the API of each third-party collaboration service from the plurality of third-party collaboration services; and
wherein the collaboration application is configured to access a particular collaboration function on a particular third-party collaboration service, from the plurality of collaboration services, by generating and transmitting, to the management service, a request to access the particular collaboration function that satisfies requirements of the API of the management service, but not requirements of the API of the particular third-party collaboration service.

### Claim 14 (depends on 13)

The computer-implemented method as recited in claim 13, wherein the collaboration application implements a common graphical user interface across the plurality of third-party collaboration services.

### Claim 15 (depends on 13)

The computer-implemented method as recited in claim 13, wherein the collaboration application is one or more of a stand-alone process, a plug-in module, a widget, or a library.

### Claim 16 (depends on 13)

The computer-implemented method as recited in claim 13, wherein:
the request to access the particular collaboration function that satisfies requirements of the API of the management service is a first request,
the management service processes the first request and generates a second request to access the collaboration function on the particular third-party collaboration service, wherein the second request satisfies requirements of an API of the particular third-party collaboration service.

### Claim 17 (depends on 16)

The computer-implemented method as recited in claim 16, wherein the second request to access the collaboration function on the particular third-party collaboration service includes an authentication token that is specific to both a user associated with the request to access the particular collaboration function that satisfies requirements of the API of the management service and the particular third-party collaboration service.
