Give the gift of Drupal. All merchandise is 50% off through 2016.
The Session API module extends the core session functionality, allowing modules to associate data with a site visitor. This idea can be used to, for example, encourage participation in a site without user registration. Once a user is sufficiently involved in the site and creates a user account, modules implementing the session API can transfer session data to more permanent user data.