Here's John Carmack describing how he used the aforementioned techniques to make Quake playable over the internet: http://fabiensanglard.net/quakeSource/johnc-log.aug.htm
Here's how Valve do it:
https://developer.valvesoftware.com/wiki/Latency_Compensatin...
And here's another good article on the topic: http://gafferongames.com/networking-for-game-programmers/wha...
Oh, and here's one implementing it with Node / HTML5: http://buildnewgames.com/real-time-multiplayer/
Good luck.