A computer-implemented method comprising: identifying, using one or more computing devices, a location of a first device and a first list of one or more other devices within a set distance of the location of the first device in a network interconnecting the one or more computing devices and the first and other devices; receiving, using the one or more computing devices, a selection of a second device (102, 103)in the first list from a user associated with the first device; generating, using the one or more computing devices, a second list that includes functions associated with the user-selected second device; receiving, using the one or more computing devices, a first request from the first device to perform one of the functions in the second list; translating, using the one or more computing devices, a first communication protocol of the first request received from the first device into a second communication protocol used by the second device to create a translated request; translating, using the one or more computing devices, a first message format of the first request into a second message format used by the second device; and transmitting, using the one or more computing devices, the translated first request to the second device; further comprising: receiving a second request from the first device for one or more types of media associated with a subject; determining one or more resource servers that the request is for based on the second request matching a global index, the one or more resource servers associated with one or more types of second devices; determining a first communication protocol of the second request and one or more types of second communication protocols of the one or more resource servers; determining a first message format of the second request and one or more types of second message formats of the one or more resource servers; translating the second request from the first communication protocol into each one of the one or more types of second communication protocols of the one or more resource servers; translating the second request from the first message format into each one of the one or more types of second message formats of the one or more resource servers; retrieving the one or more types of media matching the translated second request from the one or more resource servers; and sending the one or more types of media matching the translated second request to the first device. identifying, using one or more computing devices, a location of a first device and a first list of one or more other devices within a set distance of the location of the first device in a network interconnecting the one or more computing devices and the first and other devices; receiving, using the one or more computing devices, a selection of a second device (102, 103)in the first list from a user associated with the first device; generating, using the one or more computing devices, a second list that includes functions associated with the user-selected second device; receiving, using the one or more computing devices, a first request from the first device to perform one of the functions in the second list; translating, using the one or more computing devices, a first communication protocol of the first request received from the first device into a second communication protocol used by the second device to create a translated request; translating, using the one or more computing devices, a first message format of the first request into a second message format used by the second device; and transmitting, using the one or more computing devices, the translated first request to the second device; receiving a second request from the first device for one or more types of media associated with a subject; determining one or more resource servers that the request is for based on the second request matching a global index, the one or more resource servers associated with one or more types of second devices; determining a first communication protocol of the second request and one or more types of second communication protocols of the one or more resource servers; determining a first message format of the second request and one or more types of second message formats of the one or more resource servers; translating the second request from the first communication protocol into each one of the one or more types of second communication protocols of the one or more resource servers; translating the second request from the first message format into each one of the one or more types of second message formats of the one or more resource servers; retrieving the one or more types of media matching the translated second request from the one or more resource servers; and sending the one or more types of media matching the translated second request to the first device.