Some web sites such as speedtest.net detects the name of your ISP by your ip. How do they do it? And what's the way to get my own ISP name? Some universities and BestBuy has it's own ISP name. I don't care about the costs, is there a way to get a ip block with customized ISP name?
They use reverse resolving and/or whois data for the IP address that is accessing the site. Just ask your ISP - could they put your domain name on some of their IP addresses or range (via reverse DNS). Most hosting companies do that for dedicated servers IP address range.
Additionally they can change whois record for your IP range and assign you as a maintainer of this range. This procedures is complicated.
Another way is to get PA (provider aggregated) address space or even better PI (independent) space, but this will cost you a lot of money for procedures and for support - you must have good administrator to manage your own address space and AS and links to other ISP's in case of PI space.
They generally use the allocation details from the local IP authority, such as APNIC. This data also goes into databases like geoip. You would need to register as an ISP and get your own AS set up and announce your own BGP routes and organize peering with your ISP, something they may or may not be comfortable with.
It's a very expensive operation.