I am working on an embedded system at the moment. the system runs a webserver. now what i would like to do is to make the server available through a hostname. It's a rather dumb question but i have not been able to figure out the protocol that is used for such.

In the system i have enabled WINS but when I type in the server-name in a browser on a PC connected to the same LAN, no query is made for the name using WINS but instead the browser attempts to resolve it through DNS. however, if i type the ip address of the server then it is accessed properly.

another method is to user Microsoft Windows Browser Protocol, and announce the name periodically, but i am concerned that this might not work on non-windows based networks.

well I dont think people would be willing to set a local DNS server just for using our device. in short changing the network configuration is not an option, our device is supposed to work without any change(preferably) to the network. currently we require no change to the network when the device is connected however the limitation is that the user needs to type in the ip address to access it.
I was thinking of using the windows browse protocol, but am not sure whether it would work in unix environments or not.

the two solutions to your problem are zeroconf (works for linux/etc, and macs), and upnp (for windows xp, though not everyone has it installed). i'm not sure if vista will have zeroconf support builtin. you can license apple's bonjour implementation (it works on xp) for redistribution (or the stg implementation).