13. An apparatus comprising: a processor configured to: divide a plurality of ride intent objects into candidate sets, wherein: each ride intent object defines ride preferences of a respective car pool user; and each candidate set is associated with a respective ride matcher object that specifies a plurality of ride preferences that ride intent objects in the candidate set must include, the plurality of ride preferences forming a subset of less than all the ride preferences of any particular ride intent object in the candidate set; lock the ride intent objects such that only a ride matcher object associated with a candidate set containing a particular ride intent object can perform matching on the particular ride intent object while the particular ride intent object remains locked, wherein unlocked ride intent objects are available for matching by any ride matcher object, and wherein the same ride preference is specified by at least some of the ride matcher objects; match, by each ride matcher object and based on ride preference values, ride intent objects in a respective candidate set to other ride intent objects in the same candidate set; identify, based on ride preference value, a plurality of ride preferences in a first ride intent object that match a corresponding plurality of ride preferences in a second ride intent object, wherein ride preferences are determined to match when: there is an exact match between respective values of a first of at least two ride preferences for the first ride intent object and the second ride intent object; and respective values of a second of the at least two ride preferences for the first and the second ride intent objects are within a predetermined threshold of similarity; assign different weights to corresponding ride preferences in each ride intent object; calculate a sum of the weights associated with the matching ride preferences; determine that the first ride intent object matches the second ride intent object when the sum of the weights exceeds a predetermined weight threshold; and group the plurality of ride intent objects into a plurality of ride intent sets based on the matching, wherein each ride intent set is a subset of a respective candidate set that contains the ride intent objects of the ride intent set.
15. The apparatus of claim 13 , wherein preferences of each ride intent object include at least one of smoking, music, sex, gender, origin of ride, destination of ride, time window of ride, driving style, conversation style, area of occupation, vehicle type, and temperature inside vehicle.