You would need a Router at each end.
You would need to know the Public (ISP Provided) IP Address of your location. Home and/or Work.
Within the router you have a feature called Port Forwarding. You would forward port 3389 TCP and UDP to the internal IP address of the computer you wish to access remotely. 3389 is Remote Desktop for Windows.. depending on the program, it will use different ports for access.
You need to know the IP address of your computers behind the router. Very simple to do.
You will need to get your public IP address as well. Fairly easy, many websites will be able to give this info to you as well.
Port forwarding is logging into your router (192.168.1.1) and enter the Port (what doorway does the remote viewing program use to access the other computer) and set that port to forward to the IP address of the computer behind the router.
All in all, its fairly simple to do but many people have been hung up on it.