IP Library Granted Patent US 11,050,798
Granted Patent B2
US 11,050,798 · App. 16/428,567 · Granted Jun 29, 2021

Methods for establishing peer-to-peer communications using distributed call ledgers

Inventor: Michael Kilburn (Bastrop, TX)
Assignee: Mitel Networks Corporation
H04L65/1069G06F16/134H04L41/082H04L65/1076H04L65/1093H04L67/104H04L67/22H04M3/02H04M7/0024H04M7/0063
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,050,798
App. No.
16/428,567
Granted
Jun 29, 2021
Kind
B2
Abstract

An example method of blockchain-enabled peer-to-peer communications is provided. The method is implemented in a communications system employing a peer-to-peer call network to provide communications capabilities between endpoints (nodes) of the call network. The system supports a distributed ledger system which enables the propagation of signaling data to initiate communications between nodes and for recording call data to provide an open, tamper-resistant log of activity on the network. Further, the system supports decentralized applications executable at nodes of the call network to customize call handling based on user preferences. In particular, the system may further support a distributed file system associated with the call network to store internal state data of the decentralized applications. The decentralized applications may thus be executed on individual, relevant nodes of the call network (i.e. relevant to the communications channel). Further, the decentralized applications provide customizable, programmable call handling management within the system.

Claims (67)

1. A method at a source node in a peer-to-peer call network, the method comprising:

generating an initiation request to initiate a communications channel between the source node and a destination node in the peer-to-peer call network, the initiation request including signaling data for the source node to allow the destination node to establish a signaling channel;

in response to generating the initiation request, obtaining, from a distributed file network, internal state data for the source node, the internal state data defining call control logic for the source node;

triggering a decentralized application to manage the communications channel;

committing the initiation request as a transaction to a local copy of a distributed call ledger stored at the source node;

broadcasting the transaction to the peer-to-peer call network to update the distributed call ledger to propagate the transaction to the destination node; and

when the signaling channel between the source node and the destination node has been established, establishing a peer-to-peer media channel between the source node and the destination node, wherein the signaling channel and the media channel form the communications channel between the source node and the destination node; and

managing, via the decentralized application, the call control logic of the communications channel for the source node based on the internal state data.

2. The method of claim 1 , further comprising:

generating a termination request to terminate the communications channel between the source node and the destination node, the termination request configured to trigger the destination node to terminate the signaling channel;

committing the termination request as a further transaction to the local copy of the distributed call ledger stored at the source node;

broadcasting the further transaction to the peer-to-peer call network to update the distributed call ledger to propagate the further transaction to the destination node; and

when the signaling channel has been terminated, terminating the media channel.

3. The method of claim 1 , further comprising:

requesting, from a distributed hash table stored on the peer-to-peer call network, an identifier of the destination node; and

sending, with the initiation request, an initiation signal to the peer-to-peer call network to be propagated to the destination node, the initiation signal to trigger a corresponding decentralized application at the destination node based on the identifier of the destination node.

4. The method of claim 1 , further comprising:

prior to generating the initiation request, obtaining an identifier for a user of the source node;

requesting, from a distributed identity ledger, an identity key for the user of the source node; and

verifying, based on the identifier and the identity key, an identity of the user.

5. A method in a destination node in a peer-to-peer call network, the method comprising:

receiving, from the peer-to-peer call network, an update for a distributed call ledger stored at the destination node;

extracting, from the update, an initiation transaction including an initiation request to initiate a communications channel between a source node and the destination node, the initiation request including signaling data for the source node;

in response to the initiation request, obtaining from a distributed file network, internal state data for the destination node, the internal state data defining call control logic for the destination node;

triggering a decentralized application to manage the communications channel;

establishing a signaling channel between the source node and the destination node based on the signaling data for the source node; and

establishing a peer-to-peer media channel between the source node and the destination node, wherein the signaling channel and the media channel form the communications channel; and

managing, via the decentralized application, the call control logic of the communications channel for the destination node based on the internal state data.

6. The method of claim 5 , further comprising:

responsive to establishing the communications channel, committing a channel transaction to a local copy of the distributed call ledger stored at the destination node, the channel transaction including an indication of the established communications channel; and

broadcasting the channel transaction to the peer-to-peer call network to update the call ledger.

7. The method of claim 5 , further comprising:

receiving a termination request to terminate the communications channel between the source node and the destination node; and

responsive to receiving the termination request, terminating the signaling channel and the media channel.

8. The method of claim 5 , further comprising:

receiving, with the initiation request, an initiation signal to trigger the decentralized application at the destination node; and

wherein the decentralized application is configured to control the destination node to establish the signaling channel between the source node and the destination node based on the signaling data for the source node.

9. A non-transitory computer-readable medium storing a plurality of computer-readable instructions executable by a processor of a client node, wherein execution of the instructions configures the processor to:

generate an outgoing initiation request to initiate a first communications channel between the client node and a first end node, the outgoing initiation request including signaling data for establishing a first signaling channel between the client node and the first end node;

commit the outgoing initiation request as a transaction to a local copy of a distributed call ledger stored at the source node;

broadcast the transaction to a peer-to-peer call network of the client node to propagate the outgoing initiation request to the first end node;

in response to the initiation request, obtain from a distributed file network, internal state data for the client node, the internal state data defining call control logic for the client node;

triggering a decentralized application to manage the communications channel; and

establish a first media channel between the client node and the first end node, the first media channel and the first signaling channel forming the first communications channel; and

manage, via the decentralized application, the call control logic of the communications channel for the client node based on the internal state data.

10. The non-transitory computer-readable medium of claim 9 , wherein execution of the instructions further configures the processor to:

receive, from the peer-to-peer call network, an update for the call ledger;

extracting, from the update, an initiation transaction including an incoming initiation request to initiate a second communications channel between the client node and a second end node;

responsive to the incoming initiation request, establishing a second signaling channel between the client node and the second end node based on signaling data for the second end node from the initiation request; and

establishing a second media channel between the client node and the second end node, the second media channel and the second signaling channel forming the second communications channel.

11. The non-transitory computer-readable medium of claim 10 , wherein execution of the instructions further configures the processor to, responsive to receiving a termination request to terminate the second communications channel between the client node and the second end node:

terminate the second signaling channel; and

terminate the second media channel.

12. The non-transitory computer-readable medium of claim 9 , wherein execution of the instructions further configures the processor to:

commit transactions indicative of a status of the first communications channel to a local copy of a distributed call ledger stored at the client node; and

broadcast the transaction to update the call ledger.

13. The non-transitory computer-readable medium of claim 12 , wherein execution of the instructions further configures the processor to trigger a billing event based on the transactions indicative of the status of the first communications channel.

14. The non-transitory computer-readable medium of claim 9 , wherein execution of the instructions further configures the processor to, prior to generating the outgoing initiation request;

obtain an identifier for a user;

obtain, from a distributed identity ledger, a public key associated with the identifier;

send a token for signing by the user; and

verify the signed token based on the public key.

15. The non-transitory computer-readable medium of claim 9 , wherein execution of the instructions further configures the processor to, to manage the call control logic:

retrieve, from a distributed hash table, node identities of the distributed file network corresponding to nodes storing the internal state data for the client node;

obtain, from the nodes corresponding to the node identities, the internal state data for the client node; and

execute the decentralize application at the client node based on the internal state data for the client node.

16. The method of claim 1 , wherein the call control logic comprises one or more of; voice controls and call wafting configurations.

Assignments (10)
SECURITY INTEREST Recorded Jun 30, 2025
From: MLN US HOLDCO LLC; MITEL (DELAWARE), INC.; MITEL NETWORKS CORPORATION; MITEL NETWORKS, INC.
To: U.S. PCI SERVICES, LLC
Reel/Frame 071758/0843 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2025
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: MITEL (DELAWARE), INC.; MITEL COMMUNICATIONS, INC.; MITEL NETWORKS, INC.; MITEL NETWORKS CORPORATION
Reel/Frame 071712/0821 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2025
From: ACQUIOM AGENCY SERVICES LLC
To: MITEL (DELAWARE), INC.; MITEL NETWORKS, INC.; MITEL NETWORKS CORPORATION
Reel/Frame 071730/0632 →
SECURITY INTEREST Recorded Jun 20, 2025
From: MITEL (DELAWARE), INC.; MITEL NETWORKS CORPORATION; MITEL NETWORKS, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 071676/0815 →
SECURITY INTEREST Recorded Mar 12, 2025
From: MITEL (DELAWARE), INC.; MITEL NETWORKS CORPORATION; MITEL NETWORKS, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 070689/0857 →
NOTICE OF SUCCCESSION OF AGENCY - 2L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 069896/0001 →
NOTICE OF SUCCCESSION OF AGENCY - 3L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 070006/0268 →
NOTICE OF SUCCCESSION OF AGENCY - PL Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 069895/0755 →
SECURITY INTEREST Recorded Oct 31, 2022
From: MITEL NETWORKS CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 061824/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2019
From: KILBURN, MICHAEL
To: MITEL NETWORKS CORPORATION
Reel/Frame 049429/0556 →
Continuity (1)
Related Publication 20200382364A1 · Dec 3, 2020