Communication Busses

The difference between a "serial bus" and a "serial interface" and a "network protocol" is blurring -- see network protocols (TCP/IP, telephone, CANbus, ethernet, etc.), serial IO (RS485, SPI, etc.).

See also:

Lost somewhere in the sands of time was an interesting serial protocol used on TI graphing calculators. There's plenty of good reference material on Google, but it basically worked like this:
Two bidirectional lines with pull up resistors. The sender starts by pulling one line low, the receive end acknowledges by pulling the other line low. They both release and start again. Zero's and ones were signified by which line the sender pulled low. Works _very_ well in a busy processor since every bit waits for an ack. Data rate could be quite high with the addition of interrupts if so inclined. Opto isolation may be more challenging, but seems workable.

TI calculator protocol.