9092469

Partitioning Sorted Data Sets

PublishedJuly 28, 2015
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
22 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for a computing device, the method comprising: locating, using the computing device, a first partition index for each of three sorted data sets, each sorted data set including a plurality of indexed data values, wherein each first partition index identifies an index location to partition its corresponding sorted data set into a first portion of data values and a second portion of data values, wherein each data value in each of the first portions of each of the three sorted data sets has a greater magnitude than each data value in each of the second portions of each of the three sorted data sets, wherein locating the first partition index for each of the sorted data sets comprises: selecting an initial partition index for each sorted data set; comparing data values at the initial partition index for each sorted data set to identify a first sorted data set of the three sorted data sets with a highest data value of the compared data values and a second sorted data set of the three sorted data sets with a lowest data value of the compared data values; adjusting the initial partition index for the first sorted data set identified with the highest data value to an adjusted initial partition index with a lower data value; adjusting the initial partition index for the second sorted data set identified with the lowest data value to an adjusted initial partition index with a higher data value; and comparing data values at the adjusted initial partition indexes of the first and second sorted data sets with the data value at the initial partition index of a third sorted data set of the three sorted data sets without an adjusted initial partition index.

2

2. The method of claim 1 , wherein if the initial partition index of the second sorted data set with the lowest data value is adjusted by incrementing the initial partition index, the initial partition index of the first sorted data set with the highest data value is adjusted by decrementing the initial partition index.

3

3. A method for a computing device, the method comprising: locating, using the computing device, a first partition index for each of three sorted data sets, each sorted data set including a plurality of indexed data values, wherein each first partition index identifies an index location to partition its corresponding sorted data set into a first portion of data values and a second portion of data values, wherein each data value in each of the first portions of each of the three sorted data sets has a greater magnitude than each data value in each of the second portions of each of the three sorted data sets, wherein locating the first partition index for each of the sorted data sets comprises: selecting an initial partition index for each sorted data set; comparing data values at the initial partition index for each sorted data set to identify a highest data value and a lowest data value; adjusting the initial partition index for the sorted data set with the highest data value and for the sorted data set with the lowest data value; comparing data values at the adjusted initial partition indexes of the sorted data sets having the adjusted initial partition indexes and the data value at the initial partition index of the sorted data set without an adjusted initial partition index; and iterating over: comparing data values at a current partition index for each sorted data set to identify a highest data value and a lowest data value at the current partition index; and adjusting the current partition index for the sorted data sets with the highest and lowest data values at the current partition index, until, during a single iteration, one of the sorted data sets that was previously determined to have the lowest data value changes to have the highest value and one of the sorted data sets that was previously determined to have the highest data value changes to have the lowest data value.

4

4. The method of claim 3 , wherein locating the first partition index comprises: utilizing the current partition indexes of the sorted data sets after the single iteration to determine the first partition index for each of the sorted data sets.

5

5. The method of claim 1 , wherein each of the sorted data sets includes at least one data value that overlaps ranges of data values in one of the other sorted data sets.

6

6. The method of claim 1 , wherein the initial partition index includes a first initial partition index and the index location includes a first index location, the method further comprising: locating, using the computing device, a second partition index for each sorted data set, each second partition index identifying a second index location to partition the corresponding sorted data set so that each sorted data set forms a third portion of data values, wherein each data value in each of the third portions of the sorted data sets has a greater magnitude than each data value in each of the first and second portions of the sorted data sets, wherein locating the second partition index for each of the sorted data sets comprises: selecting a second initial partition index for each sorted data set; comparing data values at the second initial partition index for each sorted data set to identify a highest data value and a lowest data value; adjusting the second initial partition index for the sorted data set with the highest data value and for the sorted data set with the lowest data value; and comparing data values at the adjusted second initial partition indexes of the sorted data sets having the adjusted second initial partition indexes and the data value at the second initial partition index of the sorted data set without an adjusted second initial partition index.

7

7. The method of claim 6 , wherein locating each first partition index is independent of locating each second partition index.

8

8. The method of claim 6 , wherein processing time intervals to locate the first and second partition indexes occur in substantially overlapping time intervals.

9

9. The method of claim 6 , wherein locating the first partition indexes is performed by a first processor and locating the second partition indexes is performed by a second processor.

10

10. A method comprising: partitioning, by a computing device, three sorted data sets that each include a plurality of indexed data values into first and second portions so that each data value in each of the first portions of each of the three sorted data sets has a greater magnitude than each data value in each of the second portions of each of the three sorted data sets, wherein partitioning the three sorted data sets comprises: selecting an initial partition index for each of the three sorted data sets; comparing data values at the initial partition index for each of the three sorted data sets to identify a first sorted data set of the three sorted data sets with a highest data value of the compared data values and a second sorted data set of the three sorted data sets with a lowest data value of the compared data values; adjusting the initial partition index for the first sorted data set identified with the highest data value to an adjusted initial partition index with a lower data value; adjusting the initial partition index for the second sorted data set identified with the lowest data value to an adjusted initial partition index with a higher data value; and comparing data values at the adjusted initial partition indexes of the first and second sorted data sets with the data value at the initial partition index of a third sorted data set of the three sorted data sets without an adjusted partition index; processing the first portions of the sorted data sets; and processing the second portions of the sorted data sets.

11

11. The method of claim 10 , wherein processing the first portions of the sorted data sets is independent of processing the second portions of the sorted data sets.

12

12. The method of claim 10 , wherein a first processing time interval to process the first portions of the sorted data sets and a second processing time interval to process the second portions of the sorted data sets occur in substantially overlapping time intervals.

13

13. The method of claim 10 , wherein processing the first portions of the sorted data sets is performed by a first processor and processing the second portions of the sorted data sets is performed by a second processor.

14

14. The method of claim 10 , wherein the first portions of the sorted data sets are processed by a first processor in a cloud computing environment and the second portions of the sorted data sets are processed by a second processor in the cloud computing environment.

15

15. The method of claim 14 , wherein the three sorted data sets are partitioned in the cloud computing environment.

16

16. A system to process data, the system comprising: a first processor configured to process a first portion of each of three sorted data sets; and a second processor configured to process a second portion of each of the three sorted data sets, wherein the three sorted data sets each include a plurality of indexed data values and the three sorted data sets are partitioned into the first and second portions so that each data value in each of the first portions of each of the three sorted data sets has a greater magnitude than each data value in each of the second portions of each of the three sorted data sets, wherein the first and second portions are partitioned by: selection of an initial partition index for each of the three sorted data sets; comparison of data values at the initial partition index for each of the three sorted data sets to identify a first sorted data set of the three sorted data sets with a highest data value of the compared data values and a second sorted data set of the three sorted data sets with a lowest data value of the compared data values; adjustment of the initial partition index for the first sorted data set identified with the highest data value to an adjusted initial partition index with a lower data value; adjustment of the initial partition index for the second sorted data set identified with the lowest data value to an adjusted initial partition index with a higher data value; and comparison of data values at the adjusted initial partition indexes of the first and second sorted data sets with the data value at the initial partition index of a third sorted data set of the three sorted data sets without an adjusted partition index.

17

17. The system of claim 16 , wherein the first processor is configured to process the first portions of the three sorted data sets substantially independent from the second processor and during substantially overlapping time intervals in which the second processor processes the second portions of the three sorted data sets.

18

18. The system of claim 16 , wherein the first and second processors are each a separate core of a multi-core processor.

19

19. The system of claim 16 , wherein: the first processor or the second processor is configured to partition each of the three sorted data sets into the first and second portions; or a third processor is configured to partition each of the three sorted data sets into the first and second portions.

20

20. The system of claim 16 , wherein the first and second processors are configured to either share a memory unit or access separate memory units.

21

21. The system of claim 16 , further comprising a third processor configured to process a third portion of each of the three sorted data sets, wherein each data value in each of the third portions of the sorted data sets has a greater magnitude than each data value in each of the first and second portions of the sorted data sets.

22

22. A method for a computing device, the method comprising: locating, using the computing device, a first partition index for each of three sorted data sets, each sorted data set including a plurality of indexed data values, wherein each first partition index identifies an index location to partition the corresponding sorted data set into a first portion of data values and a second portion of data values, wherein each data value in each of the first portions of the sorted data sets has a greater magnitude than each data value in each of the second portions of the sorted data sets, wherein locating the first partition index for each of the sorted data sets comprises: selecting an initial partition index for each sorted data set; comparing data values at the initial partition index for each sorted data set to identify a highest data value and a lowest data value; adjusting the initial partition index of the sorted data set identified with the lowest data value to a partition index with a higher value; adjusting the initial partition index of the sorted data set identified with the highest data value to a partition index with a lower value; comparing data values at the adjusted initial partition indexes of the sorted data sets having the adjusted initial partition indexes and the data value at the initial partition index of the sorted data set without an adjusted initial partition index; setting the adjusted initial partition indexes of the sorted data sets having the adjusted initial partition indexes as current partition indexes for these sorted data sets; setting the initial partition index of the sorted data set without an adjusted initial partition index as a current partition index for this sorted data set; iterating over: comparing data values at the current partition index for each sorted data set to identify a highest data value and a lowest data value at the current partition indexes; and adjusting the current partition index for the sorted data sets with the highest and lowest data values at the current partition indexes, until, during a single iteration, a sorted data set that was previously determined to have the lowest data value changes to have the highest data value and a sorted data set that was previously determined to have the highest data value changes to have the lowest data value; after the sorted data set that was previously determined to have the lowest data value changes to have the highest data value and the sorted data set that was previously determined to have the highest data value changes to have the lowest data value, determining first and second candidate first partition indexes based on data values at the current partition indexes and data values at previous partition indexes; comparing the first and second candidate first partition indexes to locate the first partition index for one of the sorted data sets; and locating the first partition indexes for the sorted data sets that are not the one of the sorted data sets based on the first partition index for the one of the sorted data sets; partitioning the sorted data sets into the first and second portions based on the located first partition index for each of the sorted data sets; processing the first portions of the sorted data sets; and processing the second portions of the sorted data sets.

Patent Metadata

Filing Date

Unknown

Publication Date

July 28, 2015

Inventors

Noboru Yamamoto

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “PARTITIONING SORTED DATA SETS” (9092469). https://patentable.app/patents/9092469

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

PARTITIONING SORTED DATA SETS — Noboru Yamamoto | Patentable