Wow! We could debate all day long ... and you will never be satisfied with any answer ... be that answer given by me or even, I dare say, someone from Moodle HQ!
A couple of things ...
research VPN's - all 100 students could use generic credentials ... same account ... that just sets up the 'network connectivity ... has nothing to do with moodle code and access to the moodle.
If you continue your path whatever this java thing does would have to poll the client to get IP address frequently ... like once every second? ... and then *IF* and only IF dynamic IP address has changed, make a new entry and should remove the old. Issue additional questions ... what happens to the sessions file in moodledata/sessions/ and what happens to browser cookies ... session cookie? Probably a security issue if session file gets changed in the middle of a session.
So those are areas doing it your way you'd have to reserach and figure out ... me thinks!
Or pay someone to do it.
No offense, but you are searching for problem resolution in a Moodle community and no users here (am pretty sure) have set their moodle up that way .. so problem resolution should refer to what created the problem ... and that's you!!! :|
One last concept ... networking comes before application ... Moodle is an application.
With that, am gonna back out of this thread and hopefully someone else will join in with their 'solution'.
Best of luck to you sir!!!!