Methods, systems and computer program products for hashing address values
AssigneeInternational Business Machines Corporation
InventorsJean Louis Calvignac, Marco C. Heddes, Clark Debs Jeffries, Ross Boyd Leavens, Gerald Arnold Marin, Piyush Chunilal Patel, Atef Omar Zaghloul
Life of this patent
Estimating the term…
Abstract
Methods systems and computer program products are provided for hashing address values that exhibit banding in a plurality of regions of an address space defined by at least two segments of the address values, by performing at least one of a translation and a rotation of the at least two segments to thereby map the at least two segments from the plurality of regions to one of the plurality of regions.
Claims37
A method of hashing address values that exhibit banding in a plurality of regions of an address space defined by at least two segments of the address values, the method comprising the steps of:
- dividing an address space defined by the at least two segments of the address values into at least four regions;
- translating values of the at least two segments corresponding to a second region of the at least four regions to a first region of the at least four regions to provide hash values for address values if the values of the at least two segments correspond to the second region;
- flipping the values of the at least two segments corresponding to a third region and a fourth region of the at least four regions into the first region to provide hash values for address values if the values of the at least two segments correspond to one of the third region and the fourth region and wherein the third region and the fourth region are regions other than the first and the second regions;
- and
- utilizing the translated and flipped at least two segments as hash values for address values.
A system for hashing an address comprised of a plurality of bit segments, the system comprising:
- means for EXCLUSIVE ORing most significant bit values of at least a first bit segment and a second bit segment so as to provide a first gating value;
- means for inverting the first gating value to provide a second gating value;
- first means for ANDing the second gating value and each of remaining bits of the first and second bit segments respectively to provide first ANDed bit values corresponding to each of the remaining bits of the first and second bit segments;
- second means for ANDing gates which AND the first gating value and inverted bit values of remaining bits of the first and second bit values to provide second ANDed bit values corresponding to each of the remaining bits of the first and second bit segments;
- first means for EXCLUSIVE ORing first ANDed bit values corresponding to the first bit segment and second ANDed bit values corresponding to the second bit segment and which EXCLUSIVE OR first ANDED bit values corresponding to the second bit segement and second ANDed bit values corresponding to the first bit segment to provide first XOR values;
- and
- second means for EXCLUSIVE ORing the first XOR values and bit values of remaining bit segments of the address value so as to provide a plurality of hash bit values.
A system for hashing address values that exhibit banding in a plurality of regions of an address space defined by at least two segments of the address values, comprising:
- means for dividing an address space defined by the at least two segments of the address values into at least four regions;
- means for translating values of the at least two segments corresponding to a second region of the at least four regions to a first region of the at least four regions to provide hash values for address values if the values of the at least two segments correspond to the second region;
- means for flipping the values of the at least two segments corresponding to a third region and a fourth region of the at least four regions into the first region to provide hash values for address values if the values of the at least two segments correspond to one of the third region and the fourth region and wherein the third region and the fourth region are regions other than the first and the second regions;
- means for utilizing the translated and flipped at least two segments as hash values for address values;
- and
- means for selecting an action from a plurality of actions based on the mapped at least two segments.
A computer program product for hashing address values that exhibit banding in a plurality of regions of an address space defined by at least two segments of the address values, comprising:
- a computer readable storage medium having computer readable program code means embodied in said medium, said computer-readable program code means comprising:
- computer-readable program code means for performing at least one of a translation and a rotation of the at least two segments to thereby map the at least two segments from the plurality of regions to one of the plurality of regions;
- and
- computer-readable program code means for selecting an action from a plurality of actions based on the mapped at least two segments;
- wherein said computer-readable program code means for performing further includes:
- computer-readable program code means for dividing an address space defined by the at least two segments of the address values Into at least four regions;
- computer-readable program code means for translating values of the at least two segments corresponding to a second region of the at least four regions to a first region of the at least four regions to provide hash values for address values if the values of the at least two segments correspond to the second region;
- computer-readable program code means for flipping the values of the at least two segments corresponding to a third region and a fourth region of the at least four regions into the first region to provide hash values for address values it the values of the at least two segments correspond to one of the third region and the fourth region and wherein the third region and the fourth region are regions other than the first and the second regions;
- and
- computer-readable program code means for utilizing the translated and flipped at least two segments as hash values for address values.
A method of hashing address values that exhibit banding in a plurality of regions of an address space defined by at least two segments of the address values, the method comprising the steps of:
- performing at least one of a translation and a rotation of the at least two segments to thereby map the at least two segments from the plurality of regions to one of the plurality of regions;
- and
- exclusively ORing (X ORing) bits from segments mapped into the one of the plurality of regions.
A system for hashing address values that exhibit banding in a plurality of regions of an address space defined by at least two segments of the address values, comprising:
- means for performing at least one of a translation and a rotation of the at least two segments to thereby map the at least two segments from the plurality of regions to one of the plurality of regions;
- and
- means for exclusively ORing (X ORing) bits from segments mapped into the one of the plurality of regions.
A computer program product for hashing address values that exhibit banding in a plurality of regions of an address space defined by at least two segments of the address values, comprising:
- a computer readable storage medium having computer readable program code means embodied in said medium, said computer-readable program code means comprising:
- computer-readable program code means for performing at least one of a translation and a rotation of the at least two segments to thereby map the at least two segments from the plurality of regions to one of the plurality of regions;
- and
- computer readable code means for exclusively ORing (X ORing) bits from segments mapped into the one of the plurality of regions.
A method of hashing address values that exhibit banding in a plurality of regions of an address space defined by at least two segments of the address values, the method comprising the steps of:
- performing at least one of a mathematical translation and a mathematical reflection of the at least two segments to thereby map the at least two segments from the plurality of regions to one of the plurality of regions;
- and
- exclusively ORing (X ORing) bits from segments mapped into the one of the plurality of regions.
A method of hashing address values comprising:
- performing at least one translation of a generally void region and rotations on regions characterized by bands to generate values of a hash function;
- and
- performing Exclusive OR bitwise of any remaining address bits and bits of the hash function.
Dependencies are inferred from the claim text.