Cloud Computing is the most attracting keyword for distributed processing using networking, High Performance Computing Infrastructure (HPCI), and Web technologies on the Internet of recent years. Cloud users can get scalable services remotely through the Internet. There are various kind of cloud services in the world, the services provided to users and technologies deployed in the clouds are of great variety. Especially in cloud services the service, called Infrastructure as a Service (IaaS), provides Virtual Machine (VM) to users by the minute or by the amount. The service are utilized as an infrastructure for large scale and busy web sites and applications. In this paper the structure and required element technologies of common IaaS are described, then the technologies of management software for IaaS clouds are also described. Moreover, the case example of composing a large scale distributed IaaS cloud is described. Through the experience, this paper shows the current status of IaaS clouds and problems for more reliability.
Maebashi Kyoai Gakuen College has been running a Ubiquitous Campus network since April 2010. As a part of the Ubiquitous Campus Project, Maebashi Kyoai Gakuen College has distributed an iPod touch to every student of the college and an iPad or iPod touch to every member of faculty. The Ubiquitous Campus Network not only includes mobile devices but also several in-campus information services in its wireless LAN environment. Based on the experience of operating the Ubiquitous Campus environment over the course of one year; in this paper, we describe several merits, demerits and issues to be solved.
Internet is by definition a network of networks, where multiple organizations are connected each other and autonomously operates their networks. Inherently, there might be a gap between global optimum for the Internet and local optimum for each autonomous network, when each network is operated and controlled seeking its own benefit. In this paper, we introduce some examples of this dilemma occurred in the Internet. In addition, we also introduce a mechanism design approach to solve the dilemma, specifically, an incentive problem in introducing the outbound filtering of unwanted traffic by introducing an inter-AS charging mechanism.
This is an introductory exposition on computational complexity theory. Computational complexity theory is one field of computer science and it is a basis of the design and analysis of algorithms. For explaining this field to experts in software sciences, I would like to focus on some typical approach that has been taken by researchers in this field to investigate and show “computational hardness and hardness relationships.”
Requirements engineering is a collection of technologies to define the external specifications that are behaviors and constraints of software system and the defined requirements have to reflect the meaning and value of our real world. This article explains a wide variety of the requirements engineering technologies from three general viewpoints: eliciting exact requirements, coping with volatility of requirements and dealing with variety among perspectives on a system.
Game theory is a mathematical study of interaction among rational players. This tutorial presents an overview of noncooperative game theory, specifically games in normal-form. In noncooperative game theory in normal-form, multiple players independently and simultaneously select their actions so as to maximize their own utilities. The obtained utility of a player is determined by combination of her own action and the actions of other players. In noncooperative games, various equilibrium concepts have been developed to predict the result of a game. First, we introduce basic notations and equilibrium concepts in noncoperative games. If we explicitly represent a normal form game, the size of the representation grows exponentially as the number of players increases. Thus, we explain the algorithms/computational costs to efficiently find Nash equilibria in graphical games and congestion games, which have been proposed as concise representation schema.
The relationships between interconnected autonomous systems (ASes) on the Internet are categorized into two major types: transit and peering. We propose a method to estimate AS relationships by comparing differences in AS network size called magnitude that is quantified by recursively analyzing an AS adjacency matrix converted from a spanning subgraph of AS-level Internet topology. The contributions of this paper are two-folds: 1) The proposed method outperforms the existing methods in the inference of AS relationships, especially peering links, with a smaller dataset. 2) The proposed method enables us to estimate AS relationships of invisible links from a set of quantified AS magnitude when they become visible because the magnitude of every AS is already quantified from a spanning subgraph.
For an efficient contents sharing by a lot of network users, various kinds of content replication strategies in pure Peer-to-Peer (P2P) networks have been researched recently. Although the total amount of consumed storage capacity tends to become enlarged in P2P information sharing systems in general, reducing storage resource consumption is very important for diminishing the total cost of contents sharing especially in hybrid P2P, because an index server can readily identify the shared content items' locations and that is why the network load for contents searching is much lower than that in pure P2P networks and storage cost sometimes becomes dominant part of the total cost. From this point of view, we have proposed some effective content replication strategies in hybrid P2P, however, the effectiveness of them in the case where the capacity of each replica varies by its original content item has not investigated sufficiently. There existed a problem of users' convenience degradation as well caused by unavoidable eliminations of some content items in the network because there is a limitation of the peers' storage capacities in reality. In order to solve the problem, we also have proposed an improved scheme which repeats content relocations, however, the effectiveness of the relocations has not clearly been verified yet. Accordingly in this paper, we evaluate the replication scheme which tries to relocate overflowed content items to other peers repeatedly in the condition that each capacity of content item varies, and at the same time, we introduce a mechanism to control the number of times of content relocations and discuss the effectiveness of the wasted processes' reduction.
Overlay Weaver, a practical middleware for constructing overlay networks, implements functionalities for the application layer multicast (ALM) based on the Scribe algorithm of M. Castro and P. Druschel. However, there has been a problem of restricted applicability in Scribe and Overlay Weaver resulted from the non-existence of an established method to acquire archives for each multicast group. In this paper, we resolve this problem by presenting a new method for acquiring archives and describing its implementation on top of Overlay Weaver. We report on its practical performance based on simulation for a large-scale network. Finally, we show how the new functionality was successfully exploited in Uenew, a P2P-network application for the dynamic, archive-based communication among Web users.
I implemented a collaboration system “qwikWeb” which integrated mailing lists and a Wiki system. The system uses E-mail as daily communication media and a Wiki system for collaboration. The users can collect and manage knowledge seamlessly. In this paper, I describe background of collaboration system, design choice and implementation.
This paper is to propose “MyCloud”, a high-performance and secure distributed storage system. In recent years, Cloud Computing plays an ever-increasing role around the world. Although the service is useful, there are three problems; latency, non-availability and privacy due to vendor lock-in. MyCloud constructs a high-performance, secure distributed storage system by using some vendors' Cloud Computing in parallel. MyCloud has three contributions. First, MyCloud can construct the highly available storage. For example, non-working time is thirty-one milliseconds using three public clouds. Second, MyCloud strongly preserves privacy to encrypt and to distribute user data to several vendors' cloud. Third, MyCloud translates thirteen times faster than normal cloud storage services. This paper argues how to develop MyCloud and experimental results for estimating the availability and the download-speed of MyCloud. MyCloud would make the secure, available and useful Cloud Computing future.
To detect the changes of a program, the line-based difference between two versions of the program have been frequently used. In a single commitment performed on a version control system, however, multiple changes are usually intermingled. In this case, it is troublesome to untangle them. The proposed method can detect such individual changes. For this, it restores snapshots of the program from the history of editing operations for the target program and compares information on class members that results from syntax analysis for respective snapshots. Experimental results with a running tool implementing are also shown.
A view denotes some information extracted from a database through a transformation, and the view updating problem is concerned with translating a view update into a corresponding update against the base data source. The view updating problem, originated from the database community, is gaining more and more interest from the researchers in the programming community. In our previous work, we solve the view updating problem in which both sources and views are represented by graph-structured data for general purposes. However, there is a problem; the backward computation may be in vain when the updated view is invalid in the sense that either there is no candidate of corresponding sources or the corresponding source does not conform to user's intention. In this paper, we present a method for checking view updatability in order to know whether the updated view is valid or not before computing the corresponding sources. To achieve a simple computation of view updatability checking, we introduce a new graph schema whose conformance is defined by graph simulation. Although the idea of our schema comes from the simulation-based graph schema proposed by Buneman et al., our schema can describe necessity of outgoing edges, which was impossible in their schema. This improvement helps us to give more precise solution for view updatability checking.
SML# is highly interoperable with C so that we can use C functions without data conversion simply by importing them as SML# functions using special importing expressions. In this paper we extend the SML# language so that we can write C programs directly in SML# programs. We added a special construct for embedding C programs, which is a declaration in the extended SML# language. This extension enables us to write C programs not only in toplevel but also in the declaration part of let expressions, local declarations, structures, and functors. Furthermore we added a functionality of referring to values of SML# variables from embedded C programs.