Methods and systems for using distributed allocation tables
First Claim
Patent Images
1. A method comprising:
- receiving, at a first device, a data access request for data stored on one or more second devices;
determining whether the data access request indicates a first read request, wherein the read request indicates a first address of the requested data at the first device;
in response to a determination that the data access request indicates a first read request,determining a mapping for the requested data, wherein the determining the mapping comprises;
accessing an entry of an allocation table stored on the first device using the first address;
determining a mapping of the first address to one or more second addresses of the requested data at the one or more second devices based on the entry of the allocation table; and
determining a mapping of one or more sockets associated with the one or more second addresses based on the entry of the allocation table; and
sending via the one or more sockets, to the one or more second devices, a second read request, wherein the second read request indicates the one or more second addresses; and
receiving a read response via the one or more sockets, from the one or more second devices, wherein the read response comprises the requested data accessed at the one or more second addresses.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems are disclosed for distributed storage systems. For example, a device can receive a read request for a first file, where the read request is generated by a host device. The read request is configured to access a file on the host device. The device can access mappings to identify a first mapping. The device can identify a first file on a mobile device based on the first mapping. The device can access the first file, where the accessing uses the first mapping. The device can access the first file by communicating with the mobile device to read the first file. The device can then return the first file.
-
Citations
17 Claims
-
1. A method comprising:
-
receiving, at a first device, a data access request for data stored on one or more second devices; determining whether the data access request indicates a first read request, wherein the read request indicates a first address of the requested data at the first device; in response to a determination that the data access request indicates a first read request, determining a mapping for the requested data, wherein the determining the mapping comprises; accessing an entry of an allocation table stored on the first device using the first address; determining a mapping of the first address to one or more second addresses of the requested data at the one or more second devices based on the entry of the allocation table; and determining a mapping of one or more sockets associated with the one or more second addresses based on the entry of the allocation table; and sending via the one or more sockets, to the one or more second devices, a second read request, wherein the second read request indicates the one or more second addresses; and receiving a read response via the one or more sockets, from the one or more second devices, wherein the read response comprises the requested data accessed at the one or more second addresses. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
one or more processors; an allocation table comprising a plurality of mappings, wherein the plurality of mappings are associated with one or more sockets; and a mapping module configured to; receive, at a first device, a data access request for data stored on one or more second devices, determine whether the data access request indicates a first read request, wherein the first read request indicates a first address of the requested data at the first device, in response to a determination that the data access request indicates a first read request, determine a mapping for the requested data, wherein the determining the mapping comprises; accessing an entry of the allocation table using the first address, determining a mapping of the first address to one or more second addresses of the requested data at the one or more second devices based on the entry of the allocation table, determining a mapping of the one or more sockets associated with the one or more second addresses based on the entry of the allocation table, and send, via the one or more sockets, to the one or more second devices, a second read request, wherein the second read request indicates the one or more second addresses; and receive a read response via the one or more sockets, from the one or more second devices, wherein the read response comprises the requested data accessed at the one or more second addresses, and wherein the mapping module is configured to be executed using the one or more processors. - View Dependent Claims (11, 12, 13)
-
-
14. A computer program product comprising:
-
a plurality of instructions, comprising a first set of instructions, executable on a computer system, configured to receive, at a first device, a first data access request for data stored on one or more second devices; a second set of instructions, executable on the computer system, configured to determine whether the data access request indicates a first read request, wherein the first read request indicates a first address of the data; a third set of instructions, executable on the computer system, configured to, in response to a determination that the data access request indicates a first read request, determine a mapping for data, wherein the determining the mapping comprises; accessing an entry of an allocation table using the first address, determining a mapping of the first address to one or more second addresses of the requested data at the one or more second devices based on the entry of the allocation table, and determining a mapping of one or more sockets associated with the one or more second addresses based on the entry of the allocation table; a fourth set of instructions, executable on the computer system, configured to send via the one or more sockets, to the one or more second devices, a second read request, wherein the second read request indicates the one or more second addresses; and a fifth set of instructions, executable on the computer system, configured to receive via the one or more sockets, from the one or more second devices, a read response, wherein the read response comprises the requested data accessed at the one or more second addresses; and a non-transitory computer-readable storage medium, wherein the instructions are encoded in the non-transitory computer-readable storage medium. - View Dependent Claims (15, 16, 17)
-
Specification