# US 2014/0195684 A1 · Device-to-device tapping service layer

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0195684 A1
- Document ID: US20140195684A1
- Status: Published application
- Kind: A1
- Application number: 13/734,714
- Filed: 2013-01-04
- Published: 2014-07-10
- Earliest claimed: 2013-01-04
- Assignees: Intel Corporation
- Inventors: Pouya Taaghol; Yosef Takserman
- Web page: https://patentgrep.com/patent/US20140195684A1

## CPC

- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 61/4541: Directories for service discovery
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/52: specially adapted for the location of the user terminal
- H04L 61/4511: using domain name system [DNS]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Embodiments of the present disclosure describe device, methods, computer-readable media and system configurations for providing a device-to-device (“D2D”) tapping service (“DTS”) layer. In various embodiments, a DTS layer of a communication stack of a computing device may receive, from an application executing within an application layer of the communication stack, a request for a resource. In various embodiments, the DTS layer may determine whether the resource is available locally on the computing device. In various embodiments, the DTS layer may issue a domain name system (“DNS”) request through a network layer of the communication stack to facilitate transparent access by the application to the resource on a remote computing device, where it is determined that the resource is unavailable locally on the computing device. Other embodiments may be described and/or claimed.

## Claims

### Claim 1

A computer-implemented method, comprising:
receiving, by a device-to-device (“D2D”) tapping service (“DTS”) layer of a communication stack of a computing device, from an application executing within an application layer of the communication stack, a request for a resource;
determining, by the DTS layer, whether the resource is locally resident on the computing device; and
issuing, by the DTS layer, a domain name system (“DNS”) request through a network layer of the communication stack to facilitate transparent access by the application to the resource on a remote computing device based on a determination that the resource is not locally resident on the computing device.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising receiving, by the DTS layer through the network layer, in response to the DNS request, a universal resource locator or a service instance name associated with the resource on the remote computing device.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising determining, by the DTS layer, whether the resource would be useful only if available on another computing device within a non-remote physical proximity of the computing device.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, further comprising transmitting, by the DTS layer, the DNS request for the resource in a multicast message based on said determining that the resource would be useful only if available on another computing device within the non-remote physical proximity of the computing device.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising determining, by the DTS layer, a likelihood of whether the resource is available on another computing device within the non-remote physical proximity of the computing device.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein determining the likelihood includes determining, by the DTS layer, a likelihood of whether the resource is available on another computing device connected to a same local area network as the computing device.

### Claim 7 (depends on 5)

The computer-implemented method of claim 5, further comprising:
determining, by the DTS layer, based on a comparison of the likelihood to a predetermined threshold, the resource is likely to be available on another computing device within the non-remote physical proximity of the computing device; and
transmitting, by the DTS layer, the DNS request for the resource in a multicast message based on said determining that the resource is likely to be available on another device within the non-remote physical proximity of the computing device.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, wherein the multicast message is a multicast domain name service (“mDNS”) message.

### Claim 9 (depends on 5)

The computer-implemented method of claim 5, further comprising:
determining, based on a comparison of the likelihood to a predetermined threshold, the resource is unlikely to be available on another computing device within the non-remote physical proximity of the computing device; and
transmitting, to a DNS server, the DNS request for the resource in a unicast message based on said determining that the resource is unlikely to be available on another computing device within the non-remote physical proximity of the computing device.

### Claim 10 (depends on 4)

The computer-implemented method of claim 4, further comprising facilitating, by the DTS layer, access to the resource by the application using the hypertext transport protocol (“HTTP”).

### Claim 11 (depends on 10)

The computer-implemented method of claim 10, wherein facilitating access to the resource by the application using HTTP includes facilitating access to the resource by the application using secure HTTP.

### Claim 12 (depends on 1)

The computer-implemented method of claim 1, wherein the resource is a global positioning unit, an electronic display, a digital camera or a keyboard.

### Claim 13 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving, by the DTS layer, from another remote computing device, a request for a second resource;
determining, by the DTS layer, whether the second resource is available locally on the computing device; and
facilitating, by the DTS layer, access by the another remote computing device to the resource of the computing device.

### Claim 14 (depends on 13)

The computer-implemented method of claim 13, wherein receiving the request for the second resource includes receiving a multicast DNS message.

### Claim 15

At least one non-transitory machine-readable medium comprising a plurality of instructions that in response to being executed on a computing device, enable the computing device to provide:
an application layer with an application executing therein;
a network layer; and
a device-to-device (“D2D”) tapping service (“DTS”) layer between the application layer and the network layer, the DTS layer configured to:
receive a first request for a resource from the application;
determine the requested resource is not locally resident on the computing device;
transmit a second request for the resource through the network layer to one or more remote computing devices based on the determination that the resource is not locally resident on the computing device; and
provide the application transparent access to the resource on the one or more remote computing devices using hypertext transport protocol (“HTTP”).

### Claim 16 (depends on 15)

The at least one non-transitory machine-readable medium of claim 15, wherein the application sends the first request for the resource to the DTS layer using Javascript, HTML or CSS.

### Claim 17 (depends on 15)

The at least one non-transitory machine-readable medium of claim 15, wherein the instructions, when executed by the computing device, further enable the DTS layer to provide the application executing at the application layer access to the resource via a World Wide Web Consortium device application programming interface or a Webino.

### Claim 18 (depends on 15)

The at least one non-transitory machine-readable medium of claim 15, wherein the second request for the resource comprises a DNS request.

### Claim 19 (depends on 15)

The at least one non-transitory machine-readable medium of claim 15, wherein the instructions, when executed by the computing device, further enable the DTS layer to:
receive, from another computing device through the network layer, a request for access to a second resource;
determine whether the second resource is locally resident on the computing device; and
provide, to the another computing device, access to the second resource where it is determined that the second resource is locally resident on the computing device.

### Claim 20 (depends on 19)

The at least one non-transitory machine-readable medium of claim 19, wherein the instructions, when executed by the computing device, further enable the DTS layer to transmit, to the another computing device through the network layer, a universal resource locator associated with the second resource.

### Claim 21 (depends on 15)

The at least one non-transitory machine-readable medium of claim 15, wherein the instructions, when executed by the computing device, further enable the DTS layer to determine whether the resource would be useful only if available on another computing device within a non-remote physical proximity of the computing device.

### Claim 22 (depends on 21)

The at least one non-transitory machine-readable medium of claim 21, wherein the instructions, when executed by the computing device, further enable the DTS layer to transmit the DNS request for the resource in a multicast message where it is determined that the resource would be useful only if available on another computing device within the non-remote physical proximity of the computing device.

### Claim 23 (depends on 15)

The at least one non-transitory machine-readable medium of claim 15, wherein the instructions, when executed by the computing device, further enable the DTS layer to determine a likelihood that the resource is available on another computing device within a non-remote physical proximity of the computing device.

### Claim 24 (depends on 23)

The at least one non-transitory machine-readable medium of claim 23, wherein the instructions, when executed by the computing device, further enable the DTS layer to determine a likelihood of whether the resource is available on another computing device connected to a same local area network as the computing device.

### Claim 25 (depends on 21)

The at least one non-transitory machine-readable medium of claim 21, wherein the instructions, when executed by the computing device, further enable the DTS layer to:
transmit a DNS request for the resource in a multicast domain name service (“mDNS”) message where it is determined that the resource would be useful only if available on another computing device within the non-remote physical proximity of the computing device or the resource is likely to be available on another device within the non-remote physical proximity of the computing device.

### Claim 26 (depends on 23)

The at least one non-transitory machine-readable medium of claim 23, wherein the instructions, when executed by the computing device, further enable the DTS layer to:
determine, based on a comparison of the likelihood to a predetermined threshold, the resource is unlikely to be available on another computing device within the non-remote physical proximity of the computing device; and
transmit, to a DNS server, the DNS request for the resource in a unicast message where it is determined that the resource is unlikely to be available on another computing device within the non-remote physical proximity of the computing device.

### Claim at position 27

27-30. (canceled)

### Claim 31 (depends on 1)

The computer-implemented method of claim 1, wherein the DTS layer is located between an application layer of the communication stack and a network layer of the communication stack.

### Claim 32 (depends on 1)

The computer-implemented method of claim 1, wherein the application is a first application, the request is a first request, the resource is a first resource, and further comprising:
receiving, by the DTS layer, from a second application executing within the application layer, a second request for a second resource;
determining, by the DTS layer, that the second resource is available locally on the computing device; and
facilitating, by the DTS layer and based on the determination that the second resource is available locally on the computing device, utilization of the second resource by the second application without accessing the network layer.
