Dynamic speaker selection and live stream delivery for multi-party conferencing

    公开(公告)号:US20180192003A1

    公开(公告)日:2018-07-05

    申请号:US15854393

    申请日:2017-12-26

    IPC分类号: H04N7/15 H04N7/14 H04L29/06

    摘要: An overlay network platform facilitates a multi-party videoconference. End users participate using client-based browser or mobile application rendering software, such as a web browser, and using a protocol such as WebRTC. Dynamic speaker selection among the participants is facilitated by continuously determining the “relevance” of a participant's stream with respect to other participants in the conference. Thus, for example, a particular participant stream might be deemed to have a higher relevance if it is the stream corresponding to a person that is currently speaking, that has spoken recently, or that is about to speak. Streams with higher relevance are then selectively delivered at higher quality relative to less relevant streams. Preferably, individual client machines determine which streams are requested and at which quality based in part on their local resource capabilities.

    Maintaining stream continuity counter in a stateless multiplexing system

    公开(公告)号:US09986269B1

    公开(公告)日:2018-05-29

    申请号:US15449658

    申请日:2017-03-03

    摘要: Disclosed are systems, methods, and apparatus for maintaining a packet count in stateless multiplexing systems. Multimedia streaming formats employ roll-over packet counters, such as the continuity counter (CC) for stream data associated with a particular packet identifier (e.g., a packetized elementary stream) in an MPEG transport stream. In one embodiment, an input stream is broken into segments of a given duration. Output segments are generated based on input segments (e.g., as in distributed transcoding systems). For a given output segment, additional packets are generated and inserted into the stream to force the packet counter for each packet identifier (PID) to end on a predetermined value. The ending predetermined value is preferably contiguous to the starting predetermined value at which the counter began that output segment. The first packet for a given PID in output segments can thus start the packet counter on a known value—i.e., the starting predetermined value.

    SYSTEMS AND METHODS FOR DEMULTIPLEXING AND MULTIPLEXING MULTIMEDIA STREAMS THAT HAVE SPURIOUS ELEMENTARY STREAMS

    公开(公告)号:US20180146222A1

    公开(公告)日:2018-05-24

    申请号:US15360170

    申请日:2016-11-23

    摘要: Described herein are systems, methods and apparatus for demultiplexing and multiplexing multimedia streams where one or more of the underlying elementary streams appears intermittently, that is, one or more particular elementary streams are “spurious”. Typically, a multiplexed multimedia stream contains elementary streams for video, audio and ancillary data. A transcoding process typically involves demultiplexing into elementary streams, transcoding, and then multiplexing the elementary streams back into a multiplexed stream. Bu if one of the elementary streams is not present for a time period, then a multiplexer that expects a continuous stream of data of each elementary stream type may fail or excessively buffer the elementary streams that are present. Without limitation, the teachings presented here provide solutions to the problems of handling spuriously appearing sources in a transcoding solution.

    Data differencing across peers in an overlay network

    公开(公告)号:US09912784B2

    公开(公告)日:2018-03-06

    申请号:US14827341

    申请日:2015-08-17

    发明人: Charles E. Gero

    摘要: A data differencing technique enables a response from a server to the request of a client to be composed of data differences from previous versions of the requested resource. To this end, data differencing-aware processes are positioned, one at or near the origin server (on the sending side) and the other at the edge closest to the end user (on the receiving side), and these processes maintain object dictionaries. The data differencing-aware processes each execute a compression and differencing engine. Whenever requested objects flow through the sending end, the engine replaces the object data with pointers into the object dictionary. On the receiving end of the connection, when the data arrives, the engine reassembles the data using the same object dictionary. The approach is used for version changes within a same host/path, using the data differencing-aware processes to compress data being sent from the sending peer to the receiving peer.

    CONTENT DELIVERY NETWORK REQUEST HANDLING MECHANISM WITH CACHED CONTROL INFORMATION

    公开(公告)号:US20180034930A1

    公开(公告)日:2018-02-01

    申请号:US15483805

    申请日:2017-04-10

    IPC分类号: H04L29/08

    CPC分类号: H04L67/2804

    摘要: Described herein are improved systems, methods, and devices for delivering and managing metadata in a distributed computing platform such as a content delivery network (CDN) so as to configure content servers to handle client requests. The teachings hereof provide, among other things, scalable and configurable solutions for delivering and managing metadata, preferably by leveraging dynamically obtained control information. For example, in one embodiment, a given content server may store metadata, e.g., in a configuration file, that references dynamic, late-bound control information for use in satisfying dependencies. This dynamic control information can be requested by the CDN content server, typically from a remote host, when needed to parse and execute the metadata.

    Providing forward secrecy in a terminating TLS connection proxy

    公开(公告)号:US09876820B2

    公开(公告)日:2018-01-23

    申请号:US15633312

    申请日:2017-06-26

    IPC分类号: H04L29/06

    摘要: An infrastructure delivery platform provides a RSA proxy service as an enhancement to the TLS/SSL protocol to off-load, from an edge server to an external cryptographic server, the decryption of an encrypted pre-master secret. The technique provides forward secrecy in the event that the edge server is compromised, preferably through the use of a cryptographically strong hash function that is implemented separately at both the edge server and the cryptographic server. To provide the forward secrecy for this particular leg, the edge server selects an ephemeral value, and applies a cryptographic hash the value to compute a server random value, which is then transmitted back to the requesting client. That server random value is later re-generated at the cryptographic server to enable the cryptographic server to compute a master secret. The forward secrecy is enabled by ensuring that the ephemeral value does not travel on the wire.