Design a Distributed Linked List — Hard System Design Problem