IP Library › Granted Patent US 10,897,489
Granted Patent B2
US 10,897,489 · App. 16/717,156 · Granted Jan 19, 2021

Managing content casting

Inventors: Eleftherios Simotas (Kifissia, GR); Konstantinos Sakellariou (Vari, GR); Ioannis Aglamisis (Salonika, GR); Peter Politopoulos (Ilia, GR)
Assignee: MCOM MEDIA COMUNICATIONS DMCC
H04L65/4076H04L65/105H04L65/4092H04L65/605H04L67/2814
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 10,897,489
App. No.
16/717,156
Granted
Jan 19, 2021
Kind
B2
Abstract

Techniques are provided to manage the casting of content from user devices to media playback devices. The proposed approach employs intermediate network components that intercept and manipulate session and configuration protocol traffic according to network rules. Enforcement of such rules ensures user devices only discover and cast content to allowed media playback devices. The proposed techniques support casting to local and remote public and private media playback devices and also regulate media playback device reconfiguration.

Claims (72)

1. A method of managing content casting sessions between a source device and at least one media playback device, comprising:

connecting the source device to a first network;

connecting the at least one media playback device to a second network;

relaying multicast service discovery messages from the source device to the at least one media playback device using address and port mapping to imitate the origin of the discovery messages as being inside the second network;

receiving multicast service advertisement messages from the at least one media playback device, in response to receiving at the at least one media playback device the multicast service discovery messages relayed by the source device;

converting the multicast service advertisement messages from the at least one media playback device to one of unicast L3, unicast L2, and multicast service advertisement packets by changing message content and using address and port mapping to imitate the origin of the advertisement messages as being inside the first; network, each of the multicast service discovery messages and the multicast service advertisement messages being implemented with the multicast Domain Name System (mDNS) protocol using at least one of Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6);

modifying server (SRV) and A records in the converted multicast service advertisement messages;

sending the modified multicast service advertisement messages to the source device;

pairing the source device with the at least one media playback device; and

controlling the opening of a content casting session between the paired devices using virtual Internet Protocols (IPs) and communication ports and performing Network Address Translation (NAT) to force the transport of session packets between the source device and the media playback device via a local proxy server configured to manage the permissions of allowing or not the content casting sessions according to rules supplied by a control server.

2. The method of claim 1 , further comprising:

authorizing the source device for connection to the at least one media playback device;

applying network rules to relay or block service advertisement messages from the at least one media playback device to the source device; and

applying network rules to regulate casting session protocol traffic and casting configuration protocol traffic.

3. The method of claim 1 , where one of the following is used:

the multicast service discovery messages from the source device are sent with the IPv4 protocol and the content is casted from the source device with the IPv4 protocol;

the multicast service discovery messages from the source device are sent with the IPv6 protocol and the content is casted from the source device with the IPv6 protocol; and

the multicast service discovery messages from the source device are sent with the IPv6 protocol and the content is casted from the source device with the IPv4 protocol.

4. The method of claim 3 , where the multicast service discovery messages and the multicast service advertisement messages are implemented with the Simple Service Discovery Protocol (SSDP), the method further comprising:

proxying service description services and casting services upon receiving the multicast service advertisement messages;

modifying the multicast service advertisement messages to include a service description Universal Resource Locator (URL) pointing to an emulated virtual service IP and communication port on the first network; and

using the service description URL at the source device to fetch casting service information.

5. The method of claim 3 , where the authorization of the source device and the creation or updating of the network rules is done using data received from a control component.

6. The method of claim 3 , where the source device and the at least one media playback device are located in a hotel guest room, the control component is a service management component connected to a hotel reservation or Enterprise Resource Planning (ERP) system, and the source device is casting media content to the at least one media playback device, or the source device sends a network address where the media content for casting is stored.

7. The method of claim 3 , where the source device casts streaming media content to the at least one media playback device, or the source device sends the network address, where the streaming media content is stored, for casting the streaming media content to the at least one media playback device.

8. A proxy server configured to manage content casting sessions between a source device and at least one media playback device, the proxy server comprising:

a memory for storing computer readable code; and

a processor operatively coupled to the memory, the processor being configured to:

connect with the source device via a first network;

connect with the at least one media playback device via a second network;

relay multicast service discovery messages from the source device to the at least one media playback device using address and port mapping to imitate the origin of the discovery messages as being inside the second network;

receive multicast service advertisement messages from the at least one media playback device in response to receiving at the at least one media playback device the multicast service discovery messages relayed by the source device;

convert the multicast service advertisement messages from the at least one media playback device to one of unicast L3, unicast L2, and multicast service advertisement packets by changing message content and using address and port mapping to imitate the origin of the advertisement messages as being inside the first network, each of the multicast service discovery messages and the multicast service advertisement messages being implemented with the multicast Domain Name System (mDNS) protocol using at least one of Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6);

modify server (SRV) and A records in the converted multicast service advertisement messages;

send the modified multicast service advertisement messages to the source device;

pair the source with the at least one media playback device; and

control the opening of a media content casting session between the paired devices using virtual Internet Protocols (IPs) and communication ports and performing Network Address Translation (NAT) to force the transport of session packets between the source device and the media playback device via a local proxy server configured to manage the permissions of allowing or not the content casting sessions according to rules supplied by a control server.

9. The proxy server of claim 8 , wherein the processor is further configured to:

authorize the source device for connection to the at least one media playback device;

apply network rules to relay or block service advertisement messages from the at least one media playback device to the source device; and

apply network rules to regulate casting session protocol and casting configuration protocol traffic.

10. The proxy server of claim 8 , where one of the following is used:

the multicast service discovery messages from the source device are sent with the IPv4 protocol and the content is casted from the source device with the IPv4 protocol;

the multicast service discovery messages from the source device are sent with the IPv6 protocol and the content is casted from the source device with the IPv6 protocol; and

the multicast service discovery messages from the source device are sent with the IPv6 protocol and the content is casted from the source device with the IPv4 protocol.

11. The proxy server of claim 10 , where the multicast service discovery messages and the multicast service advertisement messages are implemented with the Simple Service Discovery Protocol (SSDP), the processor being further configured to:

proxy service description services and casting services upon receiving the multicast service advertisement messages;

modify the multicast service advertisement messages to include a service description URL pointing to an emulated virtual service IP and communication port on the first network; and

use the service description Universal Resource Locator (URL) at the source device to fetch casting service information.

12. The proxy server of claim 10 , where (a) the authorizing of the source device and the creating or updating of the network rules comprise using data received from a control component, (b) the first network is the Internet, and (c) the processor is further configured to forward the network traffic to a cloud based proxy component, and to forward the network traffic from the cloud based proxy component to a proxy agent at the source device.

13. A non-transitory computer readable medium for managing content casting sessions between a source device and at least one media playback device, the non-transitory computer readable medium containing program instructions to:

connect a proxy server component with the source device via a first network;

connect the proxy server component with the at least one media playback device via a second network;

relay multicast service discovery messages from the source device to the at least one media playback device using address and port mapping to imitate the origin of the discovery messages as being inside the second network;

receive multicast service advertisement messages from the at least one media playback device in response to receiving at the at least one media playback device the multicast service discovery messages relayed by the source device; convert the multicast service advertisement messages from the at least one media playback device to one of unicast L3, unicast L2, and multicast service advertisement packets by changing message content and using address and port mapping to imitate the origin of the advertisement messages as being inside the first network, each of the multicast service discovery messages and the multicast service advertisement messages being implemented with the multicast Domain Name System (mDNS) protocol using at least one of Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6);

modify server (SRV) and A records in the converted multicast service advertisement messages;

send the modified multicast service advertisement messages to the source device;

pair the source device with the at least one media playback device; and

control the opening of a content casting session between the paired devices using virtual Internet Protocols (IPs) and communication ports and performing Network Address Translation (NAT) to force the transport of session packets between the source device and the media playback device via a local proxy server configured to manage the permissions of allowing or not the content casting sessions according to rules supplied by a control server.

14. The non-transitory computer readable medium of claim 13 , the non-transitory computer readable medium further containing program instructions to:

authorize the source device to connect to the at least one media playback device;

apply network rules to relay or block service advertisement messages from the at least one media playback device to the source device; and

apply network rules to regulate casting session protocol and cast configuration protocol traffic.

15. The non-transitory computer readable medium of claim 13 , where the non-transitory computer readable medium further contains instructions to do one of the following:

send the multicast service discovery messages from the source device using the IPv4 protocol and cast the content from the source device using the IPv4 protocol;

send the multicast service discovery messages from the source device using the IPv6 protocol and cast the content from the source device with the IPv6 protocol; and

send the multicast service discovery messages from the source device using the IPv6 protocol and cast the content from the source device with the IPv4 protocol.

16. The non-transitory computer readable medium of claim 15 , where the multicast service discovery messages and the multicast service advertisement messages are implemented with the Simple Service Discovery Protocol (SSDP), the non-transitory computer readable medium further containing program instructions to:

proxy service description services and casting services upon receiving the multicast service advertisement messages;

modify the multicast service advertisement messages to include a service description URL pointing to an emulated virtual service IP and communication port on the first network; and

use the service description Universal Resource Locator (URL) at the source device to fetch casting service information.

17. The non-transitory computer readable medium of claim 15 , where (a) the authorization of the source device and the creation or updating of the network rules is done using data received from a control component, (b) the first network is the Internet, and (c) the non-transitory computer readable medium further comprises a first set of program instructions to forward the network traffic to a cloud based proxy component, and a second set of program instructions to forward the network traffic from the cloud based proxy component to a proxy agent at the source device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2020
From: SIMOTAS, ELEFTHERIOS; AGLAMISIS, IOANNIS; POLITOPOULOS, PETER; SAKELLARIOU, KONSTANTINOS
To: MCOM MEDIA COMMUNICATIONS DMCC
Reel/Frame 051543/0001 →
Continuity (3)
Continuation In Part 16211428 · Dec 6, 2018
Continuation In Part 15834265 · Dec 7, 2017
Related Publication 20200128056A1 · Apr 23, 2020