Computer-implemented method for accessing user accounts from a video end system
The method uses access tokens to provide secure, delegated access to user account information, addressing the challenge of persistent access in shared video end systems, thereby simplifying and expediting video conferencing setup.
Patent Information
- Application Number
- JP2025546928
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-03-08
- Filing Date
- 2024-02-12
- Publication Date
- 2026-03-04
AI Technical Summary
Shared video end systems lack persistent access to user account information, leading to tedious and time-consuming setup processes for video conferencing, especially in scenarios requiring last-minute changes or ad-hoc conferences.
A computer-implemented method using an access token to grant secure delegated access to user account information, allowing video end systems to quickly and efficiently configure conference calls by accessing user account details such as calendar and contact information without manual intervention.
Enables rapid configuration of video conferencing systems by securely linking them to user accounts, enhancing collaboration and reducing setup time and complexity in dynamic conference scenarios.
Smart Images

Figure 2026507544000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a computer-implemented method for accessing user accounts from a video end system and a video end system for video conferencing. [Background technology]
[0002] A video conferencing system typically comprises two or more endpoints, each configured to communicate with the other endpoints over a data or telephone network or other connection for conducting two-way or multi-way video and / or audio conference calls.
[0003] Endpoints, which may also be referred to as video end systems, are configured to enable users to communicate with other users over a network by sending data streams, including audio, video, and other content streams (e.g., data files, text, or screen sharing), from one endpoint to another in a two-way conference call. In the case of a multiway conference call, the data streams can be sent to a central or distributed conference network where they are switched or transcoded to enable multiple participants to communicate and share information.
[0004] A video end system may include a single-purpose endpoint device whose primary function is to support video and / or audio conference calls. A video end system may also include separate video conferencing hardware including one or more video monitors, video cameras, audio microphones, audio speakers, and a control interface to allow a user to control the video end system.
[0005] In some examples, a video end system may be an all-in-one unit in which a single-purpose endpoint device and video conferencing hardware are included within the same device, for example, as a desktop unit or handheld device. In other examples, a video end system may include an endpoint device (sometimes referred to as a main processor) connected to a large display screen, a control interface device, and a camera. This configuration may be suitable, for example, for a small conference room. In other examples, a video end system intended for a larger room or auditorium may include endpoint devices connected to multiple display screens, one or more control interface devices, and multiple cameras and microphones.
[0006] Video end systems are often provided as shared video end systems intended for use by multiple users in a shared environment, such as a corporate conference room. However, shared video end systems traditionally do not have access to user accounts on the corporate computer infrastructure. As such, shared video end systems typically do not inherently have access to information about conferences that users of that video end system may need to attend or host.
[0007] In one known example, a shared video end system can be notified about a conference by configuring the shared video end system as a reservable resource in an enterprise calendar service. The shared video end system can then be invited to the conference, for example, by email. The shared video end system can then use the conference invitation to display the conference details and provide fast access to the conference, for example, by providing a "join now" button on a control interface. However, this method of providing access to conference information requires that shared video end systems (and conference rooms containing shared video end systems) be tightly managed and carefully assigned to specific time slots. This requires sufficient advance knowledge that a conference will take place so that users can reserve conference rooms and invite people to the conference in advance.
[0008] However, if a conference requires last-minute changes in venue and video end system (e.g., if the allocation of shared video end systems is not tightly controlled, if an ad-hoc conference call is required, or if the conference is extended), it can be tedious and time-consuming for the user to set up a new shared video end system. Typically, a new video end system will need to be selected, and a conference ID and password will need to be determined by the user and entered into the new video end system to enable the user to join the conference. Also, a virtual conference room may need to be created, and the conference ID and password communicated to other participants in the conference call. This can be tedious and time-consuming because the shared video end system does not inherently have access to the user's contact information.
[0009] Another example of using a shared video end system includes establishing a temporary connection between a user's portable device and the shared video end system. This connection may be established using a physical cable or adapter, or using a temporary logical association, for example, via a wireless signal or the Internet. For example, to create a temporary logical association, the shared video end system may send a time- or space-limited nonce to the user's portable device to verify that an application running on the user's device is in the physical vicinity of the video end system. This may involve sending the nonce using a QR code, Bluetooth, or ultrasound signal. Once the nonce is received, a logical connection can be established between the shared video end system and the personal device, allowing the video end system to access user account information (e.g., contacts and calendar information). However, this method requires the user to set up the shared video end system using an application on the user's personal device each time they want to use the shared video end system, which can be a complex and time-consuming procedure.
[0010] Accordingly, the present inventors have recognized a need for a secure mechanism for granting shared video end systems persistent access to user account information.
[0011] The present invention has been conceived in light of the above considerations. Summary of the Invention
[0012] According to a first aspect of the present invention, there is provided a computer-implemented method for accessing a user account from a video end system, comprising the steps of: The video end system is for conducting a video conference call, and the video end system includes a main processor, a control interface, and video conference hardware; The computer-implemented method comprises: obtaining an access token, the access token configured to allow access by the video end system to user account information associated with the user account; Steps to obtain user account information using the access token. A computer-implemented method is provided, comprising:
[0013] By using the access token to access user account information, the video end system can advantageously be granted secure delegated access to the user account information. In this way, the video end system can be more quickly configured by individual users who wish to securely link the video end system to their user account for conducting conference calls.
[0014] In the present invention, a video end system is intended to refer to a dedicated video conferencing system that includes specialized hardware and software for conducting video conference calls.
[0015] The video end system may be a shared video end system configured for use by multiple individual users, for example, a shared video end system may be located in a conference room of a company that can be reserved and used by multiple users to conduct conference calls.
[0016] The user account may be one of multiple user accounts associated with a user of the video end system. The multiple user accounts may be accessible over a network. For example, the user account may be a corporate user account associated with the user's individual computer profile, accessible over a network. Thus, the user account may be referred to as a remote user account. As such, the user may access the user's account from the video end system without having to locally pair the device with the video end system to grant access.
[0017] The computer-implemented method may be a method for video conferencing. In this example, the computer-implemented method may further include conducting a conference call using the obtained user account information. For example, as discussed herein, the user account information may include information about a planned meeting (e.g., contained in calendar information and / or contact details associated with the user account). As such, the video end system may be configured to use the information about the planned meeting to configure the conference call.
[0018] The main processor may be a processing element of the video end system configured to execute system software for operating the video end system and to conduct conference calls. The main processor may be configured to communicate with the video conferencing hardware and receive commands from the control interface.
[0019] The main processor may be a separate endpoint device, such as a single-purpose computing device or a local server, that is connected (e.g., by a wired or wireless connection) to the videoconferencing hardware and the device that includes the control interface. As such, the main processor may also be referred to as an endpoint device. In other examples, the main processor may form part of a single unit that also includes the control interface and / or the videoconferencing hardware. The main processor may also include a network interface for sending and receiving content streams for the videoconference call.
[0020] The main processor may be configured to perform some or all of the steps included in the computer-implemented method of the first aspect.
[0021] However, in some examples, the video end system may communicate with a central server (which may also be referred to as a central configuration service). In these examples, some or all of the steps of the first aspect may be performed by the central server. This may be advantageous when the video end system is one of multiple video end systems that communicate with the central server. As such, a user may switch from one video end system to another without having to re-authenticate to the second video end system. For example, the central server may obtain a user access token configured to grant access to a user account. The central server may then use the access token to access the user account and provide user account information to the video end system. The central server may then use the same access token to provide user account information to the second video end system without having to re-obtain the access token. Thus, by performing some or all of the steps of the first aspect on the central server, a user may be able to access their account more quickly and efficiently from multiple video end systems.
[0022] The video conferencing hardware may be a device that communicates with the main processor for the video conference. For example, the video conferencing hardware may include a camera and / or a display screen for sharing images and / or video streams in a video conference call. In particular, a video stream can be communicated from a camera to the video stream of the video conference call. One or more additional video streams can be received from the video stream of the video conference call and displayed on the display screen. In some examples, a video end system may include multiple cameras and display screens.
[0023] The videoconferencing hardware may also include loudspeakers and microphones for transmitting and receiving the audio streams of the conference call. In particular, the videoconferencing hardware may include one or more loudspeakers for generating the audio content of the conference call (e.g., as area broadcasting speakers or as loudspeakers included in personal headphones). The videoconferencing hardware may also include one or more microphones for providing the audio streams of the content streams of the conference call.
[0024] Each component of the videoconferencing hardware (i.e., camera, display screen, microphone, loudspeaker, etc.) may be provided as one or more integrated units or separate devices. The videoconferencing hardware and control interface may also be provided as one or more integrated units or separate devices. For example, a controller with a touch screen can function as both a control interface and a display screen.
[0025] The control interface, sometimes referred to as a controller or control interface device, may be any device with user input controls or a user interface for allowing a user to control the video end system. For example, the control interface device may be a tablet with a touch screen that a user can use to issue control signals to the video end system by pressing buttons on the touch screen. Other examples of control interface devices may include a keyboard, a mouse, a control panel with mechanical buttons, a voice control device, etc. For example, a user may use the control interface to start and end a conference call, add or remove parties from a conference call, adjust the volume level of speakers in the video end system, configure display screen settings, etc.
[0026] A number of control interface devices may be provided that are connected (eg, via wired or wireless connections) to the rest of the video end system.
[0027] As noted above, the control interface and video conferencing hardware may also be provided as a single unit. In this example, the video end system may be a single desktop or portable unit, which may also be referred to as a video end device. In yet a further example, the control interface and video conferencing hardware may comprise separable units that communicate with each other (e.g., via a wired or wireless connection).
[0028] A user account may be an identification or portion of a computer or resource assigned to an individual user or resource on a computing system (e.g., a computing system in a corporate account). User accounts can be protected by security measures (e.g., username and password) to prevent access to the user account by unwanted parties.
[0029] User account information may include any information or stored data associated with a user account. For example, user account information may include login or authentication information associated with a user account. User account information may also include a user's email, files, programs, account settings, and application status information stored within the user account.
[0030] In some examples, the user account information may include user calendar data, which may include information regarding dates, times, and participant details for conference calls scheduled in the user's calendar. Thus, by enabling the video end system to access the user account information, conference calls scheduled in the user's calendar can be automatically configured by the video end system according to, for example, the date, time, and / or participant information included in the calendar data.
[0031] In a further example, the user account information may include the user's contact data. For example, the video end system may be granted access to contact details (e.g., email addresses, phone numbers, names, etc.) of contacts that the user may want to include in a conference call. Thus, the video end system can use the user contact data to automatically establish the conference call, send virtual conference IDs and passwords, etc., to more efficiently configure the conference call without requiring the user to manually grant access to the user's contact data.
[0032] The user account information may be located on a central collaboration service. Thus, the video end systems can be configured to obtain or access the user account information from the central collaboration service via a network interface. For example, the central collaboration service may be a local enterprise network with access to enterprise user accounts or user account information (e.g., calendar information) from the enterprise user accounts. Thus, multiple video end systems can be connected to the central collaboration service and access the same user account. This is particularly beneficial for enhancing collaboration between video end systems and other shared video end systems connected to the central collaboration service. For example, if a user suddenly wants to switch from a first video end system to a second video end system, the second video end system may be able to quickly and conveniently access the user account information on the central collaboration service to take over from the first video end system with minimal interference from the user.
[0033] Obtaining an access token may refer to receiving an access token for the first time (e.g., from an authentication service) or obtaining an access token that has already been generated. For example (as described in more detail below), the video end system may include or be connected to a storage device for access tokens associated with user accounts.
[0034] The access token can be configured to allow the video end system to access the user account information. In other words, the access token can be configured to grant the video end system secure delegated access to the user account. This process can include authenticating the video end system using the access token. Advantageously, by providing the access token to access the user account information, the video end system can be conveniently granted access to the user account information without the user having to manually provide the video end system with user login details or other credentials to access the user account.
[0035] The computer-implemented method may further include storing the access token for later retrieval by the video end system. Storing the access token for later use may advantageously enable persistent delegated access to the user account by the video end system after the session has ended. For example, obtaining an access token may refer to initially generating an access token associated with a particular user account. After the access token is initially generated, the access token can then be stored for later use. In this way, a user can more easily access their user account from the video end system in the future, compared to existing techniques that may require an authentication routine to be performed each time the user wishes to use the system.
[0036] Storing the access token in the secure storage module for later retrieval by the video end system can include associating the access token with a user account, the secure storage module being configured to store multiple access tokens associated with respective multiple user accounts. In this way, the video end system can be granted persistent delegated access to each of multiple (remote) user accounts within, for example, an enterprise network.
[0037] An access token may be a key, a portion of a code, or data that includes an identifier corresponding to a video end system and security permissions configured to allow the video end system to access user account information. An access token may be associated with a particular user account and configured to allow the video end system to access that user account.
[0038] An access token can be generated using an authentication service and communicated to the video end system for storage. For example, a user of the video end system can log into an authentication service (e.g., provided on a website or server). The authentication service can then verify the user's identity using a verification process, such as requiring a password or multi-factor authentication. The authentication service can then send an access token (or a code that can be exchanged for an access token) associated with the user's account to the video end system. The video end system can then store the access token for use by the video end system to access the user's account.
[0039] In some examples, the video end system may be configured to receive an access token from an authentication service or framework configured to provide secure delegated access to resources. For example, the authentication service for providing secure delegated access may be OAuth2 (such as described in RFC6749) or SAML (such as described in RFC7522).
[0040] For example, obtaining an access token can include sending user authentication data to a website or server implementing OAuth or SAML and receiving an access token from the website or server. In another example, a user of a video end system can log in to a server or website implementing an authentication service (e.g., OAuth or SAML) using a personal device or a control interface of the video end system. The access token can then be sent from the website or service to the video end system.
[0041] Using the access token to access the user account information may include verifying the access token to prove that the video end system has permission to access the user account. If the video end system is successfully verified, the video end system can obtain the user account information.
[0042] The video end system uses the access token to gain complete access to the user account (i.e., to log in to the user account and have unrestricted access to all of the data in the user account). In other examples, the video end system can use the access token to gain partial access to the user account or to retrieve data from the user account. For example, an access token can allow the video end system to retrieve user calendar information and user contact information, but limit the video end system's access to other resources in the user account (e.g., the user's confidential files or documents).
[0043] The access token can be stored in the video end system, so in this example, obtaining the access token can include retrieving the access token from non-volatile memory within the video end system. The video end system can be configured to store multiple access tokens associated with multiple respective user accounts.
[0044] The video end system may include a secure storage module configured to store multiple access tokens. Thus, obtaining the access token may include providing authentication data to the secure storage module and retrieving the access token from the secure storage module. The secure storage module may be a local storage module such that multiple access tokens can be stored locally without requiring remote access to a remote storage module.
[0045] In another example, the access tokens may be stored on a central server. For example, multiple video end systems may be connected to a central server (e.g., an enterprise server) configured to host multiple access tokens associated with respective user accounts (e.g., employment accounts). In this manner, multiple video end systems may be able to access the same user account, beneficially enhancing collaboration and ease of use of the video end systems. This may be desirable, for example, when a user suddenly switches from using a first video end system to using a second video end system. The second video end system can then access the same user account information and be used to continue a conference call that was initiated on the first video end system.
[0046] The access token may be stored in a secure storage module on the central server, so obtaining the access token may include providing authentication data to the secure storage module and retrieving the access token from the secure storage module on the central server.
[0047] In the above example, the secure storage module may include encrypted storage. The secure storage model may be configured to securely store one or more access tokens associated with each user account. Thus, obtaining an access token may include decrypting or unlocking the access token. The access tokens may be individually encrypted (i.e., locked) and / or the secure storage module may be encrypted.
[0048] Obtaining the access token may include requesting and receiving confirmation from the user via the control interface that the access token should be made available. In some examples, the computer-implemented method may include receiving a passcode from the user via the control interface. Thus, obtaining the access token may include using the passcode to decrypt or unlock the user access token.
[0049] In some examples, the video end system can be configured to determine whether a user associated with a user access token is located or detected within a given physical proximity from the video end system. In this case, the access token can be acquired only if the user associated with the access token is located within a given physical proximity from the video end system. In this example, the computer-implemented method can include detecting a user within a given physical proximity from the video end system. Thus, acquiring the access token can include acquiring an access token associated with the detected user.
[0050] The given physical proximity range may be a local area surrounding the video end system where the video end system can locally detect the user. For example, the given physical proximity range may be a room where the video end system is located, a certain distance around the video end system, a field of view of a camera where a user can be detected, a zone where a PAN (Personal Area Network) signal from a personal device can be detected, or any other area around the video end system where a user can reasonably be expected to use the video end system.
[0051] In this way, the video end system can be quickly configured for a particular user and gain access to the user account without the user having to manually notify the video end system which user account should be accessed. Furthermore, this method can provide more secure delegated access to user account information. Because the user must be detected by the video end system to obtain an access token and access the user account information, the possibility of the user account being accessed by a malicious party can be reduced.
[0052] For example, determining whether the user(s) associated with the access token(s) is / are in proximity (i.e., within a given physical proximity) to the video end system may include detecting a personal area network (e.g., Bluetooth or NFT signal) from a personal device associated with the user. In this way, the video end system can be quickly and efficiently granted delegated access to the user account with little manual intervention by the user.
[0053] In some examples, the video end system can be configured to detect and identify a user associated with an access token using a facial recognition module. Thus, determining whether a user associated with an access token is present within a given physical proximity of the video end system can include detecting the user within the camera's field of view using the video conferencing hardware's camera and facial recognition module. In this way, the security of the video end system can be improved because a user who grants the video end system delegated access to the user's account must be present within the camera's field of view; otherwise, the access token cannot be obtained. Therefore, the access token is unlikely to be obtained by a third party without authorization to access user account information.
[0054] In some examples, the video end system can be configured to detect and identify a user associated with the access token using a biometric module (i.e., a biometric reader). Thus, determining whether a user associated with the access token is present within a given physical proximity from the video end system can include identifying the user near the video end system using the biometric module. For example, the biometric module can be a fingerprint scanner configured to identify a user of the video end system.
[0055] In a further example, the video end system may be in communication with a building management system. Thus, determining whether the user associated with the access token is within a given physical proximity of the video end system may include receiving a signal from the building management system indicating the user is near the video end system. For example, the building management system may be configured to detect whether a smart card or key fob associated with the user is detected within a given physical proximity of the video end system (e.g., to access a room or area in which the video end system is located).
[0056] In some examples, the shared video end system can be configured to detect multiple users located physically close (i.e., within a given physical proximity) to the video end system (e.g., by detecting a personal area network, by using a facial recognition or fingerprint recognition module, by detecting the users' smart cards, or via any other suitable method). Here, the shared video end system can be configured to receive confirmation from the control interface of the selected user. Thus, obtaining the access token can include obtaining an access token associated with the selected user. For example, the user may be prompted to select a user from a list of detected users displayed on the control interface.
[0057] The computer-implemented method may further include locking the access token to prevent further use until the access token is unlocked by an associated user of the access token. In particular, the video end system (or a central server connected to the video end system) may be configured to lock the access token. For example, locking the access token may include encrypting the access token or encrypting a secure storage module containing the access token. The effect of locking the access token is to make the access token unusable until the associated user approves the unlocking of the access token. In one example, locking the access token is presented to the user as “logging out” of the video end system. In another example, this action may be presented to the user as a “screen lock” action. In another example, locking the access token may be presented to the user as a “switch from user mode to public mode” action. The user can approve the unlocking of the access token using one of the unlocking mechanisms described herein.
[0058] For example, the video end system can be configured to lock or encrypt the access token using a key received via the control interface or from a separate device. For example, the key may be received from a personal device using an NFT or a personal area network such as Bluetooth, or over the Internet, or the key may be a PIN received from the control interface. In this example, the video end system can be configured to delete the key from memory after the access token is encrypted. Thus, the access token, and therefore the user account information, is protected from further access by the video end system until the key is provided to decrypt the access token.
[0059] The computer-implemented method can further include locking the user access token upon detection of the predetermined event. In this manner, the user account information can be protected from further use by the video end system after the current session has ended.
[0060] For example, the video end system may be configured to lock the access token when the conference call ends.
[0061] In a further example, the video end system (or a central server connected to the video end system) may be configured to lock the access token if the video end system is not used for a predetermined time. For example, the video end system can be configured to monitor activity on the control interface. If the control interface is idle for a predetermined time, the video end system can lock the access token to prevent unauthorized users from accessing user account information.
[0062] Alternatively or additionally, the video end system may be configured to lock the access token if a personal area network signal (e.g., Bluetooth, NFC) from the user's personal device associated with the access token is not detected within a predetermined time. In this way, the access token can be secured, for example, if the user leaves the room containing the video end system with the user's personal device. Advantageously, user account information can be secured even if the user forgets to manually lock access to the user's account by the video end system.
[0063] In a further example, the video end system can be configured to lock the access token when a command to lock the access token is received from the control interface. For example, a user can press a button or key provided on the control interface to end the session and disable access to the user's account information by the video end system. In this way, a user can be confident that their account information is secure when they are finished using the video end system.
[0064] In a further example, if the video conferencing hardware includes a camera, the video end system can be configured to detect motion within the camera's field of view, where the video end system can be configured to lock the access token if no motion is detected within the field of view for a predetermined period of time. In this way, the video end system can protect the access token if one or more participants in the conference call leave the room or area in which the video end system resides.
[0065] In some examples, the video end system can be configured to lock the access token when it receives a signal from the second video end system indicating that a user associated with the access token is using the second video end system.
[0066] For example, a video end system may be connected to a central video end system management service configured to communicate with one or more additional video end systems. A signal indicating that a user is using a second video end system may then be received from the central video end system management service. In another example, the video end system and the second video end system may be configured to communicate over the Internet or a local network. In this manner, when a user switches from a first video end system to a second video end system, user account information can be secured without having to manually lock access to the user's user account on the first video end system.
[0067] The second video end system may be a shared video end system for use by multiple users. For the avoidance of doubt, the second video end system may be configured to perform each of the optional features described herein with respect to the (first) video end system.
[0068] The video end system can be connected to a building management service that is configured to indicate to the video end system whether a user is detected remotely (i.e., at a different location) from the video end system. In this way, user account information accessible by the video end system can be secured.
[0069] The building management service can be configured to detect whether a room containing the video end system is vacant (i.e., has no occupant). In this example, the video end system may be configured to lock the access token when it receives a signal from the building management service indicating that the room is vacant. The building management service may be configured to detect whether an occupant is present in the room, for example, by receiving a signal from one or more passive infrared (PIR) sensors installed in the room. The PIR sensors may be installed to control lighting in the room in response to detecting occupant movement.
[0070] In some examples, the building management service can be configured to detect whether a user associated with the access token has logged into an alternative computing system. As such, the video end system can be configured to lock the access token upon receiving a signal from the building management service indicating that the user has logged into the alternative system. For example, the alternative computing system may be the user's personal computer, a different video end system, a printer, or a server in communication with the building management service.
[0071] The video end system can be configured to run third-party applications. For example, the video end system may be configured to run presentation software or video editing software. The output of the third-party applications may be included in the content stream of the conference call.
[0072] The third party application may be provided in an application environment that is configured to provide an interface between the third party application and the rest of the video end system.
[0073] The computer-implemented method can further include storing application status information associated with the third-party application. The application status information can be stored in a central configuration service so that the application status information can be accessed by multiple video end systems.
[0074] The application status can be associated with a user account and stored (and optionally encrypted) along with the access token associated with that user account. For example, the application status information may be stored in a secure storage module that also contains the user access token.
[0075] As such, the computer-implemented method can include obtaining application status information associated with the third-party application. The application status information can be obtained at the same time that the access token is obtained. For example, as described above, when a user is detected near a shared video end system, the video end system can be configured to obtain an access token and application status information associated with the user's user account.
[0076] The video end system can be configured to use the application status information to configure third party applications running on the video end system.
[0077] In this way, a third-party application executed by a video end system can be configured to execute according to the third-party application's previous state as recorded in the application status information. This is particularly useful when a user wishes to move between a first video end system and a second video end system. By storing the application status information in association with the user account, the second video end system can enable the third-party application to be restarted from the state it left in the first video end system, thus improving the user experience and saving time by avoiding the user having to manually save the transfer of application status information between video end systems.
[0078] The computer-implemented method may further include providing an application environment for the third-party application to run, the application environment configured to route control signals from the control interface device to the third-party application and to route media signals between the third-party application and the video conferencing hardware and / or content streams of the video conferencing call.
[0079] By providing an application environment for running third-party applications, it is advantageous that third-party applications can be used with the video end system without experiencing problems due to incompatibility of the third-party applications with the video end system. This allows users of the video end system (which may be, for example, a conference room device) to use the video end system for additional functionality beyond video conferencing. For example, the video end system can be used to host local and / or in-conference collaborative applications to enhance the user's conference experience. The method of the first aspect can also provide an opportunity for third-party application developers to develop new applications specific to video conferencing using the video end system.
[0080] The computer-implemented method may additionally include the step of executing third-party applications in the application environment, so that the functionality of the video end system can be extended by executing new applications.
[0081] In one or more embodiments, the application environment may include a control signal interface, i.e., programming configured to route control signals from the control interface device to a third-party application.
[0082] In one or more embodiments, the application interface may include a media signal interface, i.e., programming configured to route media signals between a third-party application and the video conferencing hardware and / or content stream of a video conferencing call.
[0083] The video end system may include system software configured to operate the video end system and enable conducting conference calls using the video end system. As such, a computer-implemented method may include operating the video end system to conduct video and / or audio conference calls using the system software. The system software may be an application or computer program, including proprietary software, provided with and configured to operate with the video end system.
[0084] The video end system may be managed by a standard operating system. For example, the standard operating system may be a mass-market operating system such as Android. The operating system may be configured to support a collection of mass-market applications produced by third parties designed to run on mass-market hardware such as tablets or smartphones. Other examples of standard operating systems include Huawei's HarmonyOS or Apple's iOS.
[0085] A third-party application may be an application, computer program, or software package that provides additional functionality. In particular, a third-party application may have functionality other than supporting video conference calls. For example, a third-party application may include a collaboration application. For example, the application may be one or more of a document sharing application, a whiteboard application, a multimedia presentation application, a training application, a review application, a polling application, or a question submission application. The application may be configured to run locally or remotely over the Internet to include other parties in the video call. A third-party application may be provided by or downloaded from an external source (i.e., the third-party application is not part of the system software originally provided with the video end system to enable conference calls).
[0086] Third-party applications can be configured to run on mass-market hardware such as tablets or smartphones (i.e., third-party applications can be configured to be compatible with hardware other than the video end system).
[0087] An application environment is intended to refer to a framework or platform configured to accommodate the deployment of a single application. An application environment includes a predefined collection of computing resources that host the application. The application environment can be configured to provide a virtualized or standardized device interface to third-party applications to enable the third-party applications to run even when the physical device (originally intended for use with the application) is disconnected or the physical device is different from what the application expects. For example, the virtualized device interface may be configured to reroute data to a different physical device while the application is running.
[0088] In some examples, multiple application environments may be provided to operate multiple respective third-party applications.
[0089] The application environment can be provided on the video end system. However, in other examples, the video end system may communicate with a cloud service (or a separate server on a local network), and the application environment may be provided on the cloud service (or a separate server). Hosting the application environment on a cloud service can advantageously improve the performance of the video end system, as potentially resource-intensive third-party environments do not need to be hosted and run on the video end system's local hardware. Also, when provided by a cloud service, the application may be completely isolated from the corporate network on which the video end system is located. This allows untrusted applications to be run without risk to the corporate network.
[0090] The application environment may be provided on the main processor (or endpoint device) of the video end system, or on a processing element connected to the main processor (e.g., via an internet connection to a cloud service).
[0091] In some examples, the application environment may be provided on a control interface device, where the control interface device may be configured to perform the computer-implemented method of the first aspect. In this example, the control interface device may also be considered as an endpoint device for operating the video end system to enable the conference call. In other words, the control interface device and the endpoint device may be provided as a single unit. In this example, the single unit may include system software for operating the video end system and enabling the conference call.
[0092] This example is useful in a scenario where one participant in a video call wants to download and run a third-party application without allocating other resources of the video end system to run the third-party application. This example can be advantageous when the video end system is running an OS that is not compatible with the third-party application, but the control interface is running a different OS that may be compatible with the third-party application.
[0093] As mentioned above, the control interface device and the video conferencing hardware may also be provided as a single unit. In this example, the video end system may be a single desktop or handheld unit, which may also be referred to as a video end device. In yet a further example, the control interface device and the video conferencing hardware may comprise separable units that communicate with each other (e.g., via a wired or wireless connection).
[0094] The control interface device and the endpoint device can communicate via a cloud-based relay service. Thus, in this example, the application environment can be located on the endpoint device, and the application environment can receive control signals from the control interface device via the cloud-based relay service. Here, the endpoint device can itself be a first control interface device, and a second control interface device can communicate with the first control interface device via the cloud-based relay service.
[0095] An advantage of the endpoint devices and control interface devices communicating through the cloud may be that the wireless network to which the controller is connected may be different from the network to which the video end system is connected and may be firewalled from this network, so there may not be direct communication between the two devices. Thus, by communicating through the cloud, the endpoint devices and control interface devices may be able to communicate even if they are connected to separate networks.
[0096] The application environment may include a data mapping interface configured to relay control signals from the control interface device to the third-party application and to relay media signals between the third-party application and the video conferencing hardware and / or the content stream of the video conferencing call. The data mapping may be a virtual interface that defines a boundary to the application environment and may act as a virtualization layer by relaying data between the third-party application within the application environment and software and hardware external to the application environment.
[0097] The media signals may include video data and / or audio data forming the content stream of the video conference call (e.g., audiovisual signals operating in a camera-off mode). In some examples, the media signals may include other types of data passed to and from third-party applications. For example, the media signals may include computer files or text (e.g., other types of audiovisual-related data, e.g., still images, computer files, text that can be shared over a video link). The control signals may include signals for selectively enabling and disabling the routing of media signals between the third-party application and the videoconferencing hardware and / or the content stream of the videoconference call.
[0098] For example, the media signals may include video from a third-party application to enable remote viewing of the third-party application via videoconferencing hardware and / or the content stream of the videoconference call. To that end, the computer-implemented method may include receiving a remote view control signal from a control interface device, enabling or disabling the remote view of the third-party application on one or more videoconferencing hardware units, and / or enabling or disabling the remote view of the third-party application for one or more channels of the videoconference call based on the remote view control signal. In this manner, a user of the video end system can determine on which display screen the third-party application is displayed and which remote participants in the videoconference call can view the third-party application.
[0099] The application environment can be configured to convert control signals from the control interface device having a first format into application control signals for controlling a third-party application having a second format (i.e., using a data mapping interface). In other words, the computer-implemented method can include using the data mapping interface to convert (i.e., reformat) control signals from the control interface device having a first format into application control signals for controlling a third-party application having a second format. For example, the application environment can be configured to emulate gestures or key presses in the application upon receiving user control signals from the control interface. This can include emulating function buttons, a virtual keyboard, a dial pad, a directory lookup, or other navigation elements for the third-party application in the virtual environment.
[0100] For example, the control interface device (or one or more control interface devices) may include a keyboard for sending control signals that are keyboard events. The application environment can be configured to convert the keyboard events into application control signals for controlling the third-party application. In other words, the computer-implemented method can include converting control signals that include keyboard events from the control interface device having a first format into application control signals for controlling the third-party application having a second format. The application control signals may be configured to mimic control signals expected by the third-party application. For example, keyboard events may be converted into function signals that correspond to function buttons normally provided by the third-party application.
[0101] The control interface device may include a touchscreen having a first size for sending control signals, and the third-party application may be configured to receive application control signals from a touchscreen having a second size. For example, the application may be intended to be enjoyed on a smartphone, and the control interface device may have a much larger screen. In this case, the application environment may be configured to scale or map control signals from the control interface device to application control signals for controlling the third-party application. In other words, the computer-implemented method may include scaling control signals from the control interface device to form application control signals for controlling the third-party application. For example, the application environment may be configured to receive position and movement information from the touchscreen of the control interface device and proportionally scale the position and movement information to correspond to the application touchscreen.
[0102] The control interface device can include a user interface environment for executing an application user interface associated with the third-party application. For example, the control interface device can include a screen or a touch screen, and the application user interface can be configured to display a representation of the third-party application on the screen. The representation of the third-party application can include function buttons, a virtual keyboard, a dial pad, a directory lookup, or other navigation elements for navigating and / or controlling the third-party application.
[0103] Similarly, the application environment can be configured to convert a video signal from a third-party application having a first format into a media signal for the videoconference call content stream and / or videoconference hardware having a second format. In other words, the computer-implemented method can include converting a media signal from a third-party application having a first format into a media signal for the videoconference call content stream and / or videoconference hardware having a second format. For example, the media signal may include a video signal, and the application environment may be configured to reformat the video data to map screen sizes, video formats (e.g., compressed vs. uncompressed), pixel counts, etc., between formats compatible with the application and the videoconference hardware and / or videoconference call content stream. In other examples, the media signal may include an audio signal, an image, file data, etc., that is converted from a first format to a second format compatible with the third-party application.
[0104] The application environment may include a data mapping interface formed from an application programming interface (API) provided by a third-party application.
[0105] In some examples, the application environment may include customized instructions corresponding to the third-party application. The customized instructions may be stored in a central configuration service. The central configuration service may be located on a remote server accessible by the video end system. In this case, the computer-implemented method may include obtaining the customized instructions from the central configuration service and implementing or generating a data mapping interface based on the customized instructions.
[0106] The video end systems can be in communication with a central monitoring service, and the computer-implemented method can include monitoring the third-party applications from the central monitoring service, which can be located on a remote server.
[0107] The video end system may include an administrative interface for allowing an administrator to enable or disable approval for downloading third-party applications. For example, if a user wants to install a new third-party application, the computer-implemented method may include first requesting approval from the user to download the new third-party application. The approval may then be received as a password entered via the control interface device.
[0108] The video end system can be configured to communicate with a management server or cloud service to obtain a list of approved applications. The video end system can then download a third-party application only if the third-party application is included on the list. In some examples, the list of approved applications may be presented to a user, from which an application may be selected for installation for operation by the video end system.
[0109] An application environment including a third-party application may be sandboxed, and by sandboxing the application environment, the third-party application's access to computer resources is restricted. For example, a third-party application may be restricted from full access to CPU, memory, file system, network, audio resources, or display resources. In this way, potentially malicious activity of untrusted third-party applications can be reduced.
[0110] Sandboxing can be achieved by hosting third-party applications on a guest virtual LAN or by hosting the application environment on a cloud server to further isolate third-party applications from the rest of the corporate network or video end system.
[0111] In other examples, the third-party application may be a trusted application and may be provided with direct access to computing resources such as the CPU, memory, file system, network, audio resources, or display resources, which is beneficial for increasing the efficiency and performance of the trusted third-party application by removing delays that may be introduced by a virtualization layer.
[0112] In some examples, installing the third party application for use by the video end system may include installing the third party application on the video end system, hi other examples, installing the third party application for use by the video end system may include installing the third party application on a cloud server in communication with the video end system.
[0113] The computer-implemented method may further include downloading customized instructions corresponding to the third-party application from a central configuration service to create an application environment.
[0114] In some examples, the computer-implemented method may further include communicating with a management server or a cloud service to obtain a list of approved applications, and downloading the third-party application only if the third-party application is included in the list. Thus, instances of potentially malicious third-party applications may be reduced. Also, the owner of the video end system may control whether potentially resource-intensive third-party applications may be downloaded to the video end system.
[0115] The computer-implemented method can include receiving user authentication information to enable installation of third-party applications, thereby improving security of the video end system and protecting it from downloading potentially malicious third-party applications by unauthorized users. According to a further aspect of the present invention, there is provided a computer-implemented method for operating a third party application using a video end system for conducting a video conference call, the video end system comprising: video conferencing hardware; and a control interface device; The computer-implemented method comprises: providing an application environment for executing the third-party application, the application environment comprising: Routing control signals from the control interface device to the third-party application; Routing media signals between third-party applications and video conferencing hardware and / or content streams of video conference calls A computer-implemented method is provided, configured to: In a further aspect of the present invention, there is provided a computer-implemented method of installing a third party application for use by a video end system, the video end system being for video conferencing, the method comprising: generating an application environment; The application environment is Relaying control signals from the control interface device to the third-party application; generating a media signal configured to relay a media signal between a third-party application and the video conferencing hardware and / or a content stream of the video conferencing call; installing a third-party application within the application environment; A computer-implemented method may be provided, including: In another aspect of the present invention, there is provided an application environment configured to host third party applications for operation by a video end system, the application environment comprising: Routing control signals from a control interface device of the video end system to a third-party application; Routing media signals between third-party applications and video conferencing hardware and / or content streams of video conference calls An application environment can be provided that is configured to:
[0116] In some examples, the application environment may be configured to run on a video end system, while in other examples, the application environment may be configured to run on a cloud service that communicates with the video end system.
[0117] In a further aspect of the present invention, there may be provided a video end system configured to perform the computer-implemented method of any preceding aspect. In particular, the video end system may include a control interface and a main processor (which may also be referred to as an endpoint device) configured to communicate with video conferencing hardware for conducting the conference call, the video end system being configured to obtain a user access token and use the user access token to access user account information. The video end system may be configured to conduct the conference call using the user account information.
[0118] For the avoidance of doubt, the video end system may have any of the optional features described above in relation to the first aspect.
[0119] In a further aspect of the present invention, there may be provided a network of video end systems comprising a plurality of video end systems according to the preceding aspect, the plurality of video end systems being connectable to a central configuration service containing user account information.
[0120] In a further aspect of the present invention, there may be provided a computer program product comprising instructions which, when executed by a computer, cause the computer to perform the method of any one of the preceding aspects. The computer program product may take the form of a non-tangible computer program product comprising the instructions.
[0121] A further aspect of the present invention may provide a computer readable storage medium having stored thereon a computer program according to the preceding aspect of the present invention.
[0122] The present invention includes combinations of the described aspects and preferred features except where such combinations are expressly not permitted or explicitly avoided.
[0123] Embodiments and experiments illustrating the principles of the present invention will now be discussed with reference to the accompanying figures. [Brief explanation of the drawings]
[0124] [Figure 1] 1 illustrates a typical video end system according to the prior art; [Figure 2] 1 is a flowchart illustrating an example process for video conferencing using a video end system in accordance with at least one aspect of the present invention. [Figure 3] 10 is a flowchart illustrating another exemplary process for video conferencing using a video end system in accordance with at least one aspect of the present invention. [Figure 4] 1 illustrates a video end system according to an embodiment of the present invention; [Figure 5] FIG. 2 illustrates a video end system according to another embodiment of the present invention. [Figure 6] FIG. 2 illustrates a video end system according to another embodiment of the present invention. [Figure 7] FIG. 2 illustrates a video end system according to another embodiment of the present invention. [Figure 8] FIG. 2 illustrates a network of two video end systems according to another embodiment of the present invention. [Figure 9] FIG. 2 illustrates a video end system according to another embodiment of the present invention. [Figure 10] FIG. 10 is a diagram illustrating the video end system of FIG. 9. [Figure 11] FIG. 2 illustrates a video end system according to another embodiment of the present invention. [Figure 12] FIG. 2 illustrates a video end system according to another embodiment of the present invention. [Figure 13] FIG. 2 illustrates a video end system according to another embodiment of the present invention. [Figure 14] FIG. 2 illustrates a video end system according to another embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0125] Aspects and embodiments of the present invention will now be discussed with reference to the accompanying drawings. Further aspects and embodiments will be apparent to those skilled in the art. All documents mentioned in this text are incorporated herein by reference.
[0126] FIG. 1 shows a block diagram of a typical video end system 1 according to the prior art.
[0127] The video end system 1 comprises a main processor 3 (sometimes referred to herein as an endpoint device 3). The main processor 3 is connected to a control interface 2 and to video conferencing hardware. The video conferencing hardware comprises a display screen 5 and a camera 4.
[0128] In this example, the video end system 1 is connected to a network 6, e.g., the Internet, to enable two-way or multi-way communication in a conference call. Using the network, video footage from cameras 4 or other media content (e.g., audio, computer files, text) can be sent and received over the network 6 and displayed on a screen 5.
[0129] The video end system 1 is a dedicated video conferencing system for conducting video conference calls. Specifically, the video end system 1 is a shared video end system configured for use by multiple individual users. For example, the shared video end system 1 may be located in a conference room of a company.
[0130] The main processor 3 is a local processing resource, such as a computer or server, that includes proprietary software for controlling the rest of the video end system 1 and for conducting video conference calls. In other examples, the video end system 1 may include multiple local processing resources distributed across multiple devices.
[0131] The control interface 2 comprises a user interface for receiving user input. The control interface 2 is configured to receive the user input and relay the user input to the main processor 3 as control signals for controlling the video end system 1. The control interface 2 may optionally be a separate control interface device or may be incorporated into the same unit as the main processor 3. For example, the entire video end system may be a personal touch screen device, or in the case of a conference room system, the control interface 2 may be one of several touch screens located around the conference room table. Other examples of the control interface 2 may include a keyboard, a mouse, custom function buttons, or other user controls.
[0132] The control interface 2, camera 4, and display screen 5 are connected to the main processor 3 via wired or wireless data connections. For example, the data connections may be wired connections including USB or powered Ethernet such as 802.3at, or wireless connections including Wi-Fi or Bluetooth. The data connections between each device in the video end system 1 may be direct point-to-point connections, or indirect connections including data relay through one or more servers on the Internet 6.
[0133] The video end system may be one video end system included in a network of video end systems managed by a central management service within an organization.
[0134] Typically, computing systems within such organizations include user accounts assigned to individual users, who can access their user account information, such as email, programs, files, calendars, etc., by logging in to their user accounts.
[0135] A user of a video end system may wish to access their own calendar, contacts, or other data from their own personal user account. Therefore, the inventors have devised a method to allow secure delegated access by a video end system to user account information.
[0136] In the following examples, similar features are given corresponding reference numerals and corresponding descriptions apply, except where such descriptions are expressly not permitted or explicitly avoided.
[0137] FIG. 2 shows a flowchart illustrating an exemplary process for video conferencing using a video end system in accordance with at least one embodiment of the present invention.
[0138] In the following examples, the processes are described as being performed by a video end system, however, in some examples, some or all of the steps described herein may be performed by a central server in communication with the video end system(s).
[0139] In step S100, the video end system obtains an access token associated with the user account.
[0140] The access token is configured to allow delegated access by the video end system to a user account (or information from a user account) within an organization. For example, the access token may include user credentials and permissions.
[0141] For example, a video end system may request access to a user account and provide an access token to an organization's user account management service for validation. The user account management service can then validate the access token to ensure that the video end system has permission to access the requested user account.
[0142] In this step, "obtaining an access token" can refer to the initial procedure for initially generating an access token associated with a user account, or to obtaining a user access token from a secure storage module.
[0143] To generate an access token, a user is required to grant delegated access by the video end system to a specific user account.
[0144] For example, in one embodiment, each user of a video end system may grant a one-time authorization of delegated access by the video end system to their user account. The user associated with the account will take the necessary steps to inform the collaboration system that the video end system should be granted access to a set of collaboration resources. The steps may involve, for example, entering a username and password and a multi-factor authentication code, followed by explicitly accepting the set of requested permissions. This may then grant limited access to contact and calendar information in the user account.
[0145] In another embodiment, an IT administrator within an organization may allow delegated access by the video end system to multiple user accounts (or information from those user accounts).
[0146] In the above example, granting delegated access to the video end system may involve using an authentication service such as OAuth2 or SAML, and this process may occur on the video end system itself, for example by requiring the user to provide user credentials using a control interface.
[0147] In another example, delegated access may be created using a proxy authorization service, such as an OAuth device flow performed on a website. In this example, a user may use a second device, such as a mobile phone or laptop computer, to visit a website that is performing the OAuth flow.
[0148] After the user or IT administrator provides their credentials, the authentication service can then provide the video end system with an access token or a code that can be exchanged by the video end system for an access token. For example, if OAuth is used as the authentication service, there may be an additional step in which the authentication server first provides a code to the video end system, which can then combine this code with the application ID and application secret associated with the video end system. This combination can then be sent back to the authentication service to receive the access token and refresh token.
[0149] The video end system can then use the access token to access the user account associated with that access token. After the access token is generated, the video end system can be configured to securely store the access token in a secure storage module (sometimes referred to as a secure enclave) for later retrieval by the video end system. Alternatively, the video end system may be configured to store the access token in a central management service, which may itself utilize the secure storage module.
[0150] The secure storage module may be located in a physically secure area, such as a server room, or may be built around a hardware encryption device, such as a Trusted Platform Module (TPM). For example, the secure storage module may include a device configured to store encrypted data without revealing the data unless the key is provided.
[0151] The secure storage module can be configured to lock and unlock an access token depending on whether a user associated with the access token is determined to exist. Thus, as discussed in more detail below in connection with the following figures, obtaining an access token can first involve detecting a user, identifying the user as a legitimate user, and unlocking the user's associated access token.
[0152] In step S102, the video end system uses the access token obtained in step S100 to access the user account information.
[0153] This may include accessing a user account through an organization's central collaboration service. For example, the video end system may communicate with the collaboration service to provide an access token where the video end system proves it has authorization to act on behalf of the user and retrieve user account information from the user account.
[0154] In another example, the token authorization operation and subsequent access to the collaboration service may be performed by a central management service on behalf of the video end system, such that the video end system itself does not have knowledge of the access token. In other words, obtaining an access token, where the access token is configured to grant access by the video end system to user account information associated with the user account, and using the access token to retrieve the user account information can be performed by the central collaboration service.
[0155] User account information may include any information or stored data associated with a user account. In particular, user account information may include calendar information and / or contact information. For example, calendar information may include information regarding dates, times, and participant details for conference calls scheduled in a user's calendar. Contact information may include contact details (e.g., email addresses, phone numbers, names, etc.) of contacts the user may want to include in a conference call.
[0156] In step S104, the video end system uses the user account information to conduct the conference call. For example, the video end system can conduct the conference call based on meetings scheduled in the user account's calendar. In another example, the video end system can use the user's contact information to send conference invites or links to virtual conference rooms to remote participants in the conference call.
[0157] FIG. 3 is a flowchart illustrating another exemplary process for video conferencing using a video end system in accordance with at least one aspect of the present invention.
[0158] In this example, the video end system is configured to determine whether a user is identified before unlocking the access token. The video end system is also configured to lock the access token upon detection of a specific termination condition. When the access token is locked, the video end system (or a collaborative service) is prevented from accessing the access token without prior approval from the user associated with the access token.
[0159] In step S200, the video end system detects whether a user is present, which may involve first detecting the presence of a user and then identifying the user as a known user of the video end system.
[0160] The video end system includes a list of prospective users who have access tokens available to access the user's user account. By detecting and identifying a user of the video end system as belonging to the list of prospective users, the video end system can automatically obtain the appropriate access token to access the user's account.
[0161] In some examples, detecting a user may involve the user simply logging into the video end system using a unique login (e.g., using a username and password). The user may log in via a control interface or using a personal device connected to the video end system (e.g., via Bluetooth, NFT, Ethernet cable, etc.). The video end system is configured to receive the unique login and identify the user as belonging to a list of expected users.
[0162] In another example, the video end system may be configured to determine whether a user is in the vicinity of the video end system, and if the user is identified in the vicinity of the video end system, the video end system will add the user to a list of candidate users for access token unlocking.
[0163] For example, an application running on a personal device belonging to a user can be configured to connect to the video end system using a personal area network (e.g., Bluetooth) and determine whether the personal device is physically nearby the video end system. If the personal device connects to the video end system via a PAN, the application running on the personal device can then provide an indication to the video end system that the user is present. The video end system will then add the user to a list of candidate users for access token unlocking.
[0164] In another example, the video end system can be configured to monitor a camera's field of view and use facial recognition to determine the identity of users present within that field of view. The video end system can then add users identified within the field of view to a list of candidate users for access token unlocking.
[0165] In another example, the video end system may include a fingerprint reader or other biometric reader, and the video end system may be configured to use an exact match of a fingerprint or other biometric measurement as authorization to unlock an access token for a user.
[0166] In another example, the video end system may be configured to detect a PAN signal from a user's personal device, such as a mobile phone or laptop computer. If the video end system recognizes the personal device as belonging to a potential user of the video end system, the user can be added to a list of candidate users for access token unlocking.
[0167] In a further example, the video end system can be connected to a building management system or access control system configured to indicate to the video end system whether a user is present. For example, the building management system may be configured to detect the use of a smart card or key fob registered to a user of the video end system. When a smart card or key fob associated with a particular user is used to access the video end system (or a room containing a video end system), the building management system can send a trigger signal to the video end system indicating that the owner of that smart card or key fob should be added to a list of candidates for access token unlock.
[0168] In a further example, the video end system may be configured to store a list of frequent or favorite users of the video end system to be included in the list of candidates for access token unlocking.
[0169] In step S202, the video end system requests confirmation of which candidate users wish to allow delegated access by the video end system to their user accounts.
[0170] In one example, this step may include presenting a list of candidate users detected in step S200 on a display screen. The user may then use a control interface to select a user from the list for access token unlocking.
[0171] In another example, the video end system can request user confirmation by sending confirmation requests (i.e., push notifications) to multiple personal devices connected to the video end system (e.g., via Bluetooth). In this example, the first user to respond to the request confirming their desire to use the video end system is designated as the confirmed user for access token unlocking.
[0172] In another example, a video end system may be configured to assume consent based on a policy setting configured for the video end system. The policy setting may be based on the video end system's certainty that a particular user is present. For example, the policy setting may include a policy indicating that a user who recently used a smart card to gain access to a room containing the video end system and is the only detected occupant of that room can be designated as a confirmed user for access token unlock without further verification.
[0173] In step S204, the video end system unlocks the access token associated with the user identified in step S202.
[0174] Unlocking the access token may include retrieving the access token from a secure storage module, which may be provided locally to the video end system or remotely to a server connected to the video end system, as described below in connection with Figures 4-8.
[0175] In step S206, the video end system uses the access token to access the user account information, as in step S102 of FIG.
[0176] In step S208, the video end system uses the user account information to make the conference call, as in step S104 of FIG.
[0177] In step S210, the video end system determines whether an exit condition has been detected that indicates the video end system should cease accessing the user account information and securely store (i.e., lock) the access token for future use.
[0178] The exit conditions may include a number of different events that the video end system is configured to detect and thus trigger the locking of the access token.
[0179] For example, in one embodiment, a button may be provided on the control interface of the video end system that, when pressed, issues a command to the video end system to lock the access token.
[0180] In another example, the termination condition may include the end of the conference call. Accordingly, the video end system may be configured to lock the access token when the conference call ends in step S208.
[0181] In a further example, the video end system may be configured to lock the access token if the video end system is not used for a predetermined time. For example, the video end system may be configured to monitor activity on a control interface, where an exit condition may include the control interface being idle for a predetermined time.
[0182] In another example, the video end system may be configured to lock the access token if a personal area network signal (e.g., Bluetooth, NFC) from the user's personal device is not detected within a predetermined time.
[0183] In some examples, the video end system can be configured to use image analysis to detect motion within the camera's field of view. In this example, the termination condition may include determining a lack of motion within the camera's field of view for a predetermined period of time. In this manner, the video end system can protect the access token if one or more participants in the conference call leave the room or area where the video end system is located.
[0184] In a further example, the video end system may be linked to a building management system that includes a presence sensor for detecting room occupancy, and in this example, the exit condition may include receiving a signal from the building management system that the room containing the video end system has been vacated.
[0185] In a further example, the video end system may be linked to a building management system that, if a logged-in user is detected away from the video end system, sends an indication indicating that the user is no longer present in the video end system and triggers an exit condition.
[0186] In some examples, the video end system can be configured to lock the access token when it receives a signal from a second video end system indicating that a user associated with the access token is using the second video end system, in which case the video end system can be connected to a central video end system management service configured to communicate with one or more additional video end systems.
[0187] In some examples, the video end systems can be managed by a central management service over a corporate network or the Internet, which can allow for configuration of policy settings across multiple video end systems to configure which of the above-mentioned termination conditions should be detected by the video end systems to determine when an access token should be locked.
[0188] In step S212, the video end system locks the user access token.
[0189] This step may include storing the access token locally in a secure enclave within the video end system (as shown in Figure 4). The secure enclave may be configured to prevent or guard against physical extraction of the access token in the event that the video end system is physically compromised or infected with malware, using a trusted platform module or similar cryptographic storage device.
[0190] In another example, the access token may be stored remotely on a server, which may be provided on a corporate network or on the Internet.
[0191] In the above example, the access token can be encrypted using a key provided by an application on or communicating with a personal device belonging to the user, or by a trusted enterprise service provider. After encryption, the video end system will then delete the key from its memory so that the access token cannot be decrypted without help from the personal device or trusted enterprise service provider that provided the key.
[0192] In some examples (e.g., when the access token is generated using an authentication service such as OAuth), the access token may have an associated validity period. In these examples, the access token may be provided to the video end system along with a refresh token. The access token may be used multiple times during the validity period of the access token until it expires. When the access token expires, the refresh token may be provided to the authentication service to obtain a new access token and a new refresh token. The video end system may be configured to perform a refresh mechanism in the background. For example, if the current access token is valid, the system may use it; if not, the video end system may perform a refresh mechanism to obtain a new access token.
[0193] FIG. 4 shows a block diagram of a video end system 201 according to an embodiment of the present invention.
[0194] 1, the video end system 201 comprises a main processor 203, a display screen 205, a camera 204, and a control interface 202. The main processor 203 is connected to the Internet for exchanging content streams of video conference calls with remote parties.
[0195] In this example, the video end system 201 includes a security module 220 that includes a secure storage module. The security module 220 is configured to obtain access tokens associated with each user account according to the process described above and store the access tokens in the secure storage module.
[0196] The access token contains user credentials to enable secure delegated access by the video end system 201 to the user account associated with the access token.
[0197] The security module 220 is configured to lock and unlock the access token based on a trigger signal from an external source, as described above in connection with Figure 3. When the access token is locked, the rest of the video end system 201 is restricted from accessing the access token. When the access token is unlocked by the security module 220, the video end system 201 can use the user credentials in the access token to access the user account associated with the access token.
[0198] In this example, the main processor 203 is connected to a building management system 230. The building management system 230 is configured to communicate information regarding the location of a user of the video end system 201 to the video end system 201. For example, the building management system 230 may include a door access system for a corporate building. When a smart card associated with a particular user is used to access the video end system 201 (or a room containing the video end system 201), the building management system 230 can send a trigger signal to the video end system 201 indicating that the access token associated with that user should be unlocked.
[0199] A personal device 240 belonging to a user of the video end system 201 is also shown in this example. For example, the personal device 240 may be a mobile phone or a laptop computer. In this example, the video end system 201 is configured to receive a personal area network (PAN) signal from the personal device 240. The user can use the personal device to issue commands to or receive notifications from the video end system 201. The security module 220 is also configured to detect the PAN signal from the personal device 240 to detect the presence of the user associated with the personal device 240 near the video end system 201. The security module 220 can then unlock the access token associated with the user.
[0200] FIG. 5 shows a block diagram of a video end system 201 according to another embodiment of the present invention.
[0201] In this example, the video end systems 201 are connected to a central server 250 via a network 206. In this example, a secure storage module containing access tokens is provided on the central server 250. As such, the secure storage module and the access tokens therein can be accessed by multiple video end systems 201.
[0202] 5 also shows the connection between the main processor 203 and the cloud collaboration service 260, which includes user account information. In particular, the user account information includes address book (i.e., the user's contact data) and calendar information that can be accessed by the video end system 201 using an associated access token from the secure storage module.
[0203] FIG. 6 shows a block diagram of a video end system 201 according to another embodiment of the present invention.
[0204] In this example, a third party application 210 or plug-in software is provided on the main processor 203 of the video end system 201. The third party application 210 is configured to run within an application environment 211, which is configured to provide an interface between the third party application 210 and the rest of the video end system 201.
[0205] In this example, the security module 220 is also configured to retrieve and store application status data associated with the third-party application 210 in the secure storage module along with the access token. In particular, application status data associated with a particular user of the video end system 201 is stored along with the access token associated with that user.
[0206] In some examples, the third-party application 210 can use the access token to access user account information, including user credentials, and state information, including recently accessed documents or other data owned by the user of the video end system 201.
[0207] The video end system 201 may be configured to treat the application state data of any running application in a similar manner to the access token for the current user. Thus, when a user triggers the locking of an access token through any of the mechanisms described above, not only the access token but also the application state data can be locked in a secure enclave by the security module 220. The third-party application can then be reset to remove the application's ability to access documents or data owned by the user, so that subsequent users of the video end system cannot view or utilize documents or data owned by the user.
[0208] FIG. 7 shows a block diagram of a video end system 201 according to another embodiment of the present invention.
[0209] In this example, the concepts of Figures 5 and 6 are combined, and a central server 250 is provided to store application state data and access tokens associated with particular user accounts.
[0210] In this example, the security module 220 is configured to send application state data to the central server 250 when a user logs off from the video end system 201 (i.e., when the access token is locked). Therefore, when the same user logs on to another video end system 201, the application state data can be retrieved from the central server by the new video end system 201, allowing the third-party application to resume operation from the point when the user logged off from the original video end system 201.
[0211] Figure 8 shows a network of two video end systems 201, 201' according to one embodiment of the present invention. In this example, the video end system 201 is configured to run third-party applications in an application environment such as that described above with respect to Figures 6 and 7.
[0212] The two video end systems 201, 201′ comprise a first video end system 201 and a second video end system 201′ connected by a network 206. Figure 8 shows the migration of a third-party application 210 from the first video end system 201 to the second video end system 201′.
[0213] First, a user logs into and runs the third-party application 210 in the application environment 211, as shown in the first video end system 201. In this example, the first video end system 201 is configured to identify the user by detecting the user's personal device 240 via a PAN (e.g., Bluetooth) signal.
[0214] However, if the user leaves the room containing the first video end system 201, the first video end system 201 stops detecting the personal device 240. When the video end system 201 stops detecting the personal device 240, the security module 220 is configured to retrieve application state information from the application environment 211 and store the application state information in the central server 250. The security module is also configured to lock the currently used access token. The third-party application 210 running on the first video end system 201 is then reset.
[0215] The user is then detected entering another room that contains the second video end system 201′. In this example, the user is detected by the building management system 230 (e.g., by detecting a smart card associated with the user), and the building management system 230 notifies the second video end system 201′.
[0216] Once the user is detected, the security module 220′ of the second video end system 201′ then unlocks the access token associated with the user and retrieves the application state information associated with the user from the central server 250.
[0217] Application state information from the central server 250 is provided to the application environment 211′ of the second video end system 201′, thus enabling the third party application 210 to resume operation from where the third party application 210 was saved on the first video end system 201.
[0218] 9-14 below illustrate video end systems according to further embodiments of the present invention, in which the video end system is configured to run third-party applications. Those skilled in the art will understand that each of the features described herein in connection with FIGS. 9-14 can be combined with any or all of the features described above in connection with FIGS. 1-8. For example, a video end system according to the present invention can be configured to run third-party applications and / or access user accounts.
[0219] FIG. 9 shows a block diagram of a video end system 300 configured to run third-party applications according to one embodiment of the present invention.
[0220] In this example, video end system 300 comprises a video endpoint device 310 connected to video conferencing hardware 330 and a control interface device 320. Endpoint device 310 is connected to Internet 360 for exchanging content streams of video conference calls with remote parties.
[0221] Endpoint device 310 is configured to send and receive media signals from video conferencing hardware that may form part of the content stream of a video conference call. In Figure 9, the video conferencing hardware includes a camera 332 and a display screen 334 for recording and displaying video footage.
[0222] The endpoint device 310 is also configured to receive control signals from the control interface device 320 for controlling the video end system 300 .
[0223] In this example, the endpoint device 310 is configured to execute a third-party application 314 hosted within an application environment 312 provided on the endpoint device 310 .
[0224] In this example, an additional user interface environment 322 is provided on the control interface device 320 to host the application user interface of the third party application. For example, if the control interface device 320 includes a touch screen, a video feed from the third party application 314 can be provided to the application user interface running in the user interface environment 322, such that a remote view of the third party application 314 can be displayed on the touch screen.
[0225] The application environment 312 on the endpoint device 310 is also connected to a management agent service 370 via the Internet 360. The management agent service 370 contains information about the identity and permitted behavior of each video end system 300 under its control. Examples of permitted behavior may include a list of authorized third-party applications that can be run on the video end system 300, details about how each application 314 may be run, such as whether user approval from the user is required, whether the application 314 can be shared with any or specific remote parties, and / or whether the application 314 must be restricted in terms of device or network access. The management agent service 370 is configured to send configuration management controls to the application environment 312.
[0226] Figure 10 shows another configuration diagram of the video end system 300 of Figure 9. In Figure 10, the video conferencing hardware 330 additionally includes a speaker 3336 and a microphone 3338 for playing and recording audio data for the content stream of the video call. The video end system 300 also includes a network interface 350 for connecting to the Internet 360.
[0227] As shown in FIG. 10, the application environment 312 includes an environment interface 316 for relaying signals between the third-party application 312 and other components of the video end system 300 .
[0228] The environment interface 316 (which may also be referred to as a data mapping interface 316) is configured to route control signals 324 from the control interface device 320 to the third-party application 314. The environment interface 316 is also configured to route media signals 340 between the third-party application 312 and the video conferencing hardware 330 and / or content streams of the video conferencing call via the network interface 350. In some examples, the application environment 312 may be configured to relay other types of data, such as data files, text, etc., between the third-party application 314 and the rest of the video end system.
[0229] In the illustrated example, media signals 340 include a video stream 342 received from a camera, which is relayed via data mapping interface 316 to third party application 312 and to network interface 350 to form part of the content stream of the video call. Also, as part of the content stream of the video call, a video stream 344 received from third party application 312 (or from network interface 350) via data mapping interface 316 is relayed to display screen 3134. Similarly, an audio stream 348 received from microphone 3338 is relayed via data mapping interface 316 to third party application 312 and to network interface 350 to form part of the content stream of the video call, and an audio stream 346 received from third party application 312 (or from network interface 350) is provided to speaker 3336.
[0230] During use, a user may request installation of a third-party application 312 (e.g., an Android application) on the video end system 300 via the user interface of the control interface device 320. The control interface device 320 then contacts the intended application hosting device (i.e., the endpoint device 310 in this example) and instructs the hosting device to generate an application environment 312 for running the third-party application 314, and then downloads the third-party application 314 into the application environment 312.
[0231] The third-party application 314 may have prerequisites to run on a typical device. Generating the application environment 312 includes allocating CPU and memory resources, as well as interfaces such as a display, keyboard, and touch screen for the virtual device and / or application 314. The prerequisites of the third-party application 314 are provided so that when the third-party application 314 is launched into the generated application environment 312, the application environment 312 emulates, from the third-party application's 314 perspective, a typical device such as a conventional mass-market tablet or phone.
[0232] The user interface of the video end system 300 located on the control interface device 320 can then be used to connect to the third party application 312 in a variety of ways as described herein.
[0233] In one example, a virtual video stream can be relayed over a connection between the endpoint device 310 and the control interface device 320 so that the application video output of the third-party application 314 can be displayed on the control interface device 320. If the aspect ratio and resolution of the screen provided on the control interface device 320 are similar to the requirements of the third-party application 320, the video view can be displayed full screen. In another example, the user interface environment 322 on the control interface device 320 may be configured to display the application video output in a window on the screen of the control interface device 320. In some examples, a user of the control interface device 320 may zoom the video using a zoom gesture, such as a two-finger pinch. This example is useful for setting up the third-party application 314, for example, by entering user credentials, where the information should not be shared with other attendees in the conference room.
[0234] In another example, video output from the third-party application 314 may be connected or redirected to the display screen 3334 or to the content stream of a video conference call. If the display screen 3334 includes a touch screen, touch screen gestures may be relayed to the third-party application 314.
[0235] In some examples, if the endpoint device 310 includes a graphics processing unit (GPU), and / or a display and / or a touchscreen on the same unit, the third-party application 312 hosted on the endpoint device 310 can be given direct access (i.e., without a virtualization layer) to the GPU, display, and / or touchscreen. This can be beneficial to improve the efficiency and performance of the third-party application 314.
[0236] The data mapping interface 316 can be configured to convert the control signal 324 from the control interface device 320 having a first format into an application control signal 324′ for controlling the third-party application 312 having a second format.
[0237] For example, control interface device 320 may include a physical touchpad or a virtual touchpad emulated by the touchscreen of control interface device 320. Touch gestures from the touchpad of the virtual touchpad may be relayed as touch gestures to third-party application 312 via the connection between control interface device 320 and endpoint device 310 via data mapping interface 316. In this example, application environment 312 may be configured to accurately map gesture locations between the touchpad or virtual touchpad of control interface device 320 and a target virtual display of third-party application 312 having a different size, taking into account any active cropping, zooming, screen size differences, and aspect ratios between the touchscreen of control interface device 320 and the target virtual display of third-party application 312.
[0238] In another example, the endpoint device 310 or the control interface device 320 may be programmed with customized instructions associated with a particular third-party application 312 to form an application environment and / or user interface environment 322. The customized instructions can be configured to provide an enhanced user interface on the control interface device 320 to replace the traditional user interface of that third-party application 312. In this way, a user interface more appropriate for the hardware of the video end system 300 can be provided instead of a user interface of the third-party application that may be better suited to different hardware (e.g., a smartphone).
[0239] For example, the enhanced user interface provided on the control interface device 320 may include application-specific function buttons, a virtual keyboard, a dial pad, a directory lookup, or navigation elements configured to control the third-party application 314. The application environment 312 may be configured to translate control signals 324 from the enhanced user interface into control signals 324' that emulate the gestures and key presses expected by the third-party application 314.
[0240] Customized instructions for a particular third-party application 312 can be provided by a central server (e.g., on the Internet 360), and the customized instructions can be downloaded by the endpoint device 310 and / or the control interface device 320. The customized instructions may include a combination of structured data, code, and / or portable code. In some examples, the customized instructions may comprise an application programming interface (API) provided by the third-party application 314.
[0241] In some examples, a list of approved third-party applications that are permitted to be run by the video end system 311 may be centrally managed by a management server or cloud service. The video end system 300 may connect to the management server or cloud service to obtain the list of approved applications. If the desired third-party application is included in the list of approved applications, the endpoint device 310 can download the third-party application 314 from a publicly accessible repository (e.g., from the Google Play Store), from a private repository such as a private server, from the management server itself, or from a cloud service. This is beneficial for reducing the possibility of a malicious third-party application 312 being installed on the video end system 300.
[0242] Additionally or alternatively, an administrative interface may be provided (e.g., on the control interface device 320) to allow an administrator to enable or disable approval for particular third-party applications 314. In some examples, a user login or video end system device identifier may be required to enable or disable downloading of a third-party application 314.
[0243] In another embodiment, the management server or management interface can be configured to allow guest applications not included in the list of approved applications to be run by the video end system 300. This can be allowed based on user login or based on a video end system device identifier.
[0244] In a further example, the management server or cloud service may be configured to monitor the usage and behavior of third-party applications 314 .
[0245] In some examples, the endpoint device 310 may be configured to sandbox the third-party application 312, which limits the third-party application's 312 access to the computer resources of the video end system 300. For example, the third-party application 312 may be restricted from full access to the CPU, memory, file system, network, audio resources, or display resources. The third-party application's 312 access to network resources can be limited by hosting the third-party application 312 on a guest virtual LAN, so that network traffic associated with the sandboxed third-party application can be isolated from other network traffic.
[0246] In another example, the sandboxing described above may be performed on a cloud server to further isolate the third-party application 312 from the enterprise network. In this example, the third-party application 312 may only have access to selected media and control signals of the video end system 300.
[0247] 11 shows a block diagram of a video end system 400 according to another embodiment of the present invention. In this example, an application environment 412 including a third-party application 414 is provided on a control interface device 420, which also hosts an environment user interface 422. A remote view (i.e., a video stream) of the third-party application 414 is routed by the application environment 412 through the endpoint device 410 to a display screen 4334.
[0248] 12 shows a block diagram of a video end system 500 according to another embodiment of the present invention. In this example, an application environment 512 including a third-party application 514 is provided on a cloud service 580.
[0249] An application user interface 522 running on the control interface device 520 is connected via the endpoint device 510 to an application environment 512 on a cloud service 580 via the Internet 560 to control the third-party application 512. A video stream from the third-party application 514 of the application environment 512 is routed from the cloud service 580 via the Internet 560 to the video endpoint device 510 and onto the display screen 5334. If the application user interface 522 requires a video feed from the third-party application 514, the video stream can also be routed to the control interface device 522 via the same connection to allow the application 512 to be viewed (e.g., as part of the user interface) on the control interface device 522.
[0250] 13 shows a block diagram of a video end system 600 according to another embodiment of the present invention, in which a control interface device 620 is not directly connected to an endpoint device 610 by a wired or wireless link, but instead is indirectly connected to the endpoint device 610 via the Internet 660 using a control relay service 690. Control signals from an application user interface 622 running on the control interface device 620 can be routed to the application environment 612 via the control relay service 690. If the application user interface 622 requires a video feed from the application environment 612, the video feed can be routed over the same connection to allow the third-party application 612 to be viewed (e.g., as part of the user interface) on the control interface device 622.
[0251] 14 shows a block diagram of a video end system 700 according to one embodiment of the present invention, in which the video end system 700 is participating in a conference call with a remote video end system 700'. In this example, the video output from the third party application 714 is provided by the application environment 712 as a content stream for the video call, allowing the video output of the third party application 714 to be sent to both the local display 7334 and the remote video end system 700' for display on the remote display screen 7334'.
[0252] The features disclosed in the foregoing description, or in the following claims, or in the accompanying drawings, and which, where appropriate, are expressed in their specific form or in terms of means for performing a disclosed function, or a method or process for obtaining a disclosed result, can be utilized to realize the invention in various of its forms, either separately or in any combination of such features.
[0253] While the present invention has been described in conjunction with the exemplary embodiments set forth above, many equivalent modifications and variations will be apparent to those skilled in the art given this disclosure. Accordingly, the exemplary embodiments of the invention set forth above are considered to be illustrative and not limiting. Various modifications to the described embodiments can be made without departing from the spirit and scope of the invention.
[0254] For the avoidance of any doubt, any theoretical explanations provided herein are provided for the purpose of enhancing the understanding of the reader, and the inventors do not wish to be bound by any of these theoretical explanations.
[0255] Any section headings used herein are for organizational purposes only and should not be construed as limiting the subject matter described.
[0256] Throughout this specification, including the claims that follow, unless the context indicates otherwise, the words "comprise" and "include," and variations such as "comprises," "comprising," and "including," will be understood to imply the inclusion of stated integers or steps or groups of integers or steps, but not the exclusion of any other integers or steps or groups of integers or steps.
[0257] It should be noted that, as used in this specification and the appended claims, the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. Ranges may be expressed herein as from "about" one particular value and / or to "about" another particular value. When such a range is expressed, another embodiment includes from the one particular value and / or to the other particular value. Similarly, when values are expressed as approximations, it will be understood that the particular value forms another embodiment by use of the antecedent "about." The term "about" in connection with numerical values is optional and means, for example, + / - 10%.
Claims
1. 1. A computer-implemented method for accessing a user account from a video end system, the video end system being for conducting video conference calls, the video end system comprising: a main processor; a control interface; and video conferencing hardware, the computer-implemented method comprising: obtaining an access token, the access token configured to allow access by the video end system to user account information associated with the user account; using the access token to obtain the user account information; 20. A computer-implemented method comprising:
2. conducting a conference call using the obtained user account information and the video end system; The computer-implemented method of claim 1 further comprising:
3. the video end system comprising: a secure storage module configured to store a plurality of access tokens; The computer-implemented method of claim 1 or 2, wherein obtaining the access token comprises obtaining the access token from the secure storage module.
4. The computer-implemented method of claim 1 or 2, wherein obtaining the access token comprises obtaining the access token from a secure storage module located on a central server.
5. obtaining the access token, determining whether a user associated with the access token is detected within a given physical proximity of the video end system; Including, 5. The computer-implemented method of claim 1, wherein the access token is acquired only if the user associated with the access token is detected within the physical proximity of the video end system.
6. 6. The computer-implemented method of claim 5, wherein determining whether a user associated with the access token is detected within a given physical proximity from the video end system comprises detecting a personal area network signal from a personal device associated with the user.
7. 7. The computer-implemented method of claim 5, wherein determining whether the user associated with the access token is detected within a given physical proximity of the video end system includes using a camera and a facial recognition module included in the video conferencing hardware to detect the user within a field of view of the camera.
8. 8. The computer-implemented method of claim 5, wherein determining whether a user associated with the access token is detected within a given physical proximity of the video end system comprises receiving notification from a biometric authentication module that the user has been identified.
9. 9. The computer-implemented method of claim 5, wherein determining whether a user associated with the access token is detected within a given physical proximity range from the video end system comprises receiving a signal from a building management system indicating that a smart card associated with the user has been detected within the given physical proximity range from the video end system.
10. the computer-implemented method comprising: detecting a plurality of users within the given physical proximity range from the video end system; receiving a confirmation from the control interface of a selected one of the plurality of users within the given physical proximity; Including, The computer-implemented method of any one of claims 5 to 9, wherein obtaining the access token comprises obtaining the access token associated with the selected user.
11. obtaining the access token, sending user authentication data to a website running an authentication service; receiving the access token from the website; The computer-implemented method of any one of claims 1 to 10, comprising:
12. The computer-implemented method of any one of claims 1 to 11, wherein the video end system is configured to lock the access token to prevent unauthorized use of the access token.
13. The computer-implemented method of claim 12 , wherein the video end system is configured to lock the access token if the video end system is unused for a predetermined period of time.
14. 14. The computer-implemented method of claim 12 or 13, wherein the video end system is configured to lock the access token if a personal area network signal from a personal device of a user associated with the access token is not detected by the video end system within a predetermined time.
15. The computer-implemented method of any one of claims 12 to 14, wherein the video end system is configured to lock the access token when the conference call ends.
16. 16. The computer-implemented method of claim 12, wherein the video end system is configured to lock the access token when a command to lock the access token is received from the control interface.
17. the video conferencing hardware includes a camera; 17. The computer-implemented method of claim 12, wherein the video end system is configured to detect motion within a field of view of the camera, and wherein the video end system is configured to lock the access token if no motion is detected within the field of view within a predetermined time.
18. 18. The computer-implemented method of claim 11, wherein the video end system is configured to lock the access token when it receives a signal from a second video end system indicating that a user associated with the access token is using the second video end system.
19. 19. The computer-implemented method of claim 11, wherein the video end system is in communication with a building management service, the building management service configured to detect whether a room containing the video end system is vacant, and the video end system is configured to lock the access token when it receives a signal from the building management service indicating that the room is vacant.
20. 20. The computer-implemented method of claim 11, wherein the video end system is in communication with a building management service, the building management service configured to detect whether a user associated with the access token has logged into an alternative computing system, and the video end system is configured to lock the access token upon receiving a signal from the building management service indicating that the user has logged into the alternative computing system.
21. the video end system is configured to lock the access token by encrypting the access token with a key, and the video end system is configured to delete the key from the memory of the video end system after the access token has been encrypted; The computer-implemented method of any one of claims 11 to 20, wherein the key is receivable from the control interface or from a personal device of a user associated with the access token.
22. The computer-implemented method of any one of claims 1 to 21, wherein the video end system is configured to run third-party applications.
23. The computer-implemented method comprises: providing an application environment for executing a third-party application, said application environment comprising: routing control signals from the control interface to the third-party application; routing video signals between the third-party application and the video conferencing hardware and / or the content stream of the conference call; providing a method for detecting a signal, the method comprising:
23. The computer-implemented method of claim 22, further comprising:
24. The computer-implemented method further includes storing application status information associated with the third-party application; 24. The computer-implemented method of claim 22 or 23, wherein the application status information is stored together with the access token.
25. using the access token to obtain application status information associated with the third-party application; using the application status information to configure the third party application running on the video end system; The computer-implemented method of any one of claims 22 to 24, further comprising:
26. A computer program comprising instructions, A computer program comprising instructions, when the computer program is executed by a computer, that cause the computer to carry out the method of any one of claims 1 to 25.
27. A video end system comprising a main processor, the main processor is configured to communicate with a control interface and video conferencing hardware for conducting a conference call; The video end system, Obtaining a user access token from a secure storage module; using the user access token to access user account information; A video end system configured as follows:
28. A network of video end systems comprising a plurality of the video end systems according to claim 27, A network of video end systems, each of said video end systems being connected to a central configuration service containing user account information.