I believe that time is infinite which is to say that matter is everlasting, has neither a beginning or an end, but our DNA is finite. Every human being has DNA and this DNA is a blueprint to the construction of their body and brain. If time is infinite, but DNA is finite than the combinations of amino acids that make up specific strands of DNA must repeat over time.
There is not necessarily a set period of time until your DNA is repeated, it could be duplicated tomorrow or a billion years from now, but eventually the combination that makes up you will make its return. In example if you take a 3 digit combination lock there are 1,000 possible combinations. Say one new combination is generated every day, after 1,000 days all the combinations have been generated, but they continue to generate so combinations that have already been generated must regenerate.
It's simple mathematics. Reincarnation must occur unless the human race is destroyed and even then there's a chance the entire human race could be reincarnated on some planet somewhere in the universe. Obviously you won't retain any recollection of your past lives, but there is a way around this. As genetic sciences mature we will eventually have the technological ability to analyze a persons DNA when they are born and determine the last time they were known to exist. We could analyze your DNA and say "You were last known to exist in the year 3042, here's all the photographs and such you bequeathed to yourself."
Really the important factor is the brain. Portions of your DNA carry instructions for how your brain will be constructed, but those portions could be combined with any other body DNA. So your brain could easily be 'reincarnated' into any variety of body types.