IP Library Granted Patent US 11,100,197
Granted Patent B1
US 11,100,197 · App. 17/246,593 · Granted Aug 24, 2021

Secure web RTC real time communications service for audio and video streaming communications

Inventor: Robert Bernardi (Mclean, VA)
Assignee: AVILA TECHNOLOGY LLC
G06F21/105G06F21/6263H04L9/085H04L51/10H04L51/18H04L63/123
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,100,197
App. No.
17/246,593
Granted
Aug 24, 2021
Kind
B1
Abstract

Secure Real Time Communications Service (SRTCS) for audio and video streaming communications and content sharing that securely connects multiple users using a “push-button” WebRTC chat app connection over a Peer-to-Peer (P2P) network. SRTCS uniquely combines advanced security technologies to provide user based permissions control when communicating and sharing rich media content with other users including End-to-End Encryption (E2EE), Hash Technology (DHT), and Digital Rights Protection (DRM). SRTCS has also designed a unique cloud based streamed video storage and sharing platform service for consumers and business video storage and sharing applications.

Claims (88)

1. A method, comprising:

Sending, in a WebRTC chat application on a first communication device, a telephone number of the first communication device, a private device IP address of the first communication device, and a JSON SMS message invite which includes a second telephone phone number of a second communication device, the JSON SMS message containing an invite to join a video/audio chat session, to a WebRTC-Gateway Server to mediate media communications and exchange JSON messages and RTP/RTCP messages with the second communication device,

Sending, in a WebRTC chat application on the second communication device, a JSON SMS message reply containing an answer (accept/decline) to the invite and a private IP address of the second communication device to the WebRTC-Gateway Server,

Establishing a communication between the WebRTC-Gateway Server and a Signaling Server, said Signaling server used to provide communication discovery and media format negotiation between the first communication device and the second communication device by a first communication device connection offer and a second communication device acceptance reply based on connecting a public-private IP address of the first communication device to a public-private IP address of the second communication device,

Establishing an encrypted WebRTC peer-to-peer video and/or audio connection between the WebRTC chat application of the first communication device and the WebRTC chat application of the second communication device, and deploying an advanced security technology module to provide user-based permission control when communicating and sharing rich media content including AES 256 Galois/Counter mode (GCM), Elliptical-curve Diffie Hellman encryption, and a asymmetrical key management system,

Providing a Private Blockchain module connected to the WebRTC-Gateway Server to provide a permission-based access control layer to govern network access by the first communication device and the second communication device and to generate an immutable record of all WebRTC transactions between the first communication device and the second communication device,

Providing a Distributed Ledger Technology (DLT) module connected to the WebRTC-Gateway Server for recording WebRTC transactions including video chat and audio chat where blocks containing transactions and user personally identifiable information (PII) are stored and recorded in distributed blocks in multiple locations,

Searching and connecting users using group node coupling to access data when a user initiates a video chat or audio chat,

Providing a DRM module to apply user permissions relating to video/audio streaming on a P2P connection, said user permissions including blocking video recording, playback, screenshot disablement, expiration, revocation, and watermarking, and

Providing a secret video chat module using DRM control and ECDH encryption to prevent video recording/playback using an encrypted key with expiration and revocation controls.

2. The method of claim 1 , wherein the WebRTC chat application comprises video chat and voice chat.

3. The method of claim 2 , comprising saving a chat session comprising the video chat and the voice chat, in an encrypted communication between the first communication device and a Cloud Storage Server connected to the first communication device, wherein the video chat and voice chat are stored by the Cloud Storage Server.

4. The method of claim 3 , wherein the Cloud Storage Server uses a Distributed Hash Table, and wherein the telephone number of the first communication device is a key mapped to a second value that is the chat session.

5. The method of claim 4 , comprising:

assigning, in a menu of the WebRTC chat application on the first communication device, a DRM permission to the chat session saved to the Cloud Storage Server, wherein the DRM permission is selected from the group consisting of: record, not record, store, screen share, revoke, expire, offline view, blacklist, copy, forward, screen capture, rights violation, and cancel/disappear.

6. The method of claim 5 , comprising:

rendering, in a rendering module of the Cloud Storage Server, an HTML file of the saved chat session, the HTML file stored in the Cloud Storage Server and having a URL link associated therewith.

7. The method of claim 6 , comprising:

enforcing the DRM permission of the chat session,

said Cloud Storage Server in encrypted communication with the second communication device, said second communication device having the WebRTC chat application operatively connected to the WebRTC browser of the second communication device to access, using the URL link, the HTML file of the saved chat session saved in the Cloud Storage Server, wherein the saved chat session is rendered on the Cloud Storage Server,

and said WebRTC chat application enforces the DRM permission of the saved chat session using a DRM enforcement module in the WebRTC chat application, and said DRM enforcement module configured to send an enforcement command when a DRM permission violation is detected to revoke an encryption key that encrypts an electronic signal between the WebRTC chat application and the WebRTC browser, wherein the electronic signal is between a CODEC in the WebRTC browser and a playback component or module for a speaker or display of the second communication device.

8. The method of claim 7 , wherein the WebRTC chat application comprises a Private Blockchain module in communication with the Cloud Storage Server to provide user identity, authentication, a digital hash, Group Node Coupling, personally-identifiable information (PII) security, content linking, content searching, and content addressing.

9. The method of claim 8 , wherein the WebRTC chat application comprises a hardware security module in communication with the Cloud Storage Server to provide AES 256 GCU encryption, and ECDH Diffie-Hellman encryption for audio and video streams.

10. The method of claim 9 , wherein the WebRTC chat application comprises a key management module in communication with the WebRTC-Gateway Server and the Signaling Server to provide homomorphic encryption of a communication between the WebRTC-gateway Server and the Signaling Server, said homomorphic encryption allowing the Signaling Server to extract the private IP address without decrypting JSON SMS message content.

11. The method of claim 1 , wherein the WebRTC chat application has an insertable streams module to provide end-to-end encryption for a middlebox device and for Selective Forwarding Units (SFUs) for media routing in a videoconference application where insertable streams iterate on frames and not RTP packets to transform an encoded frame to an asynchronous insertable stream to support end-to-end encryption.

12. The method of claim 1 , wherein the first communication device is selected from a mobile communication device, a desktop computer communication device, and a tablet communication device.

13. A method, comprising:

Sending, in a WebRTC chat application on a first communication device, a telephone number of the first communication device, a private device IP address of the first communication device, and a JSON SMS message invite which includes a second telephone phone number of a second communication device, the JSON SMS message containing an invite to join a video/audio chat session, to a WebRTC-Gateway Server to mediate media communications and exchange JSON messages and RTP/RTCP messages with the second communication device,

Sending, in a WebRTC chat application on the second communication device, a JSON SMS message reply containing an answer (accept/decline) to the invite and a private IP address of the second communication device to the WebRTC-Gateway Server,

Establishing a communication between the WebRTC-Gateway Server and a Signaling Server, said Signaling server used to provide communication discovery and media format negotiation between the first communication device and the second communication device by a first communication device connection offer and a second communication device acceptance reply based on connecting a public-private IP address of the first communication device to a public-private IP address of the second communication device,

Establishing an encrypted WebRTC peer-to-peer video and/or audio connection between the WebRTC chat application of the first communication device and the WebRTC chat application of the second communication device, and deploying an advanced security technology module to provide user-based permission control when communicating and sharing rich media content including AES 256 Galois/Counter mode (GCM), Elliptical-curve Diffie Hellman encryption, and a asymmetrical key management system,

Providing a Private Blockchain module connected to the WebRTC-Gateway Server to provide a permission-based access control layer to govern network access by the first communication device and the second communication device and to generate an immutable record of all WebRTC transactions between the first communication device and the second communication device,

Providing a Distributed Ledger Technology (DLT) module connected to the WebRTC-Gateway Server for recording WebRTC transactions including video chat and audio chat where blocks containing transactions and user personally identifiable information (PII) are stored and recorded in distributed blocks in multiple locations,

Searching and connecting users using group node coupling to access data when a user initiates a video chat or audio chat,

Providing a DRM module to apply user permissions relating to video/audio streaming on a P2P connection, said user permissions including blocking video recording, playback, screenshot disablement, expiration, revocation, and watermarking, and

Providing a secret video chat module using DRM control and ECDH encryption to prevent video recording/playback using an encrypted key with expiration and revocation controls;

wherein the WebRTC chat application comprises video chat and voice chat,

wherein a chat session comprising the video chat and the voice chat, is saved in an encrypted communication between the first communication device and a Cloud Storage Server connected to the first communication device, wherein the video chat and voice chat are stored by the Cloud Storage Server,

wherein the Cloud Storage Server uses a Distributed Hash Table, and wherein the telephone number of the first communication device is a key mapped to a second value that is the chat session, and

Assigning, in a menu of the WebRTC chat application on the first communication device, a DRM permission to the chat session saved to the Cloud Storage Server, wherein the DRM permission is selected from the group consisting of: record, not record, store, screen share, revoke, expire, offline view, blacklist, copy, forward, screen capture, rights violation, and cancel/disappear,

Rendering, in a rendering module of the Cloud Storage Server, an HTML file of the saved chat session, the HTML file stored in the Cloud Storage Server and having a URL link associated therewith,

Enforcing the DRM permission of the chat session, said Cloud Storage Server in encrypted communication with the second communication device, said second communication device having the WebRTC chat application operatively connected to the WebRTC browser of the second communication device to access, using the URL link, the HTML file of the saved chat session saved in the Cloud Storage Server, wherein the saved chat session is rendered on the Cloud Storage Server, and said WebRTC chat application enforces the DRM permission of the saved chat session using a DRM enforcement module in the WebRTC chat application, and said DRM enforcement module configured to send an enforcement command when a DRM permission violation is detected to revoke an encryption key that encrypts an electronic signal between the WebRTC chat application and the WebRTC browser, wherein the electronic signal is between a CODEC in the WebRTC browser and a playback component or module for a speaker or display of the second communication device,

wherein the WebRTC chat application comprises a Private Blockchain module in communication with the Cloud Storage Server to provide user identity, authentication, a digital hash, Group Node Coupling, personally-identifiable information (PII) security, content linking, content searching, and content addressing,

wherein the WebRTC chat application comprises a hardware security module in communication with the Cloud Storage Server to provide AES 256 GCU encryption, and ECDH Diffie-Hellman encryption for audio and video streams,

wherein the WebRTC chat application comprises a key management module in communication with the WebRTC-Gateway Server and the Signaling Server to provide homomorphic encryption of a communication between the WebRTC-gateway Server and the Signaling Server, said homomorphic encryption allowing the Signaling Server to extract the private IP address without decrypting the JSON SMS message,

wherein the WebRTC chat application has an insertable streams module to provide end-to-end encryption for a middlebox device and for Selective Forwarding Units (SFUs) for media routing in a videoconference application where insertable streams iterate on frames and not RTP packets to transform an encoded frame to an asynchronous insertable stream to support end-to-end encryption, and

wherein the first communication device is selected from a mobile communication device, a desktop computer communication device, and a tablet communication device.

14. A communication system and sharing platform, comprising:

a WebRTC chat application of a first communication device having program instructions saved to memory and executable on a processor to establish an encrypted peer-to-peer chat communication with a second communication device having said WebRTC chat application,

a WebRTC-Gateway Server having program instructions saved to memory and executable on a processor to provide communication discovery and media format negotiation between the first communication device and the second communication device,

a Signaling Server connected to the WebRTC-Server, said Signaling Server having program instructions saved to memory and executable on a processor to provide a public-private IP address to the first communication device in response to a JSON SMS invite to join a video/audio chat session and to provide a public-private IP address the second communication device in response to an acceptance reply,

said WebRTC chat application having program instructions to:

Send, in the WebRTC chat application on the first communication device, a telephone number of the first communication device, a private device IP address of the first communication device, and a JSON SMS message invite which includes a second telephone phone number of a second communication device, the JSON SMS message containing an invite to join the video/audio chat session, to the WebRTC-Gateway Server to mediate media communications and exchange JSON messages and RTP/RTCP messages with the second communication device,

Send, in the WebRTC chat application on the second communication device, a JSON SMS message reply containing an answer (accept/decline) to the invite and a private IP address of the second communication device to the WebRTC-Gateway Server,

said WebRTC-Gateway Server and a Signaling Server having program instructions to provide communication discovery and media format negotiation between the first communication device and the second communication device by a first communication device connection offer and a second communication device acceptance reply based on connecting the public-private IP address of the first communication device to the public-private IP address of the second communication device,

and establish an encrypted WebRTC peer-to-peer video and/or audio connection between the WebRTC chat application of the first communication device and the WebRTC chat application of the second communication device, and deploy an advanced security technology module to provide user-based permission control when communicating and sharing rich media content including AES 256 Galois/Counter mode (GCM), Elliptical-curve Diffie Hellman encryption, and a asymmetrical key management system,

Provide a Private Blockchain module connected to the WebRTC-Gateway Server to provide a permission-based access control layer to govern network access by the first communication device and the second communication device and to generate an immutable record of all WebRTC transactions between the first communication device and the second communication device,

Provide a Distributed Ledger Technology (DLT) module connected to the WebRTC-Gateway Server for recording WebRTC transactions including video chat and audio chat where blocks containing transactions and user personally identifiable information (PII) are stored and recorded in distributed blocks in multiple locations,

Search and connect users using group node coupling to access data when a user initiates a video chat or audio chat,

Provide a DRM module to apply user permissions relating to video/audio streaming on a P2P connection, said user permissions including blocking video recording, playback, screenshot disablement, expiration, revocation, and watermarking, and

Provide a secret video chat module using DRM control and ECDH encryption to prevent video recording/playback using an encrypted key with expiration and revocation controls;

wherein the WebRTC chat application comprises video chat and voice chat,

wherein a chat session comprising the video chat and the voice chat, is saved in an encrypted communication between the first communication device and a Cloud Storage Server connected to the first communication device, wherein the video chat and voice chat are stored by the Cloud Storage Server,

wherein the Cloud Storage Server uses a Distributed Hash Table, and wherein the telephone number of the first communication device is a key mapped to a second value that is the chat session, and

in a menu of the WebRTC chat application on the first communication device, assign a DRM permission to the chat session saved to the Cloud Storage Server, wherein the DRM permission is selected from the group consisting of: record, not record, store, screen share, revoke, expire, offline view, blacklist, copy, forward, screen capture, rights violation, and cancel/disappear,

Render, in a rendering module of the Cloud Storage Server, an HTML file of the saved chat session, the HTML file stored in the Cloud Storage Server and having a URL link associated therewith,

Enforce the DRM permission of the chat session using a DRM enforcement module in the Cloud Storage Server, said Cloud Storage Server in encrypted communication with the second communication device, said second communication device having the WebRTC chat application operatively connected to the WebRTC browser of the second communication device to access, using the URL link, the HTML file of the saved chat session saved in the Cloud Storage Server, wherein the saved chat session is rendered on the Cloud Storage Server, and said WebRTC chat application enforces the DRM permission of the saved chat session using a DRM enforcement module in the WebRTC chat application, and said DRM enforcement module configured to send an enforcement command when a DRM permission violation is detected to revoke an encryption key that encrypts an electronic signal between the WebRTC chat application and the WebRTC browser, wherein the electronic signal is between a CODEC in the WebRTC browser and a playback component or module for a speaker or display of the second communication device,

wherein the WebRTC chat application comprises a Private Blockchain module in communication with the Cloud Storage Server to provide user identity, authentication, a digital hash, Group Node Coupling, personally-identifiable information (PII) security, content linking, content searching, and content addressing,

wherein the WebRTC chat application comprises a hardware security module in communication with the Cloud Storage Server to provide AES 256 GCU encryption, and ECDH Diffie-Hellman encryption for audio and video streams,

wherein the WebRTC chat application comprises a key management module in communication with the WebRTC-Gateway Server and the Signaling Server to provide homomorphic encryption of a communication between the WebRTC-gateway Server and the Signaling Server, said homomorphic encryption allowing the Signaling Server to extract the private IP address without decrypting the JSON SMS message,

wherein the WebRTC chat application has an insertable streams module to provide end-to-end encryption for a middlebox device and for Selective Forwarding Units (SFUs) for media routing in a videoconference application where insertable streams iterate on frames and not RTP packets to transform an encoded frame to an asynchronous insertable stream to support end-to-end encryption, and

wherein the first communication device is selected from a mobile communication device, a desktop computer communication device, and a tablet communication device.

15. A communication system and sharing platform, comprising:

a WebRTC chat application of a first communication device having program instructions saved to memory and executable on a processor to establish an encrypted peer-to-peer chat communication with a second communication device having said WebRTC chat application,

said WebRTC chat application having a discovery module with program instructions to send a discovery request to obtain an IP address paired with a telephone number of the second communication device, wherein the WebRTC chat application is installed on the second communication device,

said WebRTC chat application having a blockchain module to connect the first communication device as a first node to the second communication device as a second node in a Private Blockchain network,

the WebRTC chat application having an invite module to send an invite message to a chat session from the first communication device to the IP address of the second communication device through a WebRTC browser extension to a WebRTC signaling server operatively connected to the Private Blockchain network; and

the WebRTC chat application having an accept-connection module to establish encrypted WebRTC peer-to-peer connection between the WebRTC browser of the first communication device and a second WebRTC browser of the second communication device in response to an acceptance by the second communication device of the invite sent by the first communication device, and

the WebRTC chat application having a video chat module and a voice chat module.

16. The communication system and sharing platform of claim 15 , comprising a Saving Module in the WebRTC chat application to transmit the chat session, in an encrypted communication between the first communication device and a Cloud Storage Server, using a distributed hash table, wherein the telephone number of the first communication device is a key mapped to a second value that is a saved chat session.

17. The communication system and sharing platform of claim 15 , comprising a DRM Module in the WebRTC chat application to assign, using a menu of the WebRTC chat application on the first communication device, a DRM permission to the chat session saved to the Cloud Storage Server network, wherein the DRM permission is selected from the group consisting of: record, not record, store, screen share, revoke, expire, offline view, blacklist, copy, forward, screen capture, rights violation, and cancel/disappear.

18. The communication system and sharing platform of claim 16 , comprising a Rendering Module in the WebRTC chat application to render in the Cloud Storage Server, an HTML file of the saved chat session, the HTML file stored in the Cloud Storage Server and having a URL link associated therewith.

19. The communication system and sharing platform of claim 17 , comprising a DRM Enforcement Module in the WebRTC chat application to enforce the DRM permission of the chat session, and having programming instructions wherein said Cloud Storage Server is in encrypted communication with the second communication device, said second communication device having the WebRTC chat application operatively connected to the WebRTC browser of the second communication device to access, using the URL link, the HTML file of the saved chat session and rendering the saved chat session on the Cloud Storage Server, and said WebRTC chat application enforces the DRM permission of the saved chat session using the DRM enforcement module in the WebRTC chat application, and said DRM enforcement module configured to send an enforcement command when a DRM permission violation is detected to revoke an encryption key that encrypts an electronic signal between the WebRTC chat application and the WebRTC browser, wherein the electronic signal is between a CODEC in the WebRTC browser and a playback component or module for a speaker or display of the second communication device.

20. The communication system and sharing platform of claim 16 , comprising a Private Blockchain Module in the WebRTC chat application to communicate with the Cloud Storage Server and provide user identity, authentication, a digital hash, Group Node Coupling,

personally-identifiable information (PII) security, content linking, content searching, and content addressing.

21. The communication system and sharing platform of claim 15 , comprising a Hardware Security Module in the WebRTC chat application to communicate with the Cloud Storage Server to provide AES 256 GCU encryption, and ECDH Diffie-Hellman encryption for audio and video streams.

22. The communication system and sharing platform of claim 15 , comprising a key management module in communication with the WebRTC-Gateway Server and the Signaling Server to provide homomorphic encryption of a communication between the WebRTC-gateway Server and the Signaling Server, said homomorphic encryption allowing the Signaling Server to extract the private IP address without decrypting the JSON SMS message.

23. The communication system and sharing platform of claim 15 , wherein the first communication device is selected from a mobile communication device, a desktop computer communication device, and a tablet communication device.

Assignments (5)
CHANGE OF NAME Recorded Dec 11, 2025
From: DATCHAT, INC.
To: MYSEUM, INC.
Reel/Frame 073934/0481 →
MERGER Recorded Dec 6, 2022
From: AVILA SECURITY CORPORATION
To: DATCHAT PATENTS II, LLC
Reel/Frame 061989/0201 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2022
From: DATCHAT PATENTS II, LLC
To: DATCHAT, INC.
Reel/Frame 061989/0255 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2022
From: AVILA TECHNOLOGY, LLC
To: AVILA SECURITY CORPORATION
Reel/Frame 059053/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2021
From: BERNARDI, ROBERT
To: AVILA TECHNOLOGY, LLC
Reel/Frame 056907/0190 →
Continuity (3)
Continuation 17197114 · Mar 10, 2021
Continuation 17064559 · Oct 6, 2020
Continuation In Part 16845082 · Apr 10, 2020
Cited By (19)
US 12,200,009 US 12,225,080 US 12,244,572 US 12,278,860 US 12,301,551 US 12,341,759 US 12,362,943 US 12,432,046 US 12,469,197 US 12,470,616 US 12,483,399 US 12,500,769 US 12,506,909 US 12,524,507 US 12,537,702 US 12,572,629 US 12,641,131 US 12,666,091 US 12,719,827