Device-to-device network
First Claim
Patent Images
1. A method for communicating data, comprising:
- receiving a request from a source device to access a network of devices, said network of devices includes a first set of devices, which said source device is authorized to access, and which have been authenticated based on an associated identifier, and a second set of devices, which said source device is not authorized to access, said first set of devices being distributed across a global network;
determining that said source device is authorized to access first set of devices based on a correspondence between an identifier of said source device and said associated identifier; and
responsive to said determining, allowing communication between said source device and said first set of devices, and not allowing communication between said source device and said second set of devices;
wherein allowing communication includes;
receiving, at an intermediate entity, and from said source device, a request to search;
forwarding said request to search from said intermediate entity to said first set of devices;
performing searches at said first set of devices based on said request to search;
attempting to provide results from said searches directly to said source device from said first set of devices via direct connections which bypass said intermediate entity; and
providing said results from said searches to said source device from said first set of devices via said intermediate entity if said direct connections cannot be established, said intermediate entity receiving a request to access a network of devices.
10 Assignments
0 Petitions
Accused Products
Abstract
A device to device network allows an entity to seamlessly access content stored on various devices. Many devices can be registered on a network; however, an entity will only have access to devices for which the entity is authorized to access. In one embodiment, the entity can only access devices that have been authenticated with the same username. While using the device-to device network, an entity can transfer files, stream files, create and use play lists, send commands to various devices and explore the contents of various devices.
292 Citations
22 Claims
-
1. A method for communicating data, comprising:
-
receiving a request from a source device to access a network of devices, said network of devices includes a first set of devices, which said source device is authorized to access, and which have been authenticated based on an associated identifier, and a second set of devices, which said source device is not authorized to access, said first set of devices being distributed across a global network; determining that said source device is authorized to access first set of devices based on a correspondence between an identifier of said source device and said associated identifier; and responsive to said determining, allowing communication between said source device and said first set of devices, and not allowing communication between said source device and said second set of devices; wherein allowing communication includes; receiving, at an intermediate entity, and from said source device, a request to search; forwarding said request to search from said intermediate entity to said first set of devices; performing searches at said first set of devices based on said request to search;
attempting to provide results from said searches directly to said source device from said first set of devices via direct connections which bypass said intermediate entity; andproviding said results from said searches to said source device from said first set of devices via said intermediate entity if said direct connections cannot be established, said intermediate entity receiving a request to access a network of devices.
-
-
2. A method for communicating data, comprising:
-
receiving a request from a source device to access a network of devices, said network of devices includes a first set of devices, which said source device is authorized to access, and which have been authenticated based on an associated identifier, and a second set of devices, which said source device is not authorized to access, said first set of devices being distributed across a global network; determining that said source device is authorized to access first set of devices based on a correspondence between an identifier of said source device and said associated identifier; and responsive to said determining, allowing communication between said source device and said first set of devices, and not allowing communication between said source device and said second set of devices; wherein allowing communication includes; transmitting a search request from said source device to a target device, which belongs to said first set of devices; performing a search at said target device based on said search request; and providing results from said search from said target device to said source device via a connection between said source device and said target device, said source device is in a private network, said source device has a private address and does not have a globally unique address, said target device has a globally unique address and is inaccessible via an Interact.
-
-
3. A method for communicating data, comprising:
-
receiving a request from a source device to access a network of devices, said network of devices includes a first set of devices, which said source device is authorized to access, and which have been authenticated based on an associated identifier, and a second set of devices, which said source device is not authorized to access, said first set of devices being distributed across a global network; determining that said source device is authorized to access first set of devices based on a correspondence between an identifier of said source device and said associated identifier; and responsive to said determining, allowing communication between said source device and said first set of devices, and not allowing communication between said source device and said second set of devices; wherein allowing communication includes; attempting to establish a first connection from said source device to a target device; transferring an item using said first connection if said attempt to establish said first connection was successful; sending a message to said target via an intermediate device if said attempt to establish said first connection was not successful; attempting to establish a second connection from said target device to said source device; transferring said item using said second connection if said attempt to establish said second connection was successful; and transferring said item via a proxy if said attempt to establish said second connection was not successful.
-
-
4. A method for communicating data, comprising steps of:
-
receiving a request from a source device to access a network of devices, said network of devices includes a first set of devices, which said source device is authorized to access, and which have been authenticated based on an associated identifier, and a second set of devices, which said source device is not authorized to access; determining that said source device is authorized to access said first set of devices based on a correspondence between an identifier of said source device and said associated identifier;
responsive to said determining step, identifying items on said first set of devices; and
responsive to said step of identifying said items, creating a playlist of said items on said first set of devices, said playlist includes items on different devices. - View Dependent Claims (5, 6)
-
-
7. A method of communicating data, comprising:
-
logging a first device into a network of devices using a first user identification, said network of devices includes devices logged into said network using said first user identification and devices logged in to said network using one or more other user identifications, said one or more other user identifications include a second user identification; identifying said devices that are logged in to said network using said first user identifications; and responsive to identifying, allowing said first device to communicate with said devices that are logged into said network using said first user identifications and not allowing said first device to communicate with said devices that are logged in to said network using said second user identification; wherein allowing said first device to communicate includes; receiving a request at an intermediate entity from a requesting device to search, said requesting device is logged into said network using said first user identification; forwarding said request to search from said intermediate entity to said devices that are logged in to said network using said first user identification; performing searches at said devices that are logged in to said network using said first user identification based on said request; attempting to provide results from said searches directly to said requesting device from said devices that are logged in to said network using said first user identification via direct connections which bypass said intermediate entity; and providing said results from said searches to said first device from said devices that are logged in to said network using said first user identification via said intermediate entity if said direct connections cannot be established.
-
-
8. A method of communicating data, comprising:
-
logging a first device into a network of devices using a first user identification, said network of devices includes devices logged into said network using said first user identification and devices logged in to said network using one or more other user identifications, said one or more other user identifications include a second user identification; identifying said devices that are logged in to said network using said first user identifications; and responsive to identifying, allowing said first device to communicate with said devices that are logged into said network using said first user identifications and not allowing said first device to communicate with said devices that are logged in to said network using said second user identification; wherein allowing said first device to communicate includes; attempting to establish a first connection from said first device to a target device; transferring an item using said first connection if said attempt to establish said first connection was successful; sending a message to said target via an intermediate device if said attempt to establish said first connection was not successful, said intermediate entity receiving a request to access a network; attempting to establish a second connection from said target device to said first device; transferring said item using said second connection if said attempt to establish said second connection was successful; and transferring said item via a proxy if said attempt to establish said second connection was not successful.
-
-
9. A method of communicating data, comprising:
-
logging a first device into a network of devices using a first user identification, said network of devices includes devices logged into said network using said first user identification and devices logged in to said network using one or more other user identifications, said one or more other user identifications include a second user identification; identifying said devices that are logged in to said network using said first user identifications; and responsive to identifying, allowing said first device to communicate with said devices that are logged into said network using said first user identifications and not allowing said first device to communicate with said devices that are logged in to said network using said second user identification; wherein allowing said first device to communicate includes sending a command from said first device to an intermediate server; and
forwarding said command from said intermediate server to one or more of said devices that are logged in to said network using said first user identification.
-
-
10. A method for communicating data, comprising steps of:
-
receiving, from a requesting device, a request to transfer items residing on a target device; attempting to establish a first connection, between said requesting device and said target device, in response to receiving; transferring said item from said target device to said requesting device using said first connection if said attempt to establish said first connection was successful; sending a message to said target device via an intermediate device if said attempt to establish said first connection was not successful; receiving an attempt to establish a second connection, between said requesting device and said target device via a proxy, if said attempt to establish said first connection was not successful; and transferring said item using said second connection if said attempt to establish said second connection was successful.
-
-
11. One or more processor readable storage devices for storing processor readable code, said processor readable code for programming one or more processors to perform a method comprising steps of:
-
receiving a request from a source device to access a network of devices, said network of devices includes a first set of devices, which said source device is authorized to access, and which have been authenticated based on an associated identifier, and a second set of devices, which said source device is not authorized to access, said first set of devices being distributed across a global network; determining that said source device is authorized to access said first set of devices based on a correspondence between an identifier of said source device and said associated; and responsive to said determining, allowing communication between said source device and with said first set of devices, and not allowing communication between said source device and said second set of devices; wherein allowing communication includes; receiving, at an intermediate entity, and from said source device, a request to search, forwarding said request to search from said intermediate entity to said first set of devices; performing searches at said first set of devices based on said request to search; attempting to provide results from said searches directly to said source device from said first set of devices via direct connections which bypass said intermediate entity; and providing said results from said searches to said source device from said first set of devices via said intermediate entity if said direct connections cannot be established.
-
-
12. One or more processor readable storage devices for storing processor readable code, said processor readable code for programming one or more processors to perform a method comprising steps of:
-
receiving a request from a source device to access a network of devices, said network of devices includes a first set of devices, which said source device is authorized to access, and which have been authenticated based on an associated identifier, and a second set of devices, which said source device is not authorized to access, said first set of devices being distributed across a global network; determining that said source device is authorized to access said first set of devices based on a correspondence between an identifier of said source device and said associated; and responsive to said determining, allowing communication between said source device and with said first set of devices, and not allowing communication between said source device and said second set of devices; allowing communication includes; attempting to establish a first connection from said a source device to a target device; transferring an item using said first connection if said attempt to establish said first connection was successful; sending a message to said tat-get device via an intermediate device if said attempt to establish said first connection was not successful, said intermediate entity receiving a request to access a network; attempting to establish a second connection from said target device to said source device; transferring said item using said second connection if said attempt to establish said second connection was successful; and transferring said item via a proxy if said attempt to establish said second connection was not successful.
-
-
13. One or more processor readable storage devices for storing processor readable code, said processor readable code for programming one or more processors to perform a method comprising steps of:
-
receiving a request from a source device to access a network of devices, said network of devices includes a first set of devices, which said source device is authorized to access, and which have been authenticated based on an associated identifier, and a second set of devices, which said source device is not authorized to access; determining that said source device is authorized to access said first set of devices based on a correspondence between an identifier of said source device and said associated identifier; responsive to said determining, identifying items on said first set of devices; and responsive to said step of identifying said items, creating a playlist of said items on said first set of devices, said playlist includes items on different devices. - View Dependent Claims (14, 15)
-
-
16. One or more processor readable storage devices for storing processor readable code, said processor readable code for programming one or more processors to perform a method comprising steps of:
-
logging a first device into a network of devices using a first user identification, said network of devices includes devices logged into said network using said first user identification and devices logged in to said network using one or more other user identifications, said one or more other user identifications include a second user identification; identifying said devices that are logged in to said network using said first user identification; and responsive to identifying, allowing said first device to communicate with said devices that are logged into said network using said first user identification and not allowing said first device to communicate with said devices that are logged in to said network using said second user identification; wherein allowing said first device to communicate includes; receiving a request at an intermediate entity from said first device to search; forwarding said request to search from said intermediate entity to said devices that are logged in to said network using said first user identification; performing searches at said devices that are logged in to said network using said first user identification based on said request to search; attempting to provide results from said searches directly to said first device from said devices that are logged in to said network using said first user identification via direct connections which bypass said intermediate entity; and providing said results from said searches to said first device from said devices that are logged in to said network using said first user identification via said intermediate entity if said direct connections cannot be established.
-
-
17. One or more processor readable storage devices for storing processor readable code, said processor readable code for programming one or more processors to perform a method comprising steps of:
-
logging a first device into a network of devices using a first user identification, said network of devices includes devices logged into said network using said first user identification and devices logged in to said network using one or more other user identifications, said one or more other user identifications include a second user identification; identifying said devices that are logged in to said network using said first user identification; and responsive to identifying, allowing said first device to communicate with said devices that are logged into said network using said first user identification and not allowing said first device to communicate with said devices that are logged in to said network using said second user identification; wherein allowing said first device to communicate includes; attempting to establish a first connection, from said first device to a target device; transferring an item using said first connection if said attempt to establish said first connection was successful; sending a message to said target via an intermediate device if said attempt to establish said first connection was not successful, said intermediate device receiving a request to access a network; attempting to establish a second connection from said target device to said source device; transferring said item using said second connection if said attempt to establish said second connection was successful; and transferring said item via a proxy if said attempt to establish said second connection was not successful.
-
-
18. One or more processor readable storage devices for storing processor readable code, said processor readable code for programming one or more processors to perform a method comprising steps of:
-
receiving, from a requesting device, a request to transfer an items residing on a target device; attempting to establish a first connection, between said requesting device and said target device, in response to receiving; transferring said item from said target device to said requesting device using said first connection if said attempt to establish said first connection was successful; sending a message to said target device via an intermediate device if said attempt to establish said first connection was not successful; receiving an attempt to establish a second connection, between said requesting device and said target device via a proxy, if said attempt to establish said first connection was not successful; and transferring said item using said second connection if said attempt to establish said second connection was successful.
-
-
19. An apparatus for communicating data, comprising:
-
a communication interface; and one or more processors, in communication with said communication interface, said one or more processors perform a method comprising steps of; receiving a request from a source device to access a network of devices, said network of devices includes a first set of devices, which said source device is authorized to access, and which have been authenticated based on an associated identifier, and a second set of devices, which said source device is not authorized to access, said first set of devices being distributed across a global network, determining that said source device is authorized to access identifying said first set of devices based on a correspondence between an identifier of said source device and said associated identifier, and responsive to said determining, allowing communication between said source device and said first set of devices, and not allowing communication between said source device and said second set of devices; wherein said step of allowing communication includes; receiving, at an intermediate entity, and from said source device, a request to search; forwarding said request to search from said intermediate entity to said first set of devices; performing searches at said first set of devices based on said request to search; attempting to provide results from said searches directly to said source device from said first set of devices via direct connections which bypass said intermediate entity; and providing said results from said searches to said source device from said first set of devices via said intermediate entity if said direct connections cannot be established, said intermediate entity receiving a request to access a network of devices.
-
-
20. An apparatus for communicating data, comprising:
-
a communication interface; and one or more processors, in communication with said communication interface, said one or more processors perform a method comprising steps of; receiving a request from a source device to access a network of devices, said network of devices includes a first set of devices, which said source device is authorized to access, and which have been authenticated based on an associated identifier, and a second set of devices, which said source device is not authorized to access, said first set of devices being distributed across a global network, determining that said source device is authorized to access identifying said first set of devices based on a correspondence between an identifier of said source device and said associated identifier, and responsive to said determining, allowing communication between said source device and said first set of devices, and not allowing communication between said source device and said second set of devices; wherein allowing communication includes; attempting to establish a first connection from said a source device to a target device; transferring an item using said first connection if said attempt to establish said first connection was successful; sending a message to said target device via an intermediate device if said attempt to establish said first connection was not successful, said intermediate entity receiving a request to access a network; attempting to establish a second connection from said target device to said source device; transferring said item using said second connection if said attempt to establish said second connection was successful; and transferring said item via a proxy if said attempt to establish said second connection was not successful.
-
-
21. An apparatus for communicating data, comprising:
-
a communication interface; and one or more processors in communication with said communication interface, said one or more processor perform a method comprising steps of; logging a first device into a network of devices using a first user identification, said network of devices includes devices logged into said network using said first user identification and devices logged in to said network using one or more other user identifications, said one or more other user identifications include a second user identification, identifying said devices that are logged in to said network using said first user identification, and responsive to said step of identifying, allowing said fast device to communicate with said devices that are logged into said network using said first user identification, and not allowing said first device to communicate with said devices that are logged into said network using said second user identification; wherein allowing said first device to communicate includes; receiving a request from said first device at an intermediate entity to search; forwarding said request to search from said intermediate entity to said devices that are logged in to said network using said first user identification; performing searches at said devices that are logged in to said network using said first user identification based on said request; attempting to provide results from said searches directly to said first device from said devices that are logged in to said network using said first user identification via direct connections which bypass said intermediate entity; and providing said results from said searches to said first device from said devices that are logged in to said network using said first user identification via said intermediate entity if said direct connections cannot be established.
-
-
22. An apparatus for communicating data, comprising:
-
a communication interface; and one or more processors in communication with said communication interface, said one or more processor perform a method comprising steps of; logging a first device into a network of devices using a first user identification, said network of devices includes devices logged into said network using said first user identification and devices logged in to said network using one or more other user identifications, said one or more other user identifications include a second user identification, identifying said devices that are logged in to said network using said first user identification, and responsive to said step of identifying, allowing said fast device to communicate with said devices that are logged into said network using said first user identification, and not allowing said first device to communicate with said devices that are logged into said network using said second user identification; wherein allowing said first device to communicate includes; attempting to establish a first connection from said first device to a target device; transferring an item using said first connection if said attempt to establish said first connection was successful; sending a message to said target device via an intermediate device if said attempt to establish said first connection was not successful, said intermediate entity receiving a request to access a network; attempting to establish a second connection from said target device to said source device; transferring said item using said second connection if said attempt to establish said second connection was successful; and transferring said item via a proxy if said attempt to establish said second connection was not successful.
-
Specification