Sitecore Digital Marketing System (DMS) has GeoIP Tracking, which allows it to
determine attributes from the requesting party, such as city, country,
DNS, ISP, latitude, longitude, region, etc. This information is provided
by MaxMind GeoIP via webservices. Sitecore’s approach to integrating
this functionality in their product allows for expansion and
Information is managed by the class WhoIsInformation
(Sitecore.Analytics.Lookups), which has all the attributes that Sitecore
handles for DMS source information.
MaxMind , as a provider, is configured in an include file
called "Sitecore.Analytics.Config", allowing you to easily to change
what code provided the attributes in WhoIsInformation class.
MaxMind Provider implements LookupProviderBase, allowing
anybody to create their own implementations of a WhoIsInfomration
provider. This lets you change the default functionality rather easily.
In theory, with this implementation you could develop your own WhoIsInformation tailored to fit your needs.