WOL over Internet - without Router customization
Solution 1:
Wake On LAN packets are designed to be routed at what's known as the link layer, where network devices local to each other communicate.
It is simply not possible to perform a Wake On LAN request over the internet unless you have a device on the recipient network that can route the magic Wake On LAN packet to the requisite device, or the system itself is connected directly to the internet without the use of a cable modem or router.
Typically this will be another system behind a routed network or a router configured to let this packet through to your internal network on your behalf.
As internet routing is only concerned with TCP/IP and UDP/IP (the two ways of transferring data online, TCP having validation and UDP not), lower level data that isn't relevant to the recipient network isn't typically routed, so as such magic packets for computer awakening aren't received.
If you are curious, there is more information on the OSI model which defines the seven layers involved with networking: http://en.wikipedia.org/wiki/OSI_model