Arduino Software Reset/Restart Command

There are many times when there is no availibity of a hardware reset.
More Arduino applications are being "Internet enabled" and there is a
need for a simple software program reset/restart command eg
restarts the program just like a hardware reset does.
Any easy suggestions?

{
....
  asm volatile ("  jmp 0");
...
}

That's not quite the same as a hardware reset. All the peripherals, registers, etc. will have their values preserved. A true reset will clean up all the peripherals first.

The recommended method of software reset is to use the Watchdog reset. It's been discussed in a few threads in the forums before.

--Phil.