In the future, many of the physical objects that surround us will be augmented with microprocessors and wireless transceivers. They will communicate with each other, quietly monitor our daily activities and notify us of important events. Any piece of relevant information on the Internet will be available to us anytime and anywhere. We call this scenario the Internet-scale ubiquitous computing environment. In our current lifestyle, one of the most precious and scarce resources is human attention. Internet-scale ubiquitous computing environments have the potential to make our daily life more comfortable and attractive because they will allow us to focus only on the essential tasks, letting technology take care of itself. However, building Internet-scale ubiquitous computing environments requires us to address a variety of technical issues. In particular we have to take into account the software development costs to build such an attractive future. As a road to developing the necessary software in a timely fashion, we propose to base the system on existing infrastructural software components such as Linux, Java and CORBA. We identify several important architectural problems that builders of Internet-scale ubiquitous computing environments will have to address, and we present some recommendations on the basis of our analysis and implementation experience.