I
Science of Design: Derivation of Generic Design Principles for Software Intensive Systems
By:
Robert Abbanat
Stephen Hazelton
Massachusetts Institute of Technology
Cambridge, Massachusetts
May 17, 2004
Table of Contents
Table of Contents 2
Abstract 3
Part I: Derivation of Generic Design Principles 4
Context - Deficiencies of Heterogeneous Design Standards 4
Motive: Need for Comprehensive Design Framework 5
Current Art 6
Environment: 9
Process Design: 9
Process Realization: 10
Running System: 10
Generic Principles for Developing Design Frameworks 10
Part II: Case-Example: Wireless Grid 12
Framework for the Wireless Grid 12
Background on Wireless Grid Computing 13
Wired Grid Computing: 13
Demand for Grid Computing: 13
A Case Study: The Telephony System: 13
Wired Computing Grid Components: 14
Wireless Grid Computing: 15
Design Framework: Wireless Grid Principles 16
Behavior Parameters: 18
Challenges 19
References 20
Abstract
Large scale, Software-Intensive Systems (SIS) are increasingly pervading every aspect of life, and are becoming progressively more complex. In the absence of an organized, predictable and repeatable approach to the design and development of such systems, they grow organically: sub-components of the overall system are designed to meet the short-term needs of individual stakeholders. As a result, the larger systems emerge with heterogeneous design standards whereby multiple contributing developers have created varying methods for defining system architectures and protocols. The objective of this paper is to outline an innovative, organized, predictable and repeatable method for the development of large-scale SIS that will eliminate the organic evolution of heterogeneous design standards.
In the Part I of the paper we analyze and frame the nature of the problem of heterogeneous design principles, identify the requirements to consistently produce more homogeneous, integrated SIS, derive specifications of generic design principles for the design of SIS, and model a sample framework for a representative SIS. We propose that a design framework for almost every SIS can be created by following a series of design principles that are well defined, yet generic enough to be applied to all software-intensive systems. A series of core principles would lead to the formalization and mechanization of creating standards for emerging software-intensive systems and help to mitigate the negative effects of organic evolution.
Part II of the paper will focus on illustrating the efficacy of design principles by applying them in the case example of a framework for writing software standards for the wireless grid. The framework will be derived from the core principles outlined in Part I, and will highlight a set of behavior parameters for wireless grids. The goal is to validate the generic principles by outlining issues to be addressed with a framework that ensures that any design standard that is developed for sub components of the wireless grid, whether it is a mail protocol or a sensory network protocol, will produce ready-to-market products for the wireless grid.
Part I: Derivation of Generic Design Principles
Context - Deficiencies of Heterogeneous Design Standards
Large scale, Software-Intensive Systems (SIS) are increasingly pervading every aspect of life, and are becoming progressively more complex. In the absence of an organized, predictable and repeatable approach to the design and development of such systems, they grow organically: sub-components of the overall system are designed to meet the short-term needs of individual stakeholders. As a result, the larger systems emerge with heterogeneous design standards whereby multiple contributing developers have created varying methods for defining system architectures and protocols that often compete for dominance in the marketplace. These standards are often defined from the experiential knowledge and intuition of the creators, which varies widely in scope and depth.
There are numerous negative effects of heterogeneous design standards for all stakeholders of SIS. In many cases, the sub-components of the overall system are incompatible, non-interoperable, inconsistent, redundant, proprietary, and perform with varying degrees of Quality of Service (QoS). As these systems evolve and grow, they become increasingly difficult to comprehend, thus confounding the process of educating future developers on system design and development. Further, projects invariably take longer than initial projections, and the pressure to maintain schedules often makes documentation of the design process an expendable task that gets postponed until the completion of the project, and ultimately forgotten. As such, the teachability of these systems is difficult at best.
The evolution of SIS also lacks any intelligent control, and thus lacks any coherent understanding of shared goals and utility of all stakeholders. In such an environment, heterogeneous design standards can become a means for dominant constituents to establish monopolies within the marketplace.[5] This can prevent the innovative solutions of start-up companies from ever reaching the marketplace. Additionally, the heterogeneous nature of sub-components makes them inherently difficult to maintain, and increase development costs as each constituent develops new and varying standards rather than building on what has already been created.
The factors that lead to the development of heterogeneous, organic design standards are not unique to software-intensive systems. In fact, software-intensive systems evolve in design environments that share commonalities with other large-scale projects in a multitude of engineering fields and disciplines. For large-scale, distributed systems such as power grids, the internet or information management systems, the sub-components of the larger system are often designed by many individuals working at different locations, at different times, and for different organizations—each with its own agenda for the outcome of the larger system.[3] In many cases, the environment is highly competitive and there is no collaboration at all between the competing developers[1]. In such cases, the emergence of heterogeneous standards is all but inevitable.
For those components that are developed within an organization, such as an avionics system for a new commercial jetliner, or between cooperative organizations, such as the environmental control systems for the International Space Station, the increasing complexity and globalization of most engineering processes necessitates a level of collaboration that spans geographic, corporate and temporal boundaries.[2] These projects are usually managed with a top-down approach where the system is defined, then parsed into sub-components to be solved by individual teams who must collaborate and then submit their work for integration into the whole. As the degree of required collaboration across geographic, corporate and temporal boundaries increases, so does the time and cost to produce each sub-component of the system, and thus the cost basis for the larger system itself. This accurately describes the environment by which heterogeneous design standards emerge for large-scale, software intensive systems.
Consider, for example, the software-intensive systems that have emerged to integrate wireless 2G and 3G networks with mail servers. In the late 90’s, delivery of email via cell phones surfaced as a compelling application in the evolution of 2G and 3G networks. No formal framework was established to guide the development of this system. As a result, each of the carriers (Verizon, Sprint, AT&T, etc.) developed their own proprietary systems for connecting users on their network with mail servers. Because they were competitors, each developed architectures and protocols with minimal (if any) collaboration and coordination between them. Each then negotiated to install its own system with various mail service providers. Each system is non-interoperable with the other. Each system was developed independent of the others, thus duplicating functionality and costs, and often times re-inventing the wheel. Each requires users to register with a specific mail service provider to receive mail with a given wireless carrier. End users today will feel the pain of this heterogeneous environment when they attempt to receive email after switching their cellular carrier.
Motive: Need for Comprehensive Design Framework
This paper addresses both the design process and requirements, specifications of SIS. The objective is the development of an innovative, organized, predictable and repeatable method for the development of large-scale SIS that will eliminate the organic evolution of heterogeneous design standards. Our approach is to analyze and frame the nature of the problem of heterogeneous design principles, identify the requirements to consistently produce more homogeneous, integrated SIS, derive specifications of generic design principles for the design of SIS, and model a sample framework for a representative SIS. We hope to replace the rough guidelines, intuition and experiential knowledge currently used to design SIS with generic design principles that are formalized, empirically validated by our sample framework and teachable.
We offer that as each SIS is emerging, a comprehensive design framework should be defined for the purpose of establishing an organized, predictable and repeatable approach to the design and development of every sub-component that will comprise the larger SIS. The framework should prescribe a comprehensive series of steps for creating standards that are complete and specific enough to produce ready-to-market sub-component of the larger system. From a technical perspective, ready-to-market standards will insure interoperability within the larger system, eliminate redundancy, ensure that end products are as robust as possible, and establish consistent QoS.
From a management perspective, ready-to-market standards will have an enormous impact on market dynamics. Well crafted standards will enable smaller, entrepreneurial companies to safely create products without the fear that a monopolistic, competing product will make theirs obsolete, thus ensuring that creativity and innovation is nurtured. A standard would reduce the perceived risk of adopting products from start-ups, especially in nascent technology markets where innovation is driven by emerging market opportunities. A standard that has been developed by an unbiased committee will prevent an incumbent giant from establishing a de-facto proprietary standard that gives them monopoly powers while stifling innovation and competition from start-ups. The standard effectively enables smaller vendors to unite against a large incumbent, rather than face it alone. For example, the LWAPP (Lightweight Wireless Access Point Protocol) initiative is seen as an attempt to counteract Cisco’s effort to establish its own WLAN technologies as de facto standards by virtue of its enterprise market share; and to give companies a risk-free alternative if they are starting to chafe under Cisco’s high prices and often dictatorial approach.
A standard may be essential to facilitate the rapid and ubiquitous deployment of emerging applications that are critical to national security or personal safety. Consider for example, the ability to track, within a few dozen feet, the position of a wireless handset using GPS. There are many applications of this technology that could morph into standard features of personal safety:
- 911 calls: authorities could rapidly locate a caller in distress
- Child safety: parents could track the whereabouts of kids via their mobile phone
- National security: suspects could be easily found
The most rapid deployment of such a technology would result from a standard adopted by all the wireless carriers and mobile phone manufacturers. Consider, for example, ULocate, one of the early pioneers of cell-phone tracking services. ULocate's platform only works on cell phones that can establish and transmit latitude and longitude using the government's Global Positioning System (GPS). Currently, ULocate’s technology is proprietary, and only supports the Motorola i730, i88s and i58sr on the following carrier networks: Nextel, Southern LINC, TELUS Mobility (MIKE). Although demand for such a position-tracking service may support several vendors, the absence of clearly defined development standards will likely result in a myriad of proprietary systems that are not mutually compatible. Accordingly, the technology may suffer from QoS issues or interoperability that will limit its effectiveness.
Finally, a comprehensive framework is itself a concise, self-contained platform for educating future developers of the system and its sub-components.
Current Art
The process of design has characteristics that transcend domains and focus areas. It has been addressed in multiple fields of engineering, computer science and large scale software systems. When dealing specifically with complex software systems, however, the access and dissemination of data is almost always a central component. This is likely to be the case with the wireless grid as well. Recently, efforts have been made to determine how to design systems that access and integrate multiple sources of data. A recent conference to address the current art in this area occurred at the Science of Design for Information Systems (SDIS 2003) in Seattle, in 2003. Systems addressed at this conference included those that deal with complex data such as multimedia and text, systems that must integrate both spatial and temporal factors, systems that involve large-scale replication and distribution, and systems that integrate complicated work flows and notifications. Several areas received particular focus:
A. Design for Integration. Here, the effort has been to determine optimal methods for the integration of legacy enterprise systems and processes. Special focus has been given to identify standardized methods for creating, deploying and integrating complex and well-structured applications. The designer of any new sub-component, unless it is a “greenfield” application that does not tie to any legacy applications, it must accommodate any legacy systems. Any design principles must address issues such as translating messages with different formats and wrapping heterogeneous interfaces within a standardized interface. Currently, there is not a comprehensive set of principles to deal with such integration issues. When addressing a large scale, software intensive system, however, the following is a comprehensive set of scenarios that must be considered when defining generic principles for developing robust frameworks for SIS:
• Integration of data sources: With multiple source databases, create an integrated mapping between them, enabling users to easily generate queries.
• Data warehouse loading: Create standardized methods to enable the quick identification and rectification of inconsistencies.
• XML message translation: Create standardized methods for mapping source XML messages to targets. This would be particularly applicable for wirless grid applications that arise in B2B and E-Commerce applications.
• Schema evolution: Create standardized methods for mapping old database constructs to new ones.
• Integrate custom applications with commercial applications: Create standardized adaptors to enable new applications to interpolate legacy applications.
• Object-oriented or XML wrapper generation for a SQL database: Create a standardized method to expose data as methods in an object-oriented language or as XML elements and attributes.
• Portal generation from data and application sources: Create standardized methods for generating a mapping from a source database to a portal format.
• Peer ontology integration for the semantic web: Create a standardized method for describing the content of a user’s ontology for a particular domain of interst, then generating a map to the relevant web site.
B. Design for Dynamic Environments. Here, the effort has focused on design issues that revolve around rapidly changing data. Challenges arise because of the need for continuous data monitoring and/or acquisition, or the need to continuously integrate new data that is being mined.
C. Design Issues Based on Data Location. Here, designers must integrate data from highly distributed sources, such as web-data and peer-to-peer systems, as well as mobile environments. This area is of particular relevance to the wireless grid.
D. Process-Centric Design. Workflow and web services must be addressed to identify how the design process can integrate patterns of activity, including business rules and interactions that determine how data is created and used.
E. Designing for Security and Privacy. In any design process involving large-scale software systems, security and privacy, especially in relation to data and information are of paramount importance. Efforts have been made to identify standardized methods for dealing with security and privacy in large scale systems.
In addition to these scenarios, which are derived from the current art in science of design for SIS, we compare and analyze current art for the standardized design of large-scale engineering systems that is also relevant to SIS. Such paradigms include the four-faceted knowledge-based approach [8] which incorporates:
• Knowledge discovery
• Knowledge acquisition
• Knowledge management
• Knowledge dissemination
Another relevant paradigm is the Rule-Based Algorithms from Chung-Hua University [7], which identifies how certain parameters should change through the employment of a matrix of weights between attributes and design factors. Other relevant paradigms include the Distributed and Integrated Collaborative Engineering Environment (DICE), and the Utility Evaluation from the University of Massachusetts.
Given the data-intensive nature that will likely prevail in an software-intensive system, any standardized approach must address the location of data sources, and the users that are accessing them. Generic design principles must include methods for integrating highly distributed collections of data such as web data and peer-to-peer systems. Further, such standards must address mobile environments and objects, including the monitoring, tracking, and reaction of various systems. The focus should be the location of data objects and queries, and other related issues such as distributed ownership. A broad range of user-interaction scenarios must also be considered when deriving generic design principles, including:
• Availability and access of complete information, such as traffic reports, from any location at any time
• Access to personal information, such as medical records, from any location at any time
• Ability to join a meeting in progress
• Ability to access personalized entertainment from any location at any time
• Accommodating multi-party collaborations
Further, design standards must consider the optimal balance between mutually exclusive parameters including:
• Information Location Independence: Here it may be necessary to weigh the need for all application design decisions to explicitly take into account the information location, as opposed to enabling for freedom from having to explicitly consider these factors.
• Versatility of Data Sharing: In some instances, it may be appropriate for data to be difficult and expensive to share, and other times data should be available conveniently and cheaply.
• Barriers to Information Access: Many barriers to information access, especially in distributed/mobile environments, may exists including access policies, query interfaces, latency, and bandwidth. In some cases the barriers should be low, while in others they should be high.
• Connectivity to the Physical Environment and among agents: On one end of this parameter, low end connectedness has poor, short-lived connectivity, while the high end has rich, long-lived connectivity.
• Information Quality: In this parameter, tradeoffs must be made between the quality of information and its timeliness, precision, and accuracy.
• Privacy and Security: With this parameter, design principles must weigh the need for privacy and security vs. the need for a distributed and decentralized system.
• Agent Autonomy: Here, consideration must be given to agents with strong incentive to collaborate (e.g. employees of a company) vs. agents that are highly autonomous (e.g. vehicles on the highway).
To further complicate this picture, the parameters listed above are not always independent, and any balance that is achieved with one parameter may directly effect other parameters.
To develop a series of design principles robust enough to produce frameworks that accommodate a wide range of SIS, and one that incorporates the scenarios and parameters above, we consider four phases that characterize the design space of a complex system, and the transitions among these stages. These four phases are: environment, process design, process realization, and running systems (see figure 1 below). [9]
[pic]
Figure 1
The goal is to derive design principles robust enough to create a comprehensive design framework for almost every SIS. These design principles must be well defined, yet generic enough to be applied to all software-intensive systems. A series of core principles would lead to the formalization and mechanization of creating standards for emerging software-intensive systems, and help to mitigate the negative effects of organic evolution.
Environment:
The first step to developing a framework for an SIS is to identify the elements and assets of the environment in which the SIS will operate. Characteristics of the environment include existing applications, information sources, people, services, and processes. It is important to specify appropriate details of interactions between each of these characteristics, as well as key design constraints of the information system in this phase including security domains, policies and operational rules, and service level agreements
Process Design:
Process design involves the definition of how processes appear externally, as well as defining their internal structure. The external process enables the designed and completed process to be used in future designs. The primary objectives with this process are orchestration and property specifications.
• Orchestration specifications include key points of entry for the process, sequencing specifications, and any exceptions.
• Property specifications can be transactional, related to security, or involve quality-of-service (QoS) and other metrics.
The internal model for the process represents resources, such as data and services, control structures, data organizations and flow, communication methods, rules, exceptions, and composition of services and process to be employed. Such specifications will guide development of any sub-component (or application) of the SIS.
Process Realization:
In process realization, the appropriate programming paradigm is selected to implement the design. These paradigms are necessary for defining parameters for the characteristics of the environment. There are three alternative paradigms to be considered:
• Event-driven approach: Here, processes involved in the execution of a task are associated with an event, and are initiated when the event occurs. Thus, events can be messages from a broker in a publication-subscription system, or triggers and queues in active databases.
• Control-driven (static) approach: Here, the steps for implementing a given task are defined as a workflow. Each of the component processes are subsequently evoked at the appropriate time in the workflow process.
• Metadata-driven approach: Here, tasks are implemented by a generic workflow whereby metadata is used to determine behavior. The metadata describes the appropriate processes to be called in a given circumstance.
Running System:
Maintenance is a critical part of the system life cycle. Feedback from this phase can be used as a tool to regularly improve the system in an incremental fashion, without the need to modify the core design principles. The critical aspects of maintenance include system monitoring at different levels, management and administration, system optimization, and adaptation and evolution.
Generic Principles for Developing Design Frameworks
The four phases outlined above that characterize the design of complex systems are now applied to derive a series of generic design principles for developing a comprehensive framework for any SIS. We postulate that the following design principles can be applied to define a framework for designing standards for any large-scale, software-intensive system:
1. Environment. Each new software-intensive system embodies characteristics that make it unique, and distinguish it relative to other systems, and are a function of the environment. Each of these characteristics must be identified and addressed in the following contexts;
a. Advantages: Which characteristics of the environment offer operational advantages over other systems
b. Limitations: Which characteristics of the environment offer operational limitations
c. Overlap: Which characteristics of the environment overlap with other systems
2. Process Design: Each new system will emerge to serve a particular set of target applications. Further, as the system evolves and becomes more complex, new applications will be identified and developed. All initial target applications should be defined. For each, it will be necessary to identify orchestration and property specifications. Potential applications that can be developed in the near term should also be identified and defined. For each application, the relevance of each of the environmental characteristics above must be addressed.
3. Process Realization: Specify behavior parameters for each of the unique characteristics that are defined by the environment. Define the criterion of appropriate behavior that must be incorporated for any standard that is developed for the system.
4. Running System: After process realization, the framework must include a feedback loop to keep the system updated as new information and new technology becomes available.
The generic principles outlined above were derived directly from the four phases characterizing the design of complex systems as outlined in current art. The phases above can also be mapped against the four-faceted knowledge-based approach.[8] Generally speaking, the generic design principles fall in the realm of knowledge management, whereby the goal is to mitigate issues related to heterogeneities in underlying contexts coming from disparate sources, and to knowledge dissemination, whereby the goal is to automate the dissemination of critical design information. Step one falls under the realm of knowledge acquisition, while step two is based on the principles of knowledge discovery whereby the goal is to discover patterns linking how the design is impacted by the goals and needs of different stakeholders. Step 4 relates to knowledge dissemination as information is collected, then distributed, for the incremental improvement of the overall system.
With the derivation of generic design principles for SIS complete, we now seek to validate them by using them to highlight key parameters in the development of a framework for the wireless grid.
Part II: Case-Example: Wireless Grid
Framework for the Wireless Grid
The wireless grid is an augmentation or extension of the wired grid that enables the interaction and sharing of resources across heterogeneous wireless devices. The wireless grid is evolving with input from millions of people on different continents, working for different organizations, and is already suffering from heterogeneous design standards. As such, the wireless grid typifies an emerging software-intensive system that is ripe for the creation of a comprehensive design framework, and should benefit from the application of the core design principles outlined above.
The wireless grid embodies a set of characteristics that distinguish it from the wired grid and other software-intensive systems, including:
• Users have increased temporal and geographic freedom
• Users/participants are inherently transitory in nature
• Bandwidth has an inverse relationship with geographic location
• Users lack incentives for sharing resources
• Security is not implemented by physical connectedness
• Etc.
These characteristics, be they advantages or limitations, shape the application space for wireless grids. Increases in wireless bandwidth, combined with an increasing proliferation of ever cheaper and more powerful wireless devices, are fueling a proliferation of wireless grid applications.[4] Intelligent sensory networks for security, active-tag RFID networks for inventory control, IP telephony and distributed wireless computing are just a few of the applications that are currently being explored. The number of devices and the amount and complexity of software that are being added to the wireless grid are increasing rapidly. As the wireless grid becomes more robust, new applications are sure to emerge.
Given the application space for wireless grids, behavior parameters must be defined which take into consideration the relevant characteristics of the wireless grid. These parameters must define the appropriate behavior for any sub-component software that is developed for the wireless grid. When developers are writing standards for wireless grid software, each of these behavior parameters must be addressed.
The focus on Part II will center on illustrating the efficacy of core framework design principles by highlighting key issues to consider when creating a framework for writing software standards for the wireless grid. The framework will be outlined in light of the core principles derived above, and will highlight a set of behavior parameters for wireless grids. The intent is to identify the key issues that must be embodied in a framework for the wireless grid such that any design standard that is developed for sub components of the wireless grid, whether it is a mail protocol or a sensory network protocol, will produce ready-to-market products. We will begin by elaborating on the background of wireless grid computing, and then apply the generic design principles to create a framework for the wireless grids.
Background on Wireless Grid Computing
Wired Grid Computing:
Definition: Wired grid computing is characterized by a collection of wired computing devices that share resources including processing power, data storage, software, sensors and instruments. A wired grid allows for access to increased computing power and resource sharing within a corporate or temporal boundary with tremendous potential impact on numerous aspects of society.
Simply stated, a wired grid is composed of a collection of heterogeneous systems such as workstations, servers, computers, etc. that, by virtue of being part of the system, allow access to computing power, data sharing, memory use, software applications, hardware peripherals, etc. A wired grid is only bound by its physical reach as a system, rather than the reach of one component on the system. Thus, a wired grid lends to information sharing and recourse allocation otherwise unavailable to individual systems. A key element is the dynamic nature of the wired gird, whereby resources can be allocated or requested on demand.
A wired grid, however, can only reach its potential in terms of resource sharing and computing power if standards and protocols are, not only developed, but implemented throughout the grid. In a private, wired grid system, standards are much easier to implement and adhere to. It is in a public grid system, such as the World Wide Web, that standards and protocols such as SMTP become critical to the success of the grid.
Organizations such as the Globus Project and the Global Grid Forum have been established to promote standards and protocols within and between wired grids to enable interoperability. In the same manner than the wired telephone grid has become a standard, revolutionary system, so to will the wired computing grid system as it continues to develop.
Demand for Grid Computing:
Research and development today relies on cooperation and the sharing of resources. Scientists and technologists can no longer ignore the benefits associated with the pooling of resources, given the affordability of wired systems. A secure grid system allows researchers to share across organizations, geographies and private networks, thereby realizing the potential benefits of knowledge transfer. Access to expensive software or hardware that is difficult to transfer on an as needed basis is critical to science and development.
The demand for wired computational grids can be summarized in two main areas. These grid systems allow for the resource sharing and collaboration among researchers and scientists while also giving researchers and other users access to expensive software and hardware on an as needed basis.
A Case Study: The Telephony System:
The wired grid that is the telephone system in the United States serves as an example of the benefits of a grid system with universal standards and protocols. The system boasts the following successful characteristics:
Standards: Each new house built is wired with the same socket and copper wire standards. Additionally, the analog data transition protocol of the telephone system is uniform throughout. Provided a new user knows another user’s standardized area code and unique six digit telephone number, a telephone connection can be made.
Access: A new copper line can be laid and a new user added giving that user instant access to anyone on the telephone grid. There are no restrictions or access points limiting users or capabilities. While it is generally accepted that a phone system is available in urban areas and most rural areas, this is, in fact, quite remarkable.
Reliability: The system does not rely on every user having a working connection for the system to work. If a particular user’s telephone line is damaged, it does not affect everyone else’s ability to contact other users on the grid. Additionally, the telephony grid is independent of the power grid, which minimizes its exposure to power outages. While reliable, the system does not run without interruptions or overflow in peak moments. However, generally the system can support the necessary capacity and reliability levels customers demand.
Affordability: The cost of an additional user is a positive network externality. The more users on the system, the cheaper the wired lines between neighborhoods and cities become. The scalability factor of the system brings down the marginal cost per user to an affordable level. Thus, most households in the country have at least one phone line.
Thus, the above telephony grid characteristics display the impact and reach of a standardized, expansive wired grid. It is important to highlight the network externality effect mentioned above. This factor not only affects the system’s affordability to but promotes its general use. The more users on the system, the greater the reach of the system, the more likely other users will adopt it and the cheaper the cost of an incremental user. Without such standards and protocols, the wired telephony system would not have impacted our daily habits as it has.
Wired Computing Grid Components:
It is the various resources and components of a wired computing grid that in aggregate lead to a powerful system.
Computing Power: Computers, servers and other such access points contain their own proprietary computing power, of which any available capacity can be shared on the computing grid. This computing power refers specifically to the processing speed and capability of the machine. A computing grid can take advantage of this resource in one of two ways: (1) accessing complex software applications remotely from an end user node that does not have the processing power locally and (2) distributing the processing transactions over various computational machines to accomplish the task at hand. The second point is particularly effective for large applications that process different transactions in components that are easily broken apart.
Memory and Storage: Memory and storage can be categorized into two distinct areas: (1) memory that is used during processing of data and (2) storage characteristic of a more permanent data collection and preservation. Both types can be shared over a wired computing grid and offer distinct advantages. The sharing or distribution of processing memory frees up the local machine to perform more tasks at a quicker pace. The sharing of more permanent data storage is effective both from a capacity and redundancy perspective. Users are able to access greater amounts of storage space when necessary on an as needed basis. In this scenario, a data intensive file could still be accessed from a local machine that may not have the storage necessary to transfer the entire file, but instead elects to access only the necessary bits of information. In regard to redundancy, measures can be taken to back up data at various different locations on the grid, minimizing the exposure to a local outage or loss of data.
Bandwidth: A key component of a computing grid is the availability of bandwidth and the transferability of data. The grid has the ability to aggregate bandwidth demand, ensuring that capacity is sufficient. Within the grid, this is important for the facilitation of commands, data and jobs requested of resources spread throughout the grid. Externally, an end user must be able to communicate with those outside the grid without bandwidth limitation. Routing within the grid and access points outside the grid become critical factors for the success of free flowing data.
Software/Hardware: A major advantage of a computing grid system is the ability to access software and hardware that is prohibitively expensive for an individual end user to purchase. Frequency of use and the mission critical nature of the application or hardware in question factor into the relative demand for the resource. Licensing of software protects the application’s developers from extremely inexpensive access within a computing grid, but, ideally, the optimal is full capacity use of the licenses on hand rather than the partial use of a larger number of licenses spread across a group of users. Installation and maintenance costs are also vastly reduced, as applications and hardware are centrally or conveniently located. This is particularly important for specialized hardware that is either very bulky and heavy or expensive. Software upgrades become much easier and timely as a result.
Resource Scheduling and Allocation: The management of the computing grid, from job scheduling to resource identification, is both complex and critical for the success of the system. The grid’s job scheduler must be able to prioritize jobs in terms of importance and resource requirements. This includes identifying the appropriate machine(s) to tap into, communicating the job to that machine and monitoring its progress to completion or until the job is required to be transferred elsewhere in the grid.
Resource Identification: Resource identification is also a critical component, given that in a large grid it becomes impossible for any one user to be aware of the various resources available at any given time. As new machines are added to or leave the system, the job scheduler must be able to identify these resources, quantify them and communicate effectively. The advance scheduling or reservation of resources is also a component of a wired grid’s flexibility in an environment when business factors such as cost and quotas on resources differ across business units. With these various system scheduling and monitoring, service quality and access can be ensured to users.
Wireless Grid Computing:
Wireless grid computing is an augmentation or extension of the wired grid that enables the interaction and sharing of resources across heterogeneous wireless devices. Wireless technology is slowly become pervasive in many aspects of society and will continue to do so, providing opportunity to leverage grid computing in a far more impacting manner. The popularization of cellular telephones, personal digital assistants (PDAs) and other such handheld devices has led to the potential for a realistic and cost effective deployment of wireless grids. Given the minature nature of popular wireless devices, the advantages of grid computing becomes even more important.
The natural progression from a wired computer grid to a wireless grid comes with new challenges and opportunities. Two factors will drive this movement: (1) the availability of powerful microprocessors and software applications now being fitted into handhelds and laptops and (2) the ability to access and share resources remotely without the necessity of being wired to the computing grid. As an example, a salesman has the ability to access complex customer relationship management software applications remotely during a sales call. Inputs to the system are also feasible, giving the rest of the grid users the benefit of real time data.
Design Framework: Wireless Grid Principles
Effectively integrating heterogeneous wireless devices into a wireless grid involves several broad challenges. Given the importance of standards and protocols to the success of other grids such as the telephone system and the World Wide Web, it is clear that the need for such standards be developed to address characteristics unique to a wireless grid network.
Thus, a comprehensive design framework centered on the standardized principles is required to define a software-intensive wireless grid. Specifically, aspects regarding the system’s environment, process design, process realization, and the eventual running of the system must be addressed. Characteristics common to other systems, such as wired grids, are also highlighted.
Environment: Characteristics of a wireless grid’s environment will include existing applications, information sources, people, services and processes. A wireless grid will be required to interact with both existing software applications and new applications that could integrate a system across inter-company grids.
The key determinant is the level of and existence of users from multiple groups or companies. This will determine the quantity and level of proprietary software systems that make up a single grid. In the event that a wireless grid seeks to incorporate multiple companies, such as a manufacturer’s grid that includes suppliers and distributors, a mapping and integration of existing technologies is necessary. Additionally, the use of the grid by multiple firms will require service level agreements and maintenance cost sharing.
Standard process and services will have to be defined and negotiated across all parties. Within a single organization, similar definitions and negotiations will be required in the event that multiple business units with separate profit and loss statements are involved. Security and access to differing constituents must also be considered. Agent autonomy and collaboration must be identified and addressed. Incentives aligned to capitalize on the potential need to share resources should be created across multiple constituents. This will not only encourage use of the wireless grid but also optimize resource allocation.
Lastly, workflow mapping and organizational process optimization is necessary to identify key process flows. This business rule mapping must be done in a centralized, all inclusive manner to identify all relevant stakeholders to determine how data is created, used and transmitted.
Process Design: A grid will take into account various issues specific to points of entry into a wireless grid, sequencing specification, property specifications, security concerns and functionality and services to be offered.
Specifically, design of sub-component applications must take into consideration the dynamic and disparate location of data. Not only is the data highly distributed, but it moves and changes remotely as end users move or send data from point to point. Access policies and variations must be built into the system to allow for policy changes or restrictions based on location or data sensitivity.
Design must also take into account the dynamic level of bandwidth in a given wireless grid as end users enter and leave the system. The unreliability and limited levels of bandwidth available to wireless devices can pose a serious limitation to a grid system. While wireless services delivered on technologies such as 802.11b continue to gain popularity and bandwidth, the challenge will remain in the short term.
Data storage, to a lesser extent, could pose a challenge for an end user. A wireless system could itself have considerable storage resources, but the bottleneck might develop at the local handheld device.
Resource or, end user, additions and subtractions, given the nature of a wireless grid, will continually change the components of the wireless grid network. This requires the grid the ability to adjust and be flexible to the constant changing resource base, while maintaining an inventory of available resources.
Process Realization: A key component to proper design and implementation is choosing the appropriate programming paradigm. As previously stated, three alternatives can be considered:
Event-driven approach: The movement and/or changing of data at any point in the grid might trigger the system to react accordingly to update or document the change. Given the remote and disparate characteristics of a wireless grid, an event driven approach may require excessively high levels of transactions and monitoring.
Control-driven approach: Under this method, a wireless grid may choose to update or synchronize data systematically at a specified time. This may delay real time availability of data, but may be useful in systems where real time data is not as critical to the functionality of the system.
Metadata-driven approach: Here, the system relies on a generic workflow that relies on metadata to trigger updates or other such transactions. This metadata describes the processes appropriate given the circumstances.
Running of System: Maintenance of the wireless grid is critical due to the dynamic nature of the environment. Monitoring of the grid’s uptime and end users must be in place to identify holes and deficiencies. A central management and administration unit must be created to add users to the system, monitor payment or compensation for resource usage and for identification of necessary upgrades and changes. In addition to traditional requirements of running a wired grid, a wireless system will require three additional key elements:
Computing power: While computing power has increased tremendously in wireless devices over the last several years, there are still limitations to the processing power such units posses. Certain functionality or applications that work well on a wired computer grid might prove too slow or not feasible on a wireless grid.
Battery life: The constant need to share resources across the grid threatens to deplete a local device’s battery life. Currently, handheld devices already suffer from battery life constraints when being used strictly when needed.
Additional Software: As the system is implemented, new software applications could potentially arise in the following areas: servers, middleware platforms, and hardware systems for end users. Applications will be required to synthesize data to address the unique characteristics of a wireless grid as described above. An exhaustive assessment of each unique wireless grid characteristic must be conducted for each potential application prior to development.
Commonalities Across Wired and Wireless Grids: A wireless grid overlaps considerably with characteristics of other systems, such as a wired grid. These characteristics and standards must be identified and leveraged. A few such areas have been described below:
Data Transmission: Within the design framework, the mode in which data is transmitted throughout the grid (TCP/IP as an example) remains constant. Packets of data will continue to move in an orderly fashion throughout the system as they would in a wired grid.
Resource Measurement Units: Once new end users are added, the means by which resources are communicated remains standard. Memory storage units (bites), computing power (Mega Hertz), battery power (Kilowatts) and other such resource measurements remain the constant.
Data Encryption: Wireless girds will continue to employ technologies such as Secure Socket Layer and Certificates to protect and secure data transmission.
Browser Medium: Wireless units will continue to support applications such as HTML and XML as standards for viewing and displaying text to the end user. While new unique wireless standards for handhelds may arise, the basic underlying text language will continue to operate.
Behavior Parameters:
As an example behavior parameters to be addressed in Process Realization, Operating System (OS) software in a wireless grid for use on a handheld must address some of the following areas:
1. Identification of Participating Devices: The OS must consistently review existing and new resources available locally. This includes a routine verification of existing devices and their available resources as well as a track record for participation in the grid. A grading scale for device availability must be developed to track the most reliable devices to build confidence and predictability into the system. Notification of grid entry or exit must also be made available.
2. Identification of Available Resources: Upon recognition of a new device, the OS system must have a systematic approach to identifying and documenting the available resources. Those devices with a consistent track record of available resources should be noted as more reliable. Such a tracking and rating system would increase predictability of resource availability and of grid stability as a whole.
3. Quantification of Resource Needs: Prior to conducting a transaction, the OS must notify the end user of the required resources for the transaction. This minimizes resource allocation to non-critical or time insensitive transactions during peak usage times.
4. Authentication of Available Resources: A systematic authentication of new devices must be conducted for several reasons: (1) this serves to identify and quantify returning devices more quickly and with greater ease, (2) fraudulent users will not be given access to a secure network, and (3) devices and resources that may be faulty or incorrectly identified would have a secondary means of verification.
5. Ensuring Resource Participation: A systematic incentive scheme must be developed for a particular wireless grid to ensure participation. Such an incentive scheme should take resource prioritization and frequency of availability into account. Each resource must be quantified, documented and prioritized in terms of importance to the wireless grid and the individual device. Particular attention must be paid to resources shared over handheld devices that might be otherwise limited by battery life or processing power.
6. Resource Prioritization: Each wireless grid must label and rate each resources’ effectiveness, usefulness to other wireless grid users and mission critical role. This allows the end user to instruct the OS to execute transactions only when the required resources are available and reliable.
7. Defining Quality of Service: Users should expect standardized quality of service when participating in a wireless grid network. Issues such as latency, signal strength, speed of identification (both for participating devices and available resources) and security should all be considered.
8. Managing Redundancy: Within the wireless grid, standard architectures for managing redundancy, both for data as well as connectivity, must be developed to minimize disruptions to users when other participating devices exit the grid.
9. Scalability - Bandwidth vs. Geographic Reach: As with all wireless networks, the tradeoff between the geographic reach of the network and the available bandwidth must be considered and optimized.
10. Security - Network Access Control: Access to the wireless grid cannot be controlled by access to physical ports. As such, the inherent danger from malicious participants is much greater. Standards must be created that balance the tradeoff between ease of access for valid participants, and safety from malicious hackers.
11. Application and User Prioritization: The wireless grid will transport a variety of data types for multitude of applications. Some applications, such as 911 emergency location services, must be given priority over others. Standards must be developed such that any participating device enables resource participation that is consistent with application and user prioritization.
12. Accounting & Billing of Services: Given the inherent transient nature of users in the wireless grid environment, new mechanisms for accounting and billing must be developed, and then standardized for all participating devices.
Challenges
One challenge faced when employing the generic design principles is how to accommodate significant advances in technology. Often times, large-scale SIS evolve over an extended period of time. The internet, for example, has been evolving since its original conception (as the ARPANET) in 1969. Over such a period, technology is likely to change significantly. As a result, the unique characteristics of the system, as well as the application space, are likely to change significantly. Thus, the framework would have to be revised at the pace of large breakthroughs in technology.
A second challenge faced by the adoption of generic design principles is that it has the potential to add bureaucracy and slow the development process. The strongest argument that large vendors always have for establishing de facto standards – and therefore its own control of their key customers – is that they can move more quickly to provide the facilities that enterprises really need. They claim, for example, that the industry bodies governing WLANs, the IEEE, IETF and the Wi-Fi Alliance, don’t focus specifically on enterprise needs, nor do they move rapidly enough for corporations that are looking to adapt their business models quickly to cope with new business.
References
1. ITEA Office Association. Technology Roadmap on Software Intensive Systems, March 2001
2. R.D. Sriram. Distributed & Integrated Collaborative Engineering Design, Sarven Publishers, 2000
3. S.Seshasai, A.Gupta. A Knowledge Based Approach to Facilitate Engineering Design, MIT Sloan School of Management, Working Paper 4381-02, 2002
4. M. Gaynor, J. Freedman, L. W.McKnight, J. Hwang, Wireless Grid and Virtual Markets , August 2, 2003.
5. Wireless Watch, IETF to cramp Cisco's WLAN empire?, The Register, November 2003
6. Computer Magazine, 2004
7. C.C.Wei, P.H. Liu and C.B. Chen, An automated system for product specification and design. Assembly Automation: Volume 20: Number 3, 2000 pp 225-232. MCB University Press
8. A. Gupta, A Four-Faceted Knowledge-Based Approach for Surmounting Borders, Journal of Knowledge Management, Vol. 5, No. 4, December 2001.
9. Ramakrishnan, Raghu, Phil Bernstein, and Alon Halevy, Workshop on the Science of Design for Information Systems, Report of NSF Workshop (SDIS2003), Seattle, Washington, September 16-17, 2003
10. Sze Hwei Ong (Osh), Grid Computing: Business and Policy Implications, MS Thesis September 2003.
11. H. Tian, Grid Computing as an Integrating Force in Virtual Enterprises, MS Thesis June 2003.
12. M. Srimadh: Strategies for Providing Students and Researchers in Developing Environments Access to Industry Standard Hardware and Software Technologies , MS Thesis May 2003.
13. H. Junseok, P. Aravamudham, Proxy-based Middleware Services for Peer-to-Peer Computing in Virtually Clustered Wireless Grid Networks, 2003.
14. L. McKnight, M. Gaynor, Implications for Inter-System Mobility Management of Wireless GRID Networks and Virtual Markets for Sharing Resources in Dynamic Ad-hoc Environments, June, 2003
15. L. McKnight, M. Gaynor, H. Junseok, J. Park, H. Chang, A. Gupta, B. Plattner, J. Howison, P. Aravamudham, O. Uzuner, B. Chen, Wireless Grid Issues, June, 2003
16. L. McKnight, J. Howison, Towards a Sharing Protocol for Wireless Grids, August, 2003.
-----------------------
[1] Consider, for example, the development of the Netscape and Internet Explorer web browsers, which are sub-components of the internet, which is a SIS
-----------------------
Requirements& Assets
Refine
Update
Assets
Update
Assets
Deploy
Implement
Redesign
Tune
Running
System
Realization
Design
Environment
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- how do i sell stocks i own
- i ask or i asked
- synonyms for i believe or i think
- i choose or i chose
- i think i found the one
- i bet or i ll bet
- humss cw mpig i 11 humss cw mpig i 12 humss cw mpig i 13
- i took a deep breath and listened to the old brag of my heart i am i am i am
- i feel like the things i should say are the things i can t say
- i have loved words and i have hated them and i hope i have made them right
- i looked and looked at her and i knew as clearly as i know th
- i e 577 02 9006 yah shua 577 02 9006 holy spirit i i e yah shu