<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Query Processing in Self-Organized Storage Systems</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Hannes</forename><surname>Mühleisen</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Science -AG Networked Information Systems</orgName>
								<orgName type="institution" key="instit1">Freie</orgName>
								<orgName type="institution" key="instit2">Universität Berlin</orgName>
								<address>
									<addrLine>-Königin-Luise-Str. 24/26</addrLine>
									<postCode>14195</postCode>
									<settlement>Berlin</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Robert</forename><surname>Tolksdorf -Phd</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Science -AG Networked Information Systems</orgName>
								<orgName type="institution" key="instit1">Freie</orgName>
								<orgName type="institution" key="instit2">Universität Berlin</orgName>
								<address>
									<addrLine>-Königin-Luise-Str. 24/26</addrLine>
									<postCode>14195</postCode>
									<settlement>Berlin</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Research</forename><surname>Phase</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Science -AG Networked Information Systems</orgName>
								<orgName type="institution" key="instit1">Freie</orgName>
								<orgName type="institution" key="instit2">Universität Berlin</orgName>
								<address>
									<addrLine>-Königin-Luise-Str. 24/26</addrLine>
									<postCode>14195</postCode>
									<settlement>Berlin</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Query Processing in Self-Organized Storage Systems</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">0146517B4EC3376EAFA0426AA909AC74</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-23T23:44+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Storage systems are increasingly approaching their limits regarding system response to node overload and failure as well as overall scalability. Selforganized systems can be a solution to those issues. However, query processing research has not yet evolved to this area. This research proposal aims at extending distributed query processing to self-organized systems. The different components are discussed, and evaluation criteria for a emerging solution are laid out.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Problem statement</head><p>Database management systems and storage systems in general have evolved over time to not only efficiently and securely store data on one computer, but also to store this data in a organized network of many computers, with different sharing architectures. Once data can be stored and -crudely -accessed, the need for more sophisticated query patterns arises quickly. These are then formulated using a variety of mostly declarative query languages. Well-known examples for such languages include SQL for relational databases, and SPARQL for RDF storage systems. While evaluating these queries on a single computer represents a significant challenge, performing the same task in a distributed environment is even more complex.</p><p>One central component of any storage system supporting complex query patterns is the Query Processor (QP), which takes the declarative complex queries issued by the user and transforms them over various steps into an Query Execution Plan (QEP). The QEP then contains a detailed plan how to access, reorder, and deliver the requested data to the client. This component relies on a map or other lookup mechanism to determine which data elements are stored on which node of the storage network <ref type="bibr" target="#b5">[6,</ref><ref type="bibr" target="#b9">10,</ref><ref type="bibr" target="#b4">5]</ref>. If no such map or efficient lookup mechanism is available, query execution is severely impaired. The node handling the query evaluation can no longer efficiently compute a QEP due to a lack of knowledge of the topology of the data stored in the network. While the Peer-to-Peer (P2P) community has developed the concept of mutable query plans, these approaches are only viable in a structured P2P system so far <ref type="bibr" target="#b8">[9,</ref><ref type="bibr" target="#b2">3,</ref><ref type="bibr" target="#b0">1]</ref>.</p><p>A different approach to distributed storage systems are tuple-based selforganizing storage systems using swarm algorithms. Starting from an approach implementing the Linda coordination language, this method makes use of natureinspired algorithms to efficiently route storage and retrieval requests in an unstructured network consisting of a potentially large amount of nodes. Systems built with these algorithms have the potential to scale without inherent limits, and are thus very interesting for further research. The lookup facility in this system is currently limited to simple key-value requests <ref type="bibr" target="#b6">[7]</ref>. The RDF data storage concept with its unified triple model makes tuple storage systems interesting for a large number of applications, and research is progressing on the subject <ref type="bibr" target="#b3">[4]</ref>. However, complex query processing has not been addressed at this point, due to the unstructured and undefined nature of the storage networks involved.</p><p>The research problem will therefore be the design, implementation and evaluation of a efficient query processor for a self-organized storage system. If these systems would contain such a component, it would enable them to replace systems using conventional methods while improving the scalability of the storage system. Significant adaptations of the methods previously used to achieve distributed query processing are expected to be required in the scope of this work, but the overall established structure can be maintained. It is however not yet clear, if there are efficient solutions to this issue at all.</p><p>The remainder of this paper is structured as follows: Section 2 formulates the research questions and clarifies relevant assumptions, 3 shows the approach followed in order to identify a solution, which is presented in Section 4. Section 5 shows the steps to be taken in order to evaluate the solution. Finally, Section 6 concludes this paper.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Main questions of the thesis</head><p>Given a self-organized storage system with no global data structures as they are present in other self-organizing tuple storage systems <ref type="bibr" target="#b2">[3]</ref>, the main challenge of this work is to determine whether it is possible to efficiently evaluate complex data queries for those systems. An example for self-organizing systems without global data structures are swarm-based approaches <ref type="bibr" target="#b1">[2]</ref>. The ongoing implementation efforts for storage systems using these approaches are currently only considering simple lookup techniques <ref type="bibr" target="#b3">[4,</ref><ref type="bibr" target="#b7">8]</ref>, thus the planned work will yield considerable progress for this area of research.</p><p>The combination of a swarm-based self-organizing tuple storage system with a efficient query processing system could provide a big improvement for tuple storage systems such as RDF stores. With its conceptually unlimited scalability, the combination is able to handle the enormous amount of data generated by Future Internet applications and users while still being able to retrieve any information using complex query languages. Compared to structured Peer-to-Peer approaches, swarm-based systems are better able to cope with ever-changing network structure and load shifts.</p><p>A number of prerequisites are assumed to be fulfilled, in order to focus entirely on query processing. It is assumed, that there exists a system, which can be run on a large number of connected computer systems (nodes). This system will form an overlay network consisting of a neighborhood of known nodes for each node. The entirety of nodes is able to store and locate tuples of arbitrary length. Client computer systems can connect to any node using a specialized client API. Clients can write tuples into the storage network by specifying them explicitly. Clients can read tuples from the storage network by specifying fixed parts of tuples (templates). All tuples matching the fixed parts given in the template are then returned. A single node does not recognize more than its immediate neighbor nodes. There is no method to retrieve all tuples stored in the network. While retrieving data for a specific key, nodes can give an approximation, which neighbor node may store or lead to matching tuples. Issues regarding the handling of single key lookup operations or data storage are not within the scope of the planned work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">General approach</head><p>In accordance with previous work in the area of distributed query processing, the structure defined in that area is re-used in order to make the different approaches comparable. The following components involved in query processing <ref type="bibr" target="#b5">[6]</ref> have been determined to be affected:</p><p>1. Query Optimizer and Plan Refinement Using a cost model considering either calculated values from static methods, general query heuristics, or statistical accumulation of knowledge, the query optimizer selects a execution plan for the query. In a system without global knowledge, it may not be possible to converge on the optimal plan immediately. Instead, approaches like mutable query plans may be employed, where the plan is adapted and refined during actual execution <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b8">9]</ref>. 2. Catalog The catalog maintains a collection of metadata describing the distribution and organization of data, their indicies, cardinalities, and further information all intended to assist the other components in performing their tasks. For a distributed system, the catalog may also be distributed. For a distributed relational database, this catalog defines all relations stored in the system, for an RDF store with its unified data model this is not required. In our case, this information is not available to the single nodes, hence only heuristical and statistical methods are applicable to support the other components.</p><p>The listed components have to be adapted fundamentally in order to function in a self-organized environment. The remaining components are expected to remain largely untouched. The new query processing system will then be compared with the current key-only lookup technique using a performance analysis. A significant statistical improvement over naive approaches is expected for complex queries.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Proposed solution</head><p>In order to build a complex query processing system on top of a self-organized storage system, the base functionality of that system, in particular its ability to retrieve data using a single lookup key, has to be verified first. For any tuple stored in the system, the success rate for read operations requesting that tuple has to be shown to be high enough to support reliable operations. In a second step, existing query processing paradigms will be researched and adapted for our self-organizing system. Considerable amount of theoretical work will precede the implementation of one or various possible solutions on top of our existing self-organizing storage system. The last step will be a comparison between the new solution and the naive approach as well as existing solutions, where applicable.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Evaluation</head><p>As we have shown, static methods for query processing may not be applicable in our case. Hence, in order to evaluate our query processor, the emerging prototype will be integrated into a self-organized storage system and tested against a naive implementation. To make results comparable, an traditional distributed query processing engine will also be tested against our approach while paying attention to the design goals for self-organized systems. A test data set as close as possible to a real-world setup will be chosen and stored in the storage network. A set of complex queries involving this data set will also be chosen and executed. The average time to complete each query in multiple runs from different nodes will be measured, and the average results compared.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Future work</head><p>The work described in this paper will continue with an exhaustive screening of research regarding query processing in distributed environments. Using this information, the road map to identify a set of possible solutions to the issue of efficient query evaluation in an unstructured distributed storage systems will be set up. After first phase of theoretical calculations and simulations on the set of possible solutions, the most promising solutions will be selected for implementation into a existing self-organized distributed storage system. Benchmarking runs and comparison with naive approaches such as flooding and random walk will show the environment where the selected solutions yield an improvement. It is hoped, that one of the selected solutions will cover a significant number of environments. This solution will then be refined and evaluated furthermore.</p></div>		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgments This work has been supported by the "DigiPolis" project funded by the German Federal Ministry of Education and Research (BMBF), support code 03WKP07B.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Query processing in a system for distributed databases (sdd-1)</title>
		<author>
			<persName><forename type="first">Philip</forename><forename type="middle">A</forename><surname>Bernstein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Nathan</forename><surname>Goodman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Eugene</forename><surname>Wong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Christopher</forename><forename type="middle">L</forename><surname>Reeve</surname></persName>
		</author>
		<author>
			<persName><forename type="first">James</forename><forename type="middle">B</forename><surname>Rothnie</surname><genName>Jr</genName></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Trans. Database Syst</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="602" to="625" />
			<date type="published" when="1981">1981</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Swarm Intelligence: From Natural to Artificial Systems</title>
		<author>
			<persName><forename type="first">Eric</forename><surname>Bonabeau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Marco</forename><surname>Dorigo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Guy</forename><surname>Theraulaz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Santa Fe Institute Studies in the Sciences of Complexity Series</title>
				<imprint>
			<publisher>Oxford Press</publisher>
			<date type="published" when="1999-07">July 1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">RDFPeers: A scalable distributed RDF repository based on A structured peerto-peer network</title>
		<author>
			<persName><forename type="first">Min</forename><surname>Cai</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2008-04-02">April 02 2008</date>
		</imprint>
		<respStmt>
			<orgName>University of Southern California, Computer Science Department</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">RDFSwarmsselforganized distributed RDF triple store</title>
		<author>
			<persName><forename type="first">Marko</forename><surname>Harasic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Anne</forename><surname>Augustin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Philipp</forename><surname>Obermeier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Robert</forename><surname>Tolksdorf</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2010 ACM Symposium on applied computing</title>
				<meeting>the 2010 ACM Symposium on applied computing</meeting>
		<imprint>
			<publisher>ACM SAC</publisher>
			<date type="published" when="2010">2010. 2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">Query processing in RDF/S-based P2P database systems</title>
		<author>
			<persName><forename type="first">George</forename><surname>Kokkinidis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Lefteris</forename><surname>Sidirourgos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Vassilis</forename><surname>Christophides</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">The state of the art in distributed query processing</title>
		<author>
			<persName><forename type="first">Donald</forename><surname>Kossmann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Comput. Surv</title>
		<imprint>
			<biblScope unit="volume">32</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="422" to="469" />
			<date type="published" when="2000">2000</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">A new approach to scalable linda-systems based on swarms</title>
		<author>
			<persName><forename type="first">Ronaldo</forename><surname>Menezes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Robert</forename><surname>Tolksdorf</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of ACM SAC 2003</title>
				<meeting>ACM SAC 2003</meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="375" to="379" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">A swarm-based semantic storage service</title>
		<author>
			<persName><forename type="first">Kia</forename><surname>Hannes Mühleisen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Robert</forename><surname>Teymourian</surname></persName>
		</author>
		<author>
			<persName><surname>Tolksdorf</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Poster Session at the 7th Extended Semantic Web Conference</title>
				<meeting><address><addrLine>ESWC10</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Distributed query processing and catalogs for peer-to-peer systems</title>
		<author>
			<persName><forename type="first">David</forename><surname>Vassilis Papadimos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Kristin</forename><surname>Maier</surname></persName>
		</author>
		<author>
			<persName><surname>Tufte</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">CIDR</title>
				<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Querying distributed RDF data sources with SPARQL</title>
		<author>
			<persName><forename type="first">Bastian</forename><surname>Quilitz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ulf</forename><surname>Leser</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ESWC 2008, Proceedings</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="volume">5021</biblScope>
			<biblScope unit="page" from="524" to="538" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
