Serverless signaling in peer-to-peer session initialization

US10944801B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10944801-B1
Application numberUS-201916284893-A
CountryUS
Kind codeB1
Filing dateFeb 25, 2019
Priority dateFeb 25, 2019
Publication dateMar 9, 2021
Grant dateMar 9, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods are described for facilitating delivery of resources via peer-to-peer connections without requiring an intermediary signaling server. Typically, before establishing a peer-to-peer connection, peers must exchange signaling information such as their reachability over a network. Traditional systems often rely on an intermediary signaling server to act as a go-between for peers and assist in the exchange of signaling information. The present disclosure removes the need for a signaling server. Instead, peers may utilize message collections on a messaging system to exchange signaling information. A requesting peer may submit a request to access a resource to a message collection for that resource. A providing peer may obtain the request, and submit a response to a message collection for the requesting peer. Peers may continue to exchange information via the collections until a peer-to-peer connection is established.

First claim

Opening claim text (preview).

What is claimed is: 1. A system to facilitate establishment of a peer-to-peer connection between peers to provide video content, without requiring an intermediary signaling server to conduct signaling between the peers, the system comprising: a messaging system comprising one or more processors and configured to provide: a resource queue associated with the video content and configured to contain signaling messages from a first peer and to make the signaling messages from the first peer available for retrieval by a second peer providing access to the video content; and a peer queue associated with the first peer and configured to contain signaling responses from the second peer and to make the signaling responses from the second peer available for retrieval by the first peer, wherein the first peer, the second peer, and the messaging system each represent distinct computing devices in communication over a network; and a streaming video system comprising one or more processors and configured to implement the second peer providing access to the video content, the streaming video system is further configured to: retrieve, from the resource queue of the messaging system, a signaling message enqueued in the resource queue by the first peer, wherein the signaling message represents a request to access the video content, and wherein the signaling message includes network availability information of the first peer used by the second peer in the establishment of the peer-to-peer connection; enqueue, within the peer queue of the messaging system, a signaling response, wherein the signaling response includes network availability information of the second peer used by the first peer in the establishment of the peer-to-peer connection; receive, at the second peer, a communication from the first peer indicating that the first peer has retrieved the signaling response from the peer queue; and using at least the network availability information of the first peer, establish the peer-to-peer connection between the first peer and the second peer. 2. The system of claim 1 , wherein the signaling message and signaling response are formatted in accordance with the Web Real-Time Communication (WebRTC) protocol, and wherein the streaming video system is further configured to transmit the video content from the second peer to the first peer over the peer-to-peer connection according to the WebRTC protocol. 3. The system of claim 1 , wherein the signaling message corresponds to at least one of a message formatted according to the Session Description Protocol (SDP) or a message formatted according to the Interactive Connectivity Establishment (ICE) framework. 4. The system of claim 1 , wherein the streaming video system is configured to repeatedly retrieve signaling messages from the resource queue and enqueue signaling responses into the peer queue until the peer-to-peer connection is established. 5. A computer-implemented method, wherein the method is implemented by a computing system comprising a first peer providing access to a resource over a network via a peer-to-peer connection, the method comprising: submitting a query to a messaging system distinct from the first peer, the query requesting signaling messages within a resource queue provided by the messaging system and associated with the resource, the signaling messages representing requests to access the resource that are enqueued within the resource queue by peers distinct from the first peer and from the messaging system; obtaining, from the resource queue, a signaling message from a second peer, wherein the signaling message includes network availability information of the second peer used by the first peer in the establishment of the peer-to-peer connection, and wherein the signaling message identifies a peer queue, on the messaging system, that is associated with the second peer; enqueuing, within the peer queue, a signaling response that is responsive to the signaling message, wherein the signaling response includes network availability information of the first peer used by the second peer in the establishment of the peer-to-peer connection; receiving, at the first peer, a communication from the second peer indicating that the second peer has obtained the signaling response from the peer queue; and using at least the network availability information of the second peer, establishing the peer-to-peer connection between the first peer and the second peer. 6. The computer-implemented method of claim 5 , wherein the resource is a video content, and wherein the method further comprises transmitting the video content from the first peer to the second peer over the peer-to-peer connection according to the WebRTC protocol. 7. The computer-implemented method of claim 5 further comprising: authenticating the second peer at the computing system; generating the peer queue at the messaging system; and providing to the second peer identifying information for the peer queue for inclusion in the signaling message. 8. The computer-implemented method of claim 7 , wherein generating the peer queue comprises including, within an identifier of the peer queue, permissions information associating the peer queue with the second peer. 9. The computer-implemented method of claim 8 , wherein the messaging system represents a subsystem of the computing system, and wherein the method further comprises, at the message system: obtaining a request from the second peer to dequeue the signaling response from the peer queue; authenticating the second peer based at least partly on a comparison of the permissions information included within the identifier of the peer queue and authentication information provided by the second peer; and in response to authenticating the second peer, providing the signaling response to the second peer. 10. The computer-implemented method of claim 5 , wherein the method comprises repeatedly obtaining signaling messages from the resource queue and enqueuing signaling responses into the peer queue until the peer-to-peer connection is established. 11. The computer-implemented method of claim 5 , wherein the computing system comprises a coordinator device that obtains the signaling message from the resource queue and enqueues the signaling response within the peer queue, and wherein the method further comprises: relaying the signaling message from the coordinator device to the first peer; and obtaining, at the coordinator device, the signaling response. 12. The computer-implemented method of claim 5 further comprising: detecting a failure of the first peer; and associating an alternative peer within the computing system with the resource, wherein associating the alternative peer with the resource causes signaling messages within the resource queue to be passed to the alternative peer. 13. One or more non-transitory computer-readable media comprising computer-executable instructions that, when executed by a computing system comprising a first peer providing access to a resource over a network via a peer-to-peer connection, causes the computing system to: query a messaging system distinct from the first peer for signaling messages within a resource message collection provided by the messaging system and associated with the resource, the signaling messages representing requests to access the resource that are enqueued within the resource queue by peers distinct from the first peer and from the messaging system; obtain, from the resource message collection, a signaling message from a second peer, wherein the signaling message includes network availability information of the second peer used by the first p

Assignees

Inventors

Classifications

  • at the source  (reformatting of additional data in video distribution servers H04N21/2355) · CPC title

  • Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP] · CPC title

  • for unicast · CPC title

  • for supporting data block transmission mechanisms (file transfer H04L67/06) · CPC title

  • where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10944801B1 cover?
Systems and methods are described for facilitating delivery of resources via peer-to-peer connections without requiring an intermediary signaling server. Typically, before establishing a peer-to-peer connection, peers must exchange signaling information such as their reachability over a network. Traditional systems often rely on an intermediary signaling server to act as a go-between for peers …
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L65/1069. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 09 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).