IMPLEMENTING QUEUES (FIFO) AND STACKS (FILO) ON TOP DISPERSED STORAGE
A computing device includes an interface to communicate with a dispersed storage network (DSN), a memory, and a processing module. The computing device receives, from another computing device, a write queue entry request to facilitate storage of one or more queue entries of a queue in a set of storage units (SUs). The computing device dispersed error encodes at least a portion of the write queue entry request to generate a set of queue entry encoded slices (QEESs). The computing device generates a write request, based on the write queue entry request, that includes a slice name corresponding to a QEES of the set of QEESs that includes a queue entry identifier (ID) field that includes a timestamp field and/or an entry number of the write queue entry request. The computing device transmits the write request to the set of SUs to facilitate distributed storage of the set of QEESs.
1 . A computing device comprising:
an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);
memory that stores operational instructions; and
a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to:
receive, from another computing device, a write queue entry request to facilitate storage of one or more queue entries of a queue in a set of storage units (SUs);
dispersed error encode, based on a dispersed error coding function, at least a portion of the write queue entry request to generate a set of queue entry encoded slices (QEESs), wherein the at least the portion of the write queue entry request is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of QEESs;
generate a write request based on the write queue entry request, wherein the write request includes a slice name corresponding to a QEES of the set of QEESs, and wherein the slice name includes a queue entry identifier (ID) field that includes at least one of a timestamp field or an entry number of the write queue entry request; and
transmit the write request to the set of SUs to facilitate distributed storage of the set of QEESs among the set of SUs.
2 . The computing device of claim 1 , wherein:
the write queue entry request includes at least one of a queue entry, a queue name, and an entry number; and
the write request includes the QEES of the set of QEESs and the slice name corresponding to the QEES of the set of QEESs.
3 . The computing device of claim 1 , wherein:
the slice name includes a slice index field and a vault source name field;
the slice index field includes a slice index entry that corresponds to a pillar number of a set of pillar numbers associated with a pillar width dispersal parameter based on the dispersed error coding function;
the vault source name field includes a queue vault identifier (ID) field and the queue entry ID field; and
the queue vault ID field includes an identifier of a vault of the DSN associated with the queue.
4 . The computing device of claim 3 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:
generate a queue vault ID entry for the queue vault ID field based on at least one of a dispersed storage network registry lookup based on an identifier (ID) of a requesting entity associated with the write entry request, receiving the queue vault ID entry, or generating a new queue vault ID entry based on request of a new name for the queue.
5 . The computing device of claim 1 , wherein the queue entry ID field includes:
a queue name field, a distributed storage (DS) module field corresponding to the computing device, a client ID field corresponding to the another computing device, and the timestamp field.
6 . The computing device of claim 1 , wherein the computing device is located at a first premises that is remotely located from at least one SU of the set of SUs within the DSN.
7 . The computing device of claim 1 further comprising:
a SU of the set of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.
8 . The computing device of claim 1 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication systems, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).
9 . A computing device comprising:
an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);
memory that stores operational instructions; and
a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to:
receive, from another computing device, a write queue entry request to facilitate storage of one or more queue entries of a queue in a set of storage units (SUs), wherein the write queue entry request includes at least one of a queue entry, a queue name, and an entry number;
dispersed error encode, based on a dispersed error coding function, at least a portion of the write queue entry request to generate a set of queue entry encoded slices (QEESs), wherein the at least the portion of the write queue entry request is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of QEESs;
generate a write request based on the write queue entry request, wherein the write request includes a slice name corresponding to a QEES of the set of QEESs and the QEES of the set of QEESs, and wherein the slice name includes a queue entry identifier (ID) field that includes a queue name field, a distributed storage (DS) module field corresponding to the computing device, a client ID field corresponding to the another computing device, and least one of a timestamp field or the entry number of the write queue entry request; and
transmit the write request to the set of SUs to facilitate distributed storage of the set of QEESs among the set of SUs.
10 . The computing device of claim 9 , wherein:
the slice name includes a slice index field and a vault source name field;
the slice index field includes a slice index entry that corresponds to a pillar number of a set of pillar numbers associated with a pillar width dispersal parameter based on the dispersed error coding function; the vault source name field includes a queue vault identifier (ID) field and the queue entry ID field; and
the queue vault ID field includes an identifier of a vault of the DSN associated with the queue.
11 . The computing device of claim 10 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:
generate a queue vault ID entry for the queue vault ID field based on at least one of a dispersed storage network registry lookup based on an identifier (ID) of a requesting entity associated with the write entry request, receiving the queue vault ID entry, or generating a new queue vault ID entry based on request of a new name for the queue.
12 . The computing device of claim 9 further comprising:
a SU of the set of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.
13 . The computing device of claim 9 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication systems, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).
14 . A method for execution by a computing device, the method comprising:
receiving, via an interface of the computing device that is configured to interface and communicate with a dispersed or distributed storage network (DSN) and from another computing device, a write queue entry request to facilitate storage of one or more queue entries of a queue in a set of storage units (SUs);
dispersed error encoding, based on a dispersed error coding function, at least a portion of the write queue entry request to generate a set of queue entry encoded slices (QEESs), wherein the at least the portion of the write queue entry request is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of QEESs;
generating a write request based on the write queue entry request, wherein the write request includes a slice name corresponding to a QEES of the set of QEESs, and wherein the slice name includes a queue entry identifier (ID) field that includes at least one of a timestamp field or an entry number of the write queue entry request; and
transmitting, via the interface of the computing device, the write request to the set of SUs to facilitate distributed storage of the set of QEESs among the set of SUs.
15 . The method of claim 14 , wherein:
the write queue entry request includes at least one of a queue entry, a queue name, and an entry number; and
the write request includes the QEES of the set of QEESs and the slice name corresponding to the QEES of the set of QEESs.
16 . The method of claim 14 , wherein:
the slice name includes a slice index field and a vault source name field;
the slice index field includes a slice index entry that corresponds to a pillar number of a set of pillar numbers associated with a pillar width dispersal parameter based on the dispersed error coding function;
the vault source name field includes a queue vault identifier (ID) field and the queue entry ID field; and
the queue vault ID field includes an identifier of a vault of the DSN associated with the queue.
17 . The method of claim 16 further comprising:
generating a queue vault ID entry for the queue vault ID field based on at least one of a dispersed storage network registry lookup based on an identifier (ID) of a requesting entity associated with the write entry request, receiving the queue vault ID entry, or generating a new queue vault ID entry based on request of a new name for the queue.
18 . The method of claim 14 , wherein the queue entry ID field includes:
a queue name field, a distributed storage (DS) module field corresponding to the computing device, a client ID field corresponding to the another computing device, and the timestamp field.
19 . The method of claim 14 , wherein the computing device includes a SU of the set of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.
20 . The method of claim 14 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication systems, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).