Patent ID: 7839936

Claim:
A process to determine a number of data packets required to transport a data block, wherein said data packets comprise a non-power of two number of bytes, said process comprising: shifting a binary equivalent of a decimal size of the data block rightward by a number of bits equal to an exponent of a decimal divisor as a power of two, wherein the decimal divisor is equal to a next power of two larger than the decimal size of the data packets; storing bits remaining from the rightward shifting of the block size as a first value, and storing bits removed by the rightward shifting of the block size as a second value; shifting the first value rightward by a number of bits equal to one less than the exponent of the decimal divisor as the power of two; storing bits remaining from the rightward shifting of the first value as a third value and storing a sum of the third value and bits removed by the rightward shifting of the first value as a fourth value; shifting the fourth value and adding the second value to calculate a fifth value; performing at least one comparison on the fifth value to process a sixth value and a seventh value; and determining the number of data packets required to transport the data block by summing the first value, third value, and sixth value, and adding one if the seventh value is not zero.