Distributed systems: lessons learned and challenges remaining | IEEE Conference Publication | IEEE Xplore