Building quality programs based on workforce skills, such as technical writing, is considered an effective means for recruitment and retention in higher education, especially in the areas of science, technology, engineering and math. In computer science, technical writing can be especially challenging due to the complexity of technical documents. This work incorporated the use of professional expression activities in the computer science graduate curriculum at Nova Southeastern University. Additionally, the results support continual building of the quality of the Master of Science in Computer Science and technical writing in the discipline.
Time-series analysis has been a recognized method of prediction for years. In computing, prediction has revolved around scheduling problems and is used in computing time to manage resources in the short-term. Long-term prediction using these methods has proven to be problematic and of little use. However, with the rise of Information Technology (IT) and the need to manage resources in a business atmosphere, the need to provide long-term resource management remains a difficult problem without a good solution. At this time, IT professionals use experience and their best judgment to manage equipment and frequently purchase systems based on maximum requirements. The need to take the knowledge gained by computer science in scheduling now needs to be expanded into the realm of IT to facilitate a more economical use of resource availability. This work is just the first step and provides one path to accomplishing long-term prediction in computing.
Businesses have used forecasting to address inventory levels and staffing needs. By understanding long-term utilization of resources, businesses have been able to optimize the costs associated with those resources. To date, computing has used forecasting to address short-term needs for services like scheduling and load balancing. This paper presents a portion of a larger study that was conducted to determine if long-term prediction of a server's resources is possible. The result of that larger study indicates that server resources exhibit long-term predictability, opening the possibility for future research to improve business use of servers.
Ajax-enabled web applications represent a new breed of rich and interactive websites. Ajax prevents the reloading of entire web pages by transmitting small amounts of asynchronous data in the background, thereby allowing users to interact directly with a website without waiting for page reloads. This method masks the round trip and transmission latency of network connections. In response, attempts have been made to identify those factors that are associated with Ajax performance. Past research has studied Ajax performance and found varying degrees of performance improvement when compared with the traditional HTML request-response model. Current approaches measure the relative performance of Ajax applications against an equivalent non-Ajax application based on response size, service times, traffic patterns, response times, total byte size, and latency. Notable limitations with current approaches include the lack of a general measurement framework and empirical research examining end-to-end Ajax performance over high-delay bandwidth networks. As the use of Ajax increases, the development of a general framework for measuring end-to-end Ajax performance is warranted to better understand Ajax performance in high-delay bandwidth networks. This dissertation improves upon previous work in this field by introducing a measurement framework to facilitate the end-to-end measurement of Ajax performance in a satellite environment. This investigation's artifacts include the framework design and a proof of concept designed to validate the framework by using it to measure response time using application-level traces of actual HTTP request-response and XHR calls. This research included the development of a prototype used in conjunction with an active probing measurement tool to measure and compare overall response time of XHR and HTTP calls. The prototype was used in the proof of concept to evaluate the HTTP and XHR calls across an emulated satellite network. Subsequently, a statistical analysis was performed on the dataset collected from the proof of concept. The conclusion supported by a paired t-test indicated that Ajax performs better than HTML in two loss rates. In particular, use of DOM-based updates coupled with the XHR call in an Ajax application results in both lower mean response/request size, and lower mean user experience time. Recommendations for future research include the utilization of the framework to explore and compare additional Ajax components and/or explore the impacts of the existing work in different satellite environments.
Short-term prediction has been established in computing as a mechanism for improving services. Long-term prediction has not been pursued because attempts to use multiple steps to extend short-term predictions have been shown to become less accurate the further into the future the prediction is extended. In each case, the researchers used fine grained sampling for the analysis. This study used course sampling of ten-second intervals and then aggregated them into periods of minutes, fifteen-minutes, and hours. Each of the aggregates was used to calculate the predictions for Hourly, Daily, and Weekly cycles, determine the error rate of the prediction, and establish a confidence interval of 80%. The results then were evaluated to identify the effectiveness of long term prediction and the best cycle to predict the resource utilization most accurately.
Computing system power consumption is a concern as it has financial and environmental implications. These concerns will increase in the future due to the current trends in data growth, information availability requirements, and increases in the cost of energy. Data growth is compounded daily because of the accessibility of portable devices, increased connectivity to the Internet, and a trend toward storing information electronically. These three factors also result in an increased demand for the data to be available for access at all times which results in more electronic devices requiring power. As more electricity is required the overall cost of energy increases due to demand and limited resource availability. The environment also suffers as most electricity is generated from fossil fuels which increase emission of carbon dioxide into the atmosphere. In order to reduce the amount of energy required while maintaining data availability researchers have focused on changing how data is accessed from hard drives. Hard drives have been found to consume 10 to 86 percent of a system's energy. Through changing the way data is accessed by implementing multi speed hard drives, algorithms that prefetch, cache, and batch data requests, or by implementing flash drive caches researchers have been able to reduce the energy required from hard drive operation. However, these approaches often result in reduced I/O performance or reduced data availability. This dissertation provides a new method of reducing hard drive energy consumption by implementing a prefetching technique that predicts a chain of future requests based upon previous request observations. The files to be prefetched are given to a caching system which uses a flash memory device for caching. This caching system implements energy sensitive algorithms to optimize the value of files stored in the flash memory device. Through prefetching files the hard drive on a system can be placed in a low power sleep state. This results in reduced power consumption while providing high I/O performance and data availability. Analysis of simulator results confirmed that this new method increased I/O performance and data availability over previous studies while also providing a higher level of energy savings. Out of 30 scenarios, the new method displayed better energy savings in 26 scenarios and better performance in all 30 scenarios over previous studies. The new method also displayed it could achieve results of 50.9 percent less time and 34.6 percent less energy for a workload over previous methodologies.
Research into predicting long-term resource needs has been faced with a very difficult problem of extending the accuracy period beyond the immediate future. Business forecasting has overcome this limitation by successfully incorporating the concept of human interaction as the basis of prediction patterns at the hourly, daily, weekly, monthly, and yearly time frames. Computer resource utilization is also impacted by human interaction therefore influencing research into predictability of resource usage based on human access patterns. Emulated human web server access data was captured in a feasibility study that used time series analysis to predict future resource usage. For prediction beyond several minutes, results indicate that the majority of projected resource usage was within an 80% confidence level thus supporting the foundation of future resource prediction work in this area.
Content Delivery Networks download performance is dependent on byte-based or time-based switching algorithms. To overcome an extended relationship with a poor performing server, a client based choking algorithm was developed that enables clients to preemptively depart poor performing servers to decrease download duration. The choking algorithm employees a client based choke threshold that enables individual clients to determine when a server's performance degrades to an unacceptable level. Two separate experiments were run through a peer-to-peer simulator: single-client and multi-client scenarios. Temporal fluctuations were incorporated as well as a stochastic AR-1 random process to closely mimic expected server loads. In both instances, the choking algorithm reduces download duration.
Software testing is one of the most time consuming activities in the software development cycle. Current research suggests that aspect-oriented programming (AOP) can enhance testing and has the potential to be more effective than macros or test interfaces. There are two major weaknesses when using aspects which are the inability of aspect code to be woven at all execution points and the lack of direct support for interweaving aspects with other aspects. In this paper we address the two major weaknesses and provide a means to overcome them. In addition, current research has focused only on using aspects to test functional requirements (FRs) and paid little attention to nonfunctional requirements (NFRs). In this paper we perform a feasibility study of using aspects to test NFRs which is based on two categorizations of NFRs. The first categorization splits NFRs into four types namely functionally restrictive, additive restrictive, policy restrictive, and architecturally restrictive and the second categorization splits the NFRs into two types: operational and nonoperational. These categorizations would serve as an initial point for developing frameworks or methodologies for testing NFRs with aspects.
Nonfunctional requirements (NFR) must be addressed early in the software development cycle to avoid the cost of revisiting those requirements or re-factoring at the later stages of the development cycle. Methods and frameworks that identify and incorporate NFR at each stage of development cycle reduce this cost. The methodology used in this work for refining and reasoning about NFR is based on the NFR framework. This work identifies four NFR types and provides the methodology for developing domain specific NFR by using techniques for converting the requirements into design artifacts per NFR type. The contribution is four NFR types: Functionally Restrictive, Additive Restrictive, Policy Restrictive, and Architecture Restrictive and the software engineering process that provides specific refinements that result in unique architectural and design artifacts. By applying the same functional requirement focus to the different NFR domains it enhances the development process and promotes software quality attributes such as composability, maintainability, evolvability, and traceability.
Messaging is a critical prerequisite for the scalability, dependability, and reliability of distributed services. A scalable messaging platform accommodates multiple diverse clients and adapts seamlessly within a heterogeneous environment. A reliable and dependable messaging scheme also offers a specific level of guarantee for the delivery of messages to legitimate services. Application services rely on message transport intermediaries to preserve loosely coupled message communication described as Distributed Communication Services (DCS). DCS provides asynchronous and publish/subscribe communication for multiple dispersed services. Research in this area has exposed reliability and dependability problems with the publisher/subscriber architecture under Denial of Service (DoS) and/or Distributed Denial of Service (DDoS) attacks. To support critical operations across distributed environments, the existing DCS paradigm needs to be extended to assure survivability against DoS/DDoS attacks.
Ad hoc networks are multi-hop wireless networks that lack an established infrastructure, have a scarcity of resources, and exist in a dynamic topology. The lack of an established infrastructure places great responsibility on each node within these networks. A dynamic topology requires an overall network view to be presented to each node for making routing path decisions. Unfortunately, these characteristics render conventional routing protocols inappropriate for use in an ad hoc environment. The scarcity of resources in an ad hoc network makes power conservation a major concern. Research shows that although hurdles exist, ad hoc networks have become popular due to their flexibility. This research specifically applied energy and topology information to routing for the purpose of advancing network communication in order to improve the reliability of a network that had power constraints. Applying environmental topological factors and the specific characteristics of power-constrained devices into an energy management system (EMAR) improved the reliability of the path for distributed communication in these types of networks, resulting in the advancement of network communications in dynamic self-starting networks.
The support of both the academic and practical application of health sciences highlights the challenge of the Internet 2 (I2) health sciences initiative (I2HSI). This effort involves both the formulation of applications and supporting technologies as well as guidelines for their use in the area of health sciences. Key elements of the I2HSI include the use of visualization, collaboration, medical informatics, telemedicine, and educational tools that support the field of health sciences. Specific medical middleware (MedMid) and virtual reality techniques provide a technology base that enable educators and practitioners to advance the field of health sciences. The I2HSI continues to advance collaboration in distributed health science environments with a focus on security, performance, and policy.
The Internet 2 (I2) endeavor has made great strides towards the enhancement of educational and research collaboration among it members. An advanced communication and system infrastructure has been created by the various I2 initiatives. The Distributed Storage Infrastructure (DSI) project is another example of the I2 efforts to enable remote collaboration among the research and educational community. This effort extends the domain of a distributed high-speed computing environment to enable seamless resource sharing and access. The DSI effort has developed a flexible infrastructure that supports the sharing of educational content to disperse locations. Specific DSI characteristics include a focus on minimizing the cost of data sharing and an approach to policy-based resource management.
Collaboration among universities, businesses, and the US government is essential to the success of the Internet 2 Initiative. However, face-to-face meetings are not always possible. The Access Grid provides the Internet 2 with the resources to enable remote collaboration among the research community. This effort extends the Alliance Computational Grid, a distributed high-speed computing environment that supports seamless resource integration and access (mcRae, 1997). The Access Grid effort has advanced audio and video applications and has increased Internet 2 collaboration.
Partnerships among the educational community provide the substance and catalyst for future generations of teachers and students. The Internet 2 Commons provides a collaboration framework for the advancement of research and education. This effort incorporates technological advancements in support of research and pedagogical activities. Available to Internet 2 members are advanced networking and application services, which include collaborative data services and videoconferencing.
Partnerships involving universities, businesses, and the US government form the backbone of the Internet 2 community. These members have experienced the innovative spirit and outcomes of advanced networking and applications. The K-20 Initiative extends the Internet 2 to the educational sectors outside the Internet 2 community. This effort provides the vehicle for distributing Internet 2 developments to nonmember environments while gaining the perspective of this environment. The target groups are K-12, community colleges, universities, libraries, and museums. This effort has pushed advanced networking and applications to new heights and has increased educational collaboration.