IP Library Granted Patent US 9,722,806
Granted Patent B2
US 9,722,806 · App. 14/462,414 · Granted Aug 1, 2017

Service discovery across different networks

Inventors: Tomer Dvir (Tel-Aviv, IL); Omri Haim (Tel-Aviv, IL); Omri Bruchim (Rishon LeZion, IL); Or Yagel (Herzlia, IL); Jonathan Rauch (Tel Aiv-Yaffo, IL)
Assignee: Asurion, LLC
H04L12/18H04L61/1511H04L61/1541H04L63/0272H04L65/608H04L67/16H04L61/6009
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 9,722,806
App. No.
14/462,414
Granted
Aug 1, 2017
Kind
B2
Abstract

Technologies for service discovery and media sharing are disclosed. A described technique includes receiving, at a first device, service information for a streaming service provided by a second device, the first device and second device being on different first networks, the first networks being different local multicast networks; inserting an entry in a multicast domain name system (mDNS) cache of the first device based on the service information such that the streaming service is (i) discoverable by the first device via a mDNS query and (ii) accessible through a second network that interconnects the first networks; and sending streaming information from the first device to the second device through the second network for the streaming service.

Claims (48)

1. A method comprising:

receiving, at a first device, service information for a streaming service provided by a second device, the first device and second device being on different first networks, the first networks being different local multicast networks;

receiving a request to share a display of the first device with the second device;

inserting an entry in a multicast domain name system (mDNS) cache of the first device based on the service information such that the streaming service is (i) discoverable by the first device via a mDNS query and (ii) accessible through a second network that interconnects the first networks, wherein inserting the entry is conditional based on an acceptance of the request; and

sending streaming information from the first device to the second device through the second network for the streaming service.

2. The method of claim 1 , wherein sending the streaming information comprises streaming display data associated with a display of the first device, and wherein the second device is configured to reproduce the display of the first device using the display data.

3. The method of claim 1 , wherein sending the streaming information comprises streaming audio data.

4. The method of claim 1 , comprising:

performing the mDNS query based on a service type and a domain, the service type being associated with the streaming service provided by the second device, wherein sending the information comprises using a network address that is returned by the mDNS query.

5. The method of claim 4 , wherein performing the mDNS query comprises searching the mDNS cache, sending an Internet Protocol (IP) multicast packet, or both to discover hosts that provide the service type.

6. The method of claim 1 , wherein receiving the service information comprises receiving, over a unicast connection through the second network, a version of a mDNS service record that was published by the second device on a corresponding one of the first networks.

7. The method of claim 1 , comprising:

establishing a virtual private network (VPN) tunnel between the first device and the second device over the second network, wherein sending the information comprises transmitting data packets through the VPN tunnel.

8. The method of claim 7 , wherein the service information comprises a VPN address of the second device that is associated with the VPN tunnel.

9. The method of claim 8 , wherein the entry comprises (i) a name associated with the streaming service and (ii) the VPN address of the second device.

10. The method of claim 7 , wherein establishing the VPN tunnel comprises establishing the VPN tunnel with a VPN server using an Internet Protocol security (IPsec) protocol.

11. An apparatus comprising:

a memory configured to store data comprising a multicast domain name system (mDNS) cache;

a network interface configured to exchange data on at least a first network;

a processor coupled with the memory and the network interface, configured to (i) receive, over the first network, service information for a streaming service provided by a host device that resides on a second network, the first network and the second network being different local multicast networks, (ii) insert an entry in the mDNS cache based on the service information such that the streaming service is discoverable by the apparatus via a mDNS query and accessible through a third network that interconnects the first network and the second network, and (iii) send streaming information to the host device for the streaming service through the third network; and

a display coupled with the processor,

wherein the processor is configured to receive a request to share the display with the host device, wherein the entry is inserted in the mDNS cache based on an acceptance of the request.

12. The apparatus of claim 11 , wherein the streaming information comprises display data associated with the display, and wherein the host device is configured to reproduce the display using the display data.

13. The apparatus of claim 11 , wherein the streaming information comprises video data, audio data, or both.

14. The apparatus of claim 11 , wherein the processor is configured to (i) perform the mDNS query based on a service type and a domain, the service type being associated with the streaming service provided by the host device, and (ii) send the streaming information based on a network address that is returned by the mDNS query.

15. The apparatus of claim 14 , wherein the mDNS query comprises searching the mDNS cache, sending an Internet Protocol (IP) multicast packet, or both to discover hosts that provide the service type.

16. The apparatus of claim 11 , wherein the processor is configured to (i) establish a virtual private network (VPN) tunnel with the host device over the third network, and (ii) send the streaming information through the VPN tunnel.

17. The apparatus of claim 16 , wherein the service information comprises a VPN address of the host device that is associated with the VPN tunnel.

18. The apparatus of claim 17 , wherein the entry comprises (i) a name associated with the streaming service and (ii) the VPN address of the host device.

19. The apparatus of claim 16 , wherein the VPN tunnel is configured to use an Internet Protocol security (IPsec) protocol.

20. A method comprising:

receiving, at a first device over a unicast connection, service information for a streaming service provided by a second device, the first device and second device being on different first networks, the first networks being different local multicast networks;

receiving a request to share a display of the first device with the second device;

using, at the first device, the service information to internally publish multicast domain name system (mDNS) information regarding the streaming service such that the streaming service is (i) discoverable by an application on the first device via a mDNS query and (ii) accessible through a second network that interconnects the first networks, wherein using the service information to internally publish the mDNS information is conditional based on an acceptance of the request;

operating the application to perform the mDNS query to discover one or more devices associated with the streaming service; and

sending streaming information from the application on the first device to the second device through the second network for the streaming service, wherein sending the information comprises using a network address that is returned by the mDNS query and is associated with the second device.

21. The method of claim 20 , wherein sending the streaming information comprises streaming display data associated with a display of the first device, and wherein the second device is configured to reproduce the display of the first device using the display data.

22. The method of claim 20 , wherein the mDNS query is based on a service type and a domain, the service type being associated with the streaming service provided by the second device, and wherein operating the application to perform the mDNS query comprises searching a local mDNS cache.

23. The method of claim 20 , comprising:

establishing a virtual private network (VPN) tunnel between the first device and the second device over the second network, wherein sending the information comprises transmitting data packets through the VPN tunnel.

24. An apparatus comprising:

a memory configured to store data comprising a multicast domain name system (mDNS) cache;

a network interface configured to exchange data on at least a first network;

a processor coupled with the memory and the network interface, configured to (i) receive, over the first network via a unicast connection, service information for a streaming service provided by a host device that resides on a second network, the first network and the second network being different local multicast networks, (ii) use the service information to internally publish mDNS information regarding the streaming service in the mDNS cache such that the streaming service is discoverable by an application on the apparatus via a mDNS query and accessible through a third network that interconnects the first network and the second network, (iii) operate the application to perform the mDNS query to discover one or more devices associated with the streaming service, and (iv) send streaming information from the application to the host device for the streaming service through the third network using a network address that is returned by the mDNS query and is associated with the host device; and

a display coupled with the processor,

wherein the processor is configured to receive a request to share the display with the host device, and wherein the processor is configured to use the service information to internally publish the mDNS information based on an acceptance of the request.

25. The apparatus of claim 24 , wherein the processor is configured to perform the mDNS query based on a service type and a domain, the service type being associated with the streaming service provided by the host device.

26. The apparatus of claim 24 , wherein the processor is configured to (i) establish a virtual private network (VPN) tunnel with the host device over the third network, and (ii) send the streaming information through the VPN tunnel.

Assignments (5)
SECURITY INTEREST Recorded Jan 30, 2026
From: ASURION, LLC; ASURION SERVICES, LLC; SIMPLR SOLUTIONS, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 073643/0001 →
SECURITY INTEREST Recorded Dec 19, 2025
From: ASURION, LLC; ASURION SERVICES, LLC; SIMPLR SOLUTIONS, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 073275/0401 →
SUPPL. NO. 4 TO FIRST LIEN SECURITY AGREEMENT Recorded Nov 1, 2016
From: ASURION, LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040541/0960 →
SUPPL. NO. 2 TO SECOND LIEN SECURITY AGREEMENT Recorded Nov 1, 2016
From: ASURION, LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040542/0248 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2014
From: DVIR, TOMER; HAIM, OMRI; BRUCHIM, OMRI; YAGEL, OR; RAUCH, JONATHAN
To: ASURION, LLC
Reel/Frame 033750/0317 →
Continuity (2)
Continuation 14305791 · Jun 16, 2014
Related Publication 20150365377A1 · Dec 17, 2015