Bibliothèque Java pour obtenir geo-code de ipaddress

Mon application connaît l'adresse IP de l'utilisateur.
Nous avons besoin d'identifier la ville, l'état, le pays de l'utilisateur et de latitude, & longitude de l'utilisateur.

Est-il une bibliothèque java qui peut faire cela?

Si il y en a aucun, ce qui est de l'algorithme ou de la source de données utilisée pour convertir l'adresse IP de l'emplacement géographique?

OriginalL'auteur Nambi | 2012-07-02