# US 10,375,351 B2 · System and method for implementing video calls

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

- Number: US 10,375,351 B2
- Document ID: US10375351B2
- Status: Granted
- Kind: B2
- Application number: 15/600,324
- Filed: 2017-05-19
- Published: 2018-01-25
- Granted: 2019-08-06
- Earliest claimed: 2013-12-30
- Assignees: Alibaba Group Holding Limited
- Applicants: Alibaba Group Holding Limited
- Inventors: Wuping Du; Wei Peng; Ming Zong
- Web page: https://patentgrep.com/patent/US10375351B2

## CPC

- H04N 7/141: {between two video terminals, e.g. videophone (telephonic communication systems combined with television receiver for reception of entertainment or information matter H04M11/085)}
- H04L 12/1813: {for computer conferences, e.g. chat rooms (instant messaging H04L51/04; protocols for multimedia communication H04L65/1101; arrangements for multi-party communication H04L65/403; telephonic conference arrangements H04M3/56; television conference systems H04N7/15)}
- H04L 51/046: Interoperability with other network applications or services
- H04L 51/48: Message addressing, e.g. address format or anonymous messages, aliases
- H04L 65/00: Network arrangements, protocols or services for supporting real-time applications in data packet communication (real-time or near real-time messaging, e.g. instant messaging [IM] H04L51/04; selective video distribution H04N21/00)
- H04L 65/1069: Session establishment or de-establishment
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04N 1/00334: {with an apparatus processing barcodes or the like (arrangements for sensing record carriers G06K7/00)}
- H04N 7/147: {Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals (selecting H04Q)}
- H04N 7/152: {Multipoint control units therefor}
- G06K 7/1404: {Methods for optical code recognition}
- H04L 61/4535: using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers
- H04L 61/5092: by self-assignment, e.g. picking addresses at random and testing if they are already in use
- H04L 2101/622: Layer-2 addresses, e.g. medium access control [MAC] addresses
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS

## Abstract

Embodiments of the present application relate to a method for implementing video calls, a system for implementing video calls, and a computer program product for implementing video calls. A method for implementing video calls is provided. The method includes maintaining persistent connections with a plurality of terminals used to make video calls, each terminal having a universally unique identifier, receiving a video call request from a calling terminal via one of the persistent connections, the video call request including the universally unique identifier of the calling terminal, equipment descriptive information of the calling terminal, and the universally unique identifier of a called terminal, notifying the called terminal via one of the persistent connections, the notification being based on the universally unique identifier of the called terminal, receiving a response from the called terminal, and establishing a video call channel based on the received response.

## Claims

### Claim 1

A method for implementing video calls, comprising:
maintaining, by a server, persistent connections with a plurality of terminals used to make video calls, wherein each terminal has a universally unique identifier;
receiving, by the server, a video call request from a calling terminal via one of the persistent connections, the video call request including the universally unique identifier of the calling terminal, and a universally unique identifier of a called terminal, wherein prior to the receiving of the video call request from the calling terminal, the universally unique identifier of the called terminal is acquired by the calling terminal, and wherein the acquiring of the universally unique identifier of the called terminal comprises:
scanning, by the calling terminal, a Quick Response (QR) code being displayed on the called terminal, the QR code being generated based on the universally unique identifier of the called terminal;
acquiring, by the calling terminal, the universally unique identifier of the called terminal based on the QR code; and
during the scanning of the QR code, sending, by the calling terminal, the universally unique identifier of the calling terminal to the called terminal to be added as a contact via the one of the persistent connections;
notifying, by the calling terminal, the called terminal via one of the persistent connections, the notification being based on the universally unique identifier of the called terminal;
receiving, by the calling terminal, a response from the called terminal; and
establishing a video call channel based on the received response, wherein the calling terminal and the called terminal conduct a video call via the video call channel.

### Claim 2 (depends on 1)

The method as described in claim 1, further comprising:
issuing a unique identifier to each of the plurality of terminals, the issued unique identifier corresponding to the universally unique identifier of the each terminal.

### Claim 3 (depends on 1)

The method as described in claim 1, wherein the establishing of the video call channel comprises:
establishing a point-to-point channel between the calling terminal and the called terminal; or
establishing a stream server relay channel.

### Claim 4 (depends on 1)

The method as described in claim 1, further comprising:
allocating a different currently unique identifier to each terminal that maintains a persistent connection and that is used for video calling.

### Claim 5

A method for implementing video calls, comprising:
maintaining, at a calling terminal, a persistent connection with a server;
sending, by the calling terminal, a video call request to the server, the video call request including a first universally unique identifier and a second universally unique identifier of a called terminal, wherein prior to the sending of the video call request, the first universally unique identifier is acquired, and wherein prior to the sending of the video call request, the second universally unique identifier of the called terminal is acquired, and wherein the acquiring of the second universally unique identifier of the called terminal comprises:
scanning, by the calling terminal, a Quick Response (QR) code being displayed on the called terminal, the QR code being generated based on the second universally unique identifier of the called terminal;
acquiring, by the calling terminal, the second universally unique identifier of the called terminal based on the QR code; and
during the scanning of the QR code, sending, by the calling terminal, the first universally unique identifier of the calling terminal to the called terminal to be added as a contact via the persistent connection; and
conducting, by the calling terminal, a video call with the called terminal via an established video call channel.

### Claim 6 (depends on 5)

The method as described in claim 5, wherein the acquiring of the first universally unique identifier comprises:
generating, by the calling terminal, the first universally unique identifier based on local hardware information.

### Claim 7

A system, comprising:
a processor; and
a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:
maintain, by a server, persistent connections with a plurality of terminals used to make video calls, wherein each terminal has a universally unique identifier;
receive, by the server, a video call request from a called terminal via one of the persistent connections, wherein prior to the receiving of the video call request from a calling terminal, the universally unique identifier of the called terminal is acquired by the calling terminal, and wherein the acquiring of the universally unique identifier of the called terminal comprises to:
scan, by the calling terminal, a Quick Response (QR) code being displayed on the called terminal, the QR code being generated based on the universally unique identifier of the called terminal;
acquire, by the calling terminal, the universally unique identifier of the called terminal based on the QR code; and
during the scanning of the QR code, send, by the calling terminal, the universally unique identifier of the calling terminal to the called terminal to be added as a contact via the one of the persistent connections;
notify, by the calling terminal, the called terminal via one of the persistent connections, the notifying being based on the universally unique identifier of the called terminal;
receive, by the calling terminal, a response from the called terminal; and
establish a video call channel, wherein the calling terminal and the called terminal conduct a video call via the video call channel.

### Claim 8 (depends on 7)

The system as described in claim 7, wherein the maintaining of the persistent connections further comprises to issue a unique identifier to each of the plurality of terminals, the issued unique identifier corresponding to the universally unique identifier of the each terminal.

### Claim 9 (depends on 7)

The system as described in claim 7, wherein the establishing of the video call channel further comprises to:
establish a point-to-point channel between the calling terminal and the called terminal; or
establish a stream server relay channel.

### Claim 10 (depends on 7)

The system as described in claim 7, wherein the notifying of the called terminal further comprises to allocate a different currently unique identifier to each terminal that maintains a persistent connection and that is used for video calling.

### Claim 11

A computer program product for implementing video calls, the computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:
maintaining, by a server, persistent connections with a plurality of terminals used to make video calls, wherein each terminal has a universally unique identifier;
receiving, by the server, a video call request from a calling terminal via one of the persistent connections, the video call request including the universally unique identifier of the calling terminal, and a universally unique identifier of a called terminal, wherein prior to the receiving of the video call request from the calling terminal, the universally unique identifier of the called terminal is acquired by the calling terminal, and wherein the acquiring of the universally unique identifier of the called terminal comprises:
scanning, by the calling terminal, a Quick Response (QR) code being displayed on the called terminal, the QR code being generated based on the universally unique identifier of the called terminal;
acquiring, by the calling terminal, the universally unique identifier of the called terminal based on the QR code; and
during the scanning of the QR code, sending, by the calling terminal, the universally unique identifier of the calling terminal to the called terminal to be added as a contact via the one of the persistent connections;
notifying, by the calling terminal, the called terminal via one of the persistent connections, the notification being based on the universally unique identifier of the called terminal;
receiving, by the calling terminal, a response from the called terminal; and
establishing a video call channel based on the received response, wherein the calling terminal and the called terminal conduct a video call via the video call channel.

### Claim 12

A computer program product for implementing video calls, the computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:
maintaining, at a calling terminal, a persistent connection with a server;
sending, by the calling terminal, a video call request to the server, the video call request including a first universally unique identifier and a second universally unique identifier of a called terminal, wherein prior to the sending of the video call request, the first universally unique identifier is acquired, and wherein prior to the sending of the video call request, the second universally unique identifier of the called terminal is acquired, and wherein the acquiring of the second universally unique identifier of the called terminal comprises:
scanning, by the calling terminal, a Quick Response (QR) code being displayed on the called terminal, the QR code being generated based on the second universally unique identifier of the called terminal;
acquiring, by the calling terminal, the second universally unique identifier of the called terminal based on the QR code; and
during the scanning of the QR code, sending, by the calling terminal, the first universally unique identifier of the calling terminal to the called terminal to be added as a contact via the persistent connection; and
conducting, by the calling terminal, a video call with the called terminal via an established video call channel.
