What is the difference between tpu_driver_client.TpuBackend.create and xla_client.make_tpu_client

Questions in Xla Client Module:
Why TPU has two backend entrance for xla client?
What is the difference between tpu_driver_client and xla_client?
Can I get some ideas of the design in particular?
Thanks a lot.