Internetware is a term coined to describe the emerging software paradigm for the Internet computing environment. It also refers to the software exhibiting the desired properties (described below) to meet the requirements of the Internet environment.
The Internet is a dynamic, open, ever-changing environment. These characteristics impose new requirements on software over Internet. More specifically, in traditional software, the requirements of the tasks are often pre-determined and clearly stated, and the tasks are performed by pre-designed software components following fixed algorithms. On the other hand, in the Internet computing environment, more and more requirements are unclear or undetermined, and the software components that collaborates to finish a task are dynamically obtained. As an example mentioned by Mei et al., handling swine flu epidemic requires emergent cooperation among organizational and individual software and services, such as airlines, hotels, hospitals and mobile phones. We do not know what components will be involved in the collaboration nor their behaviors. We also do not know what kind of collaboration needs to occur or will occur beforehand.
Internetware was first proposed by Chinese researchers from Peking University and Nanjing University in 2003. Through the support from two Chinese National Basic Research Programs (also known as 973 programs) from 2002–2008 and 2009–2013, approximately 80 researchers  from different Chinese universities, institutes and companies have participated in the research of Internetware, and a large number of papers have been published.
The development of Internetware soon attracted international attentions, and many researchers outside China started to work on this topic. IBM participated in the 973 program as one of the main industrial cooperators. The annual Asia-Pacific Symposium on Internetware started in 2009 in cooperation with ACM SIGSOFT, attracted authors from US, Australia, Canada, and attendees from Japan and Korea. Articles discussing Internetware also appear in various venues by international authors.
Desired Properties of Internetware
- Autonomous Software entities should be able to detect the environment changes and adapt itself.
- Cooperative Software entities should be able to collaborate dynamically for specific needs.
- Situational Software entities should be able to expose their runtime states for others to detect.
- Evolvable The application should be able to change its structures and behaviors dynamically.
- Emergent Software applications should be able to cope with random behavior and undesired effects from its entities and the environment.
- Trustworthy Though individual entities may fail or behave randomly, the software application as a whole should meet a set of quality requirements.
The research community of Internetware propose methodologies and techniques to develop software exhibiting the above properties. As of the year 2012, the research of Internetware mainly covers the following three aspects.
The software model defines the basic form of Internetware. The current research tries to define the basic interfaces of the software entities, such that collaboration is enabled. Mathematical models of collaboration are also proposed based on the interfaces.
The software operating platform implements the software model, supporting the features defined in the entity model and the collaboration model. For example, researchers have proposed connectors that enable communications between heterogeneous protocols, and runtime software architecture to govern on-demand collaboration.
The engineering approach guides the developers for building Internetware. Researchers have proposed to use software architecture as a high-level blue-print to guide the Internetware development, where the individual components can be dynamically discovered and replaced at runtime.
- The official Internetware web site (in Chinese)
- Mei, Hong; Gang Huang; Tao Xie (June 2012). "Internetware: A Software Paradigm for Internet Computing". IEEE Computer 45 (6): 26–31. doi:10.1109/mc.2012.189.
- Yang, Fuqing; Jian Lv; Hong Mei (2003). "Some Discussion on the Development of Software Technology". Acta Electronica Sinica (in Chinese) 26 (9): 1104–1115.
- Mei, Hong (2010). "Internetware: Challenges and Future Direction of Software Paradigm for Internet as a Computer". Proc. 34 Ann. Conf. Computer, Software, and Applications: 14–16.
- Jian, Lv; Xiaoxing Ma; Xianping Tao (2006). "Research and Progress of Internetware". Science China Information Sciences 36 (10): 1037–1080.
- "Internetware project collaborator list(in Chinese)".
- Tsai, Wei-Tek; Zhi Jin; Xiaoying Bai. "Internetware computing: issues and perspective". Proceedings of the First Asia-Pacific Symposium on Internetware. doi:10.1145/1640206.1640207.
- Li, Yuankui; Linzhang Wang and Yuanfang Cai. "Detecting Source Code Changes to Maintain the Consistence of Behavioral Model". Proceedings of Internetware 2012.
- Yau, Stephen; Ho G. An. "Protection of users' data confidentiality in cloud computing". Proceedings of the Second Asia-Pacific Symposium on Internetware. doi:10.1145/2020723.2020734.
- Jian, Yunsong; Lin Liu; Jianmin Wang; Eric Yu. "Goal-driven adaptation of internetware". Proceedings of the Second Asia-Pacific Symposium on Internetware. doi:10.1145/2020723.2020733.
- Chang, Carl; Vladimir Getov; Kelvin Sung. "Computing in Asia: A Sampling of Recent Success Stories". IEEE Computer 45 (6): 23–25. doi:10.1109/MC.2012.203.
- Qamar, S; Niranjan Lal; Mrityunjay Singh (2010). "Internet Ware Cloud Computing :Challenges". International Journal of Computer Science and Information Security 7 (3): 206–210.
- Jiao, Wenpin; et al. "Modeling Internet-Based Software Systems Using Autonomous Components". Chinese Journal of Electronics.
- Ye, Chunyang; et al. "Middleware support for internetware: a service perspective". Proc. 2nd Asia-Pacific Symposium on Internetware.
- Huang, Gang; et al (2006). "Runtime recovery and manipulation of software architecture of component-based systems". AUTOMATED SOFTWARE ENGINEERING 13 (2). doi:10.1007/s10515-006-7738-4.
- Mei, Hong; et al. "A software architecture centric engineering approach for Internetware". Science China Information Sciences 49 (6): 702–730. doi:10.1007/s11432-006-2027-1.