I have an interesting challenge and was hoping one of the gurus can assist.

I have a program running on a client machine that I need to "trigger". The program is written in VB.NET.

What is the easiest way I can generate a "trigger" to that client machine?

Couple of things I already considered:
a) check for a presence of some file (too cumbersome)
b) implement sockets and listen on some port for a trigger (too complex, error prone)
c) check some website for a presense of something and use that as trigger (too much work, must setup site, read it ...)

... is there anything simple that anyone can think of? Ideally if I could "ping to a port" and then have the client just listen to any activity on the port would be ideal, but I don't know if this is possible.

Thanks in advance for any ideas...

You could try setting up a scheduled task to run a script to check if the conditions you are looking for are met and if so run your program.

I'm not sure and clear on what exactly you want but no offense but it sound more like you want to do something else here. What the main purpose of trigging the client? Is the program that will trigger the client will be installed on a clients computer or remotely?

THe program that I want to "trigger" will be installed on the client computer. Once it sees the trigger it will then need to do something, and then go back to "sleep". Basically, my question is how can I "trigger it" easily.

What event is supposed to cause the program to run? If the program only needs to run once or twice a day then use the operating system to schedule it as G_Waddell suggested 2 days ago.

i need to trigger it asynchronously from a different computer.

Here is how to create a process remotely on MS-Windows. I don't know about *nix.