A method of identifying data items by acoustic wave patterns, the method comprising:
- at an acoustic wave tag generating device, defining a plurality of acoustic wave blocks comprising a plurality of signaling wave blocks and a plurality of body wave blocks, each acoustic wave block comprising a unique fingerprint, each fingerprint comprising a set of unique acoustic wave pattern features distinguishable from the unique acoustic wave pattern features of other acoustic wave blocks in the plurality of acoustic wave blocks;
- at the acoustic wave tag generating device, extracting the unique fingerprints of the plurality of acoustic wave blocks;
- storing the unique fingerprints of each of the plurality of acoustic wave blocks;
- at the acoustic wave tag generating device, receiving a request from a requestor for a plurality of acoustic wave tags to identify a plurality of corresponding data items;
- assigning a plurality of acoustic wave tags to the requestor, each acoustic wave tag comprising (i) a signaling wave block assigned to, and uniquely identifying, said requestor and (ii) a set of one or more body wave blocks, wherein each data item in the plurality of data items is uniquely identified by the set of body wave blocks of the corresponding acoustic wave tag;
- storing a mapping of the assigned signaling wave block to the requestor;
- storing a mapping of each set of body wave blocks to the corresponding data items;
- broadcasting the signaling wave block and the set of body wave blocks of one of the acoustic wave tags in the plurality of the acoustic wave tags assigned to said requestor;
- at a capturing device, capturing the broadcasted signaling wave block and the set of body wave blocks;
- extracting the unique fingerprints of the captured signaling wave block and the captured set of body wave blocks;
- identifying the captured signaling wave block and the captured set of body wave blocks by comparing the extracted unique fingerprints of the captured signaling wave block and the captured set of body wave blocks with the stored unique fingerprints of the plurality of acoustic wave blocks;
- identifying the requestor by comparing the identified signaling wave block with the stored mapping of the assigned signaling wave block to the requestor;
- and
- identifying the data item from the stored mapping of the set of body wave blocks to the corresponding data items.