<?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">An Efficient Implementation of a Rule-based Adaptive Web Information System</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Davide</forename><surname>Valeriano</surname></persName>
							<email>valeriano@dia.uniroma3.it</email>
							<affiliation key="aff0">
								<orgName type="department">Dipartimento di Informatica e Automazione</orgName>
								<orgName type="institution">Università degli studi Roma Tre</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Roberto</forename><surname>De Virgilio</surname></persName>
							<email>devirgilio@dia.uniroma3.it</email>
							<affiliation key="aff0">
								<orgName type="department">Dipartimento di Informatica e Automazione</orgName>
								<orgName type="institution">Università degli studi Roma Tre</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Riccardo</forename><surname>Torlone</surname></persName>
							<email>torlone@dia.uniroma3.it</email>
							<affiliation key="aff0">
								<orgName type="department">Dipartimento di Informatica e Automazione</orgName>
								<orgName type="institution">Università degli studi Roma Tre</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Daniele</forename><forename type="middle">Di</forename><surname>Federico</surname></persName>
							<email>difederico@dia.uniroma3.it</email>
							<affiliation key="aff0">
								<orgName type="department">Dipartimento di Informatica e Automazione</orgName>
								<orgName type="institution">Università degli studi Roma Tre</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">An Efficient Implementation of a Rule-based Adaptive Web Information System</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">5866B72079BFE7306A2C36800FDE32D9</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T09:39+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>Mobile devices provide a variety of ways to access information resources available on the Web and a high level of adaptability to different aspects (e.g., device capabilities, network QoS, user preferences, location, an so on) is strongly required in this scenario. In this paper we propose a technique for the efficient adaptation of Web Information Systems. The approach relies on special rules that allows us to specify, in a declarative way, how to generate, in an automatic way, the adaptation specifications that satisfy the requirements of a given context. Rules are classified in a set of clusters and a matching relation between clusters and context requirements is defined. The technique of rule evaluation and clustering guarantee that different contexts and orthogonal requirements of adaptation, possibly not fixed in advance, can be efficiently organized and taken into account in the adaptation process.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Modern Web Information Systems (WIS) are challenged to generate (automatically) a hypermedia presentation built from information that is gathered from different, possibly heterogeneous, sources that are distributed over the Web. Nowadays, given the spread of mobile devices, a novel and fundamental requirement of these systems is the ability to adapt and personalize content delivery according to the context of the client. An important point that needs to be taken into account is that this scenario is very dynamic: some aspects of the context can dynamically change. For instance new users with new preferences can be enabled to access the information system, possibly unpredicted types of access devices can be used, alternative network connections can be made available, further aspects of the context (like the location or others environmental factors) need to be incorporated. Also, the technology used to implement the adaptation can be changed and this should have a limited impact on the overall application. It follows that the adaptation process should guarantee a high level of flexibility in terms of responsiveness to rapidly changing requirements of adaptation and suitable actions to be undertaken to meet these requirements.</p><p>In the literature, some adaptation approaches rely on the definition of rules to generate suitable adaptation specifications <ref type="bibr" target="#b1">[2,</ref><ref type="bibr" target="#b2">3,</ref><ref type="bibr" target="#b8">10]</ref>. In <ref type="bibr" target="#b4">[5]</ref> we have presented a general methodology for context adaptation, based on special rules that model the adaptation at an abstract level, inspired by the approaches cited above. The rules specify, in a declarative way, how to generate, in an automatic way, the adaptation specifications that satisfy the requirements of a given context. A relevant problem is to rapidly select and activate the rules that best fit the requirements of adaptation of the context (in particular when the context changes frequently). In this paper we present an efficient implementation to optimize the activation process of adaptation rules. To this aim, we introduce a clustering technique to classify the adaptation specifications.</p><p>The rest of the paper is organized as follows. Section 2 introduces the rulebased approach. In Section 3, we illustrate how to define the set of clusters and the process to efficiently activate a rule, using the clusters. In Section 4 we present a practical implementation and experimental results and finally, in Section 5 we draw some conclusions and sketch future works.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">A Rule-based approach to model adaptation requirements</head><p>In this section we present special rules to specify, in a declarative way, how to generate, in an automatic way, adaptation specifications. The rules are based on two basic notions: the generic profile and the abstract configuration.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Generic profiles</head><p>A (generic) profile is a description of an autonomous aspect of the context in which the Web site is accessed (and that should influence the presentation of its contents). Examples of profiles are the user, the device, the location, and so on. A dimension is property that characterizes a profile. Each dimension can be conveniently described by means of a set of attributes. Attributes can be simple or composite. A simple attribute has a value associated with it, whereas a complex attribute has a set of (simple or complex) attributes associated with it.</p><p>In this model, a context is a collection of profiles. Figure <ref type="figure">1</ref>  As an example, given the profiles reported in Figure <ref type="figure">1</ref> we have that P 2 P 1 and P 3 P 2 .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Abstract configurations</head><p>We introduce the notion of (abstract) configuration as a triple C = (q, h, s) where:</p><p>-q is a query over the underlying database expressed in relational calculus, a declarative and abstract language for relational databases ( <ref type="bibr" target="#b0">[1]</ref>); -h is an abstract hypertext definition expressed in WebML ( <ref type="bibr" target="#b3">[4]</ref>), a conceptual model for Web application which allows us to describe the organization of Web pages in a tight and concise way, by abstracting their logical features; -s is presentation specification expressed in terms of an original notion of logical style sheet, which is a set of tuples over a predefined collection of Web Object Types (WOTs) like text, image, video, form and so on; each WOT τ is associated with a set of presentation attributes: they identify possible styles (e.g. font, color, spacing, position) that can be specified for τ .</p><p>An example of configuration is reported below. It is important to note that a configuration is indeed a logical notion that can be represented and implemented in several ways and with different syntaxes. This property guarantees the generality of the approach with respect to actual languages and tools used to implement the adaptive application. For instance, we can implement a configuration using SQL at the content level, XHTML at the navigation level and a set of CSS files at the presentation level.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">Adaptation Rule</head><p>The matching relationship between configurations and profiles is represented by means of a novel notion of adaptation rule. An adaptation rule has the form P r : C d ⇒ C f where: The intuitive semantics of an adaptation rule is the following: if the client has a profile P r and the condition C d is verified then generate the configuration C f . An example of adaptation rule for a device profile with the hardware dimension H is the following:</p><formula xml:id="formula_0">• P r is a parametric profile,</formula><formula xml:id="formula_1">H (ImgCapable : X , ScreenSize : Y , ColorCapable : Z ) : X = false, Y &lt; 1500 ⇒ {q, h, s}</formula><p>where X, Y , and Z are the parameters of H and {q, h, s} is the following parametric configuration: </p><formula xml:id="formula_2">q = { T : x 1 , S : x 2 , D : x 3 , C : x 4 | NewsItems(N : x 0 , T : x 1 , S : x 2 , D : x 3 , G : x 5 , J : x 6 ),</formula><formula xml:id="formula_3">C d → C f if P r P .</formula><p>Hence, a profile P can activate a rule for a profile that is more general than P . Now, let R be a rule P r : C d → C f activated by a profile P and let C be the configuration obtained from C f by substituting the parameters of P r with the actual values occurring in P : we say that C is generated by P using R.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">An optimization strategy</head><p>We assume to have at disposal an initial set of rules S R . In an adaptability scenario, context changes generate events that produce one or more profiles (instances). Each profile (instance) can activate a rule of S R . We should optimize the research to select and activate efficiently the most appropriate rules and generate the most suitable configuration. So we organize S R classifying the rules in a set of clusters. Each cluster represents a class of adaptation that matches the requirements of a class of context.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">A distance between profiles</head><p>We define a distance that allows to compare profiles. We take advantage of the tree structure of the generic profile. We get inspiration from the Tree Edit Distance <ref type="bibr" target="#b7">[9]</ref>, where the distance between two trees T 1 and T 2 , that we indicate as d ted (T 1 , T 2 ), depend on the sequence of operations (chosen in a limited predefined set) that transforms T 1 into T 2 . We assign a fixed cost to each operation: the distance between the considered trees is the sum of essential costs for the transformation. For our case, let's consider the set of operations edit, remove and add, respectively to modify the content of a node, to delete a node and to create a new node. In our tree structures, we distinguish two principal types of node: dimension and attribute. We have operations to modify, remove or create dimensions and attributes and we indicate the cost of an operation with γ.</p><p>Definition 2 (S-derivation) Given two trees T 1 and T 2 , S = s 1 , ... , s k the sequence of operations to transform T 1 in T 2 , an S-derivation between T 1 and T 2 is a sequence U 0 , ... , U k of trees resulting by applying the single operation, where U 0 = T 1 and U k = T 2 , and the cost γ(S − derivation) is i=k i=0 γ(s i ).</p><p>So we can intuitively define the distance between two profiles P 1 and P 2 , the minimum cost for a S-derivation between them. Definition 3 (Distance between profiles) Given two profiles P 1 and P 2 , we define the distance between them as d ted (P 1 , P 2 ) = min{γ(S − derivation) | Sderivation from P 1 to P 2 }</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Definition of Clusters</head><p>Let's represent a cluster as a tree where the nodes are profiles. The root represents the minimum set of information that nodes of the tree share. Basically a client is identified by the profile sent to the system. Let's remember that a profile is principally described by dimensions, that characterize the main information, articulated in attributes. So, the root of a cluster is a profile characterized only by dimensions. It will contain the minimum information that several profiles has to include to be in the same cluster. Given a profile P, pruned by all attributes, we can build several beginner clusters, rooted with profiles generated from P, on the number and type of dimensions. However the designer can decide the detail level for the roots. For instance a designer can decide to articulate some dimensions of a root with attributes, to extend the level of detail of the minimum information to share.</p><p>We define a cluster as follows Definition 4 (Cluster Tree) A cluster CL is a couple {N CL , E CL } where N CL is the set of nodes (profiles) and E CL is the set of edges (n i , n j ) such that n i n j</p><p>We can relate a node P r of a cluster with the rule P r : C d → C f in an Hash table using P r as access key.</p><p>Given the set of roots R t = {R t 1 , ... ,R t n } and the set of rules S R , we initialize a set of clusters CL = {CL 1 , ... ,CL n } as follows:</p><formula xml:id="formula_4">• we set CL i = {{R t i },∅}, • ∀ (P r : C d → C f ) ∈ S R , (i) we search a CL i such that R ti</formula><p>P r , and we navigate the cluster in depth until level k where doesn't exist any node subsumed by P r , (ii) we search at level k −1 the node N d such that N d P r and if there are more nodes N d such that N d P r we choose the node with lowest distance, (iii) we add P r to N CLi and (N d, P r ) to E CLi , (iv) if there are one or more nodes N d i such that P r N d i then we delete any edge of type (N d j ,N d i ) in E CL i and add to it the edge (P r , N d i ),</p><p>• for each node of a cluster we add the relative rule to the Hash table.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">The activation process</head><p>Built the set of clusters, now we can perform an optimization strategy to activate a rule in an efficient way. Given the set of rules S R , the set of clusters CL = {CL 1 , CL 2 , ..., CL n }, the Hash table H t and a profile instance P I of a profile schema P S , we produce a set of configurations as follows:</p><p>1. we initialize P with P S ; 2. we search the cluster CL i in CL, with a root R ti such that R ti P and that has the lowest distance from it; 3. (i) we navigate in depth the cluster until level k where any node, that is subsumed by P , doesn't exist; (ii) we search at level k − 1 the node N d such that N d P and if more nodes are subsumed by P we choose the one with lowest distance; (iii) we extract the rule R l , related in the H t to N d, and if the condition is satisfied, we activate R l and instance the configuration with the value of P I ; (iv) we update P as P -N d; 4. we iterate from step (2.) until P is not empty and a rule that can be activated by P exists; 5. if no rule can be activated in this way, the system will return a default configuration.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.4">An example of interaction between profiles and clusters</head><p>Let's assume a client sending a profile P I (see Figure <ref type="figure">.</ref> 2(a)), instance of a profile schema P to the system. Assume also that the system has already initialized its own set of clusters, composed by clusters C 1 and C 2 (see Figure <ref type="figure">3</ref>). We easily see that the root of the cluster C 2 is the one which subsumes P and has the lowest distance from it. So we navigate that cluster and note that the only child N of the root it is equal to P ; then we extract the rule R l related in the H t to N and if the condition is satisfied, we activate it and instance the configuration with the values of P I . Subsequently, assume that a new profile P I (see Figure <ref type="figure" target="#fig_1">2</ref>(b)), instance of a profile P , is sent by another client to the system. At the same way explained before, we see that the root of the cluster that subsumes P and has the lowest distance from it, is cluster C 1 root. Navigating that cluster, we need to confront P with root's two children. We easily see that no one of them is equal to or has a subsumption relation with P : being their parent a root, is not possible to activate its rule; so, as we explained before, the system will return a default configuration. ( n i−1 ) (n − i + 1). These profiles will be ignored by the system, which has only accessed the roots of their clusters, that are not profiles. So, counting also these accesses, we find that at least we obtain to save a number of accesses equal to</p><formula xml:id="formula_5">n−1 i=1 m j=1 m j ( n i−1 ) (n − i + 1)− n i=1</formula><p>n i . This number doesn't take count of the fact that the system won't access all the nodes of the selected cluster, but only some of them, depending on its structure. Anyway it gives evidence that, using this clustering algorithm, it is possible to obtain a certain benefit in terms of number of accesses.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Experimental results</head><p>We have designed and developed a practical implementation to test the our approach. The system relies on an RDF database of contents and the selection of data is done by performing RDF queries expressed in SPARQL <ref type="bibr" target="#b6">[8]</ref>. We use an RDF(S) representation for schema level and RDF for instance level. The implementation makes use of Jena [6], a Java framework for building RDF based applications. Each rule is implemented in terms of Inference Rule of Jena <ref type="bibr" target="#b5">[7]</ref>. Using the Inference Engine of Jena, the system generates a configuration that infers the adaptation on RDF(S) documents. Finally the system returns several response as output, using XSLT transformations on RDF instances. We have tested our system to experiment the effectiveness and the efficiency of the approach illustrated in this paper in several practical cases. On the server side, we used an IBM computer xSeries 225, equipped with a Xeon2 2.8Ghz processor, a 4 GB RAM, and a 120 GB HDD SCSI. The Web site have been accessed by three different types of devices: a mid-range desktop, several PDAs with different capabilities, and some cellular phones. Figure <ref type="figure" target="#fig_2">4</ref> reports the average response time (vertical axis) for each device type (horizontal axis). The Figure shows promising times to produce the adapted response. The Desktop client presents an average time of 72 ms, the PDA client 97 ms and the Wap client 121 ms. The diagram compares the medium response time in absence and in presence of clusters. In particular the system, using clusters, capitalizes the approach for mobile devices, almost halving the response time. For instance the Wap client benefits from 121 ms to 59 ms.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Conclusions and future works</head><p>In this paper we have presented a novel rule-based approach supporting the automatic adaptation of content delivery in Web Information Systems. This problem arises in common scenarios where the information system is accessed, in different contexts, by a variety of mobile devices. The adaptation is achieved automatically by means of special rules that specify, in a declarative way, how a configuration can be generated to meet the requirements of adaptation of a given profile. Finally the organization of rules in a set of clusters guarantees the responsiveness of the system in a dynamic scenario. Different contexts and orthogonal requirements of adaptation, possibly not fixed in advance, can be taken into account in this process. The results presented in this paper are subject of further conceptual and practical investigation. From a conceptual point of view, we are currently investigating the expressive power of rules and the generality of clusters. In particular we are improving the distance between profiles, using a comparison between common pathes. From a practical point of view we are improving the efficiency of the system and we are extending its functionality.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>q</head><label></label><figDesc>= {T : x1 , S : x2 , D : x3 , C : x4 , N : x5 | NewsItems(N : x0 , T : x1 , S : x2 , D : x3 , G : x6 , J : x7 ), Details(NK : x0 , P : x8 , C : x4 ), Newspapers(J : x7 , N : x5 , C : x9 ), x6 = Sport} h = IndexUnit NewsIndex ( source News Items; attributes Title, Date; orderby Date ) DataUnit ContentData ( selector Item = CurrentItem; attributes Title, Date, Content) link NewsToDetails ( from NewsIndex to ContentData parameters CurrentItem = NK) link ContentToRestOfContent ( from ContentData to ContentData parameters CurrentItem = NK) s = Text( Font: Arial, ..., Border: 0pt) Link( Note: False, ..., Color: Blue) Image( Format: jpeg, ..., Alignment: left)</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Profiles sent to the system.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 4 .</head><label>4</label><figDesc>Fig. 4. Results of experiments</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>and P 2 , if P 1 P 2 then P 2 is more detailed than P 1 since it includes the attributes of P 2 at the same or at coarser level of detail. More precisely, we first say that an attribute A covers another attribute B if either they are simple and A = B or they are composite and for each sub-attribute A i of A there is a sub-attribute B j of B such that A i covers B j . The subsumption relationship is then defined as follows.</figDesc><table><row><cell>1078</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell cols="4">Web Information Systems Modeling</cell></row><row><cell cols="12">be compared making use of a subsumption relationship . Intuitively, given two</cell></row><row><cell cols="12">profiles P 1 Definition 1 (Subsumption) Given two profiles P 1 and P 2 , we say that P 1 is</cell></row><row><cell cols="4">subsumed by P 2 , P 1</cell><cell cols="8">P 2 , if for each dimension d of P 1 there is a dimension d'</cell></row><row><cell cols="12">of P 2 such that for each attribute A of d there is an attribute A' of d' covered by</cell></row><row><cell>A.</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell cols="3">reports a graphical</cell></row><row><cell cols="12">example of profiles. In our model, different profiles over the same dimensions can</cell></row><row><cell></cell><cell></cell><cell></cell><cell>P 1</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>P 2</cell><cell></cell><cell>P 3</cell></row><row><cell cols="2">Hardware</cell><cell></cell><cell cols="2">Software</cell><cell cols="2">Category</cell><cell cols="2">Hardware</cell><cell>Software</cell><cell>Category</cell><cell>Category</cell></row><row><cell>cpu</cell><cell>display</cell><cell>memory</cell><cell>os</cell><cell>version</cell><cell>type</cell><cell>family</cell><cell>model</cell><cell>display</cell><cell>OS</cell><cell>type</cell><cell>type</cell></row><row><cell>width</cell><cell></cell><cell>height</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>width</cell><cell>height</cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell></cell><cell>profile profile</cell><cell></cell><cell>dimension dimension</cell><cell></cell><cell cols="2">complex attribute complex attribute</cell><cell cols="2">simple attribute simple attribute</cell><cell></cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell cols="5">Fig. 1. An example of profiles</cell><cell></cell><cell></cell><cell></cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>that is, a profile in which parameters can appear in place of values, • C d is a condition, made out of a conjunction of atoms of the form AθB or Aθc, where A and B are parameters occurring in P r , c is a constant value, and θ is a comparison operator, • C f is a parametric configuration in which parameters occurring in P r can appear in place of values.</figDesc><table /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head></head><label></label><figDesc>Note the use of the parameters Y and Z of H to resize the images and to eliminate/maintain colors.A profile P activates a rule P r :</figDesc><table><row><cell>orderby Date )</cell></row><row><cell>DataUnit ContentData</cell></row><row><cell>( selector Item = CurrentItem;</cell></row><row><cell>attributes Title, Date, Content)</cell></row><row><cell>link NewsToDetails</cell></row><row><cell>( from NewsIndex to ContentData</cell></row><row><cell>parameters CurrentItem = NK)</cell></row><row><cell>s = Text( Color: Black, Size: 8pt)</cell></row><row><cell>Link( Style: Underline, Color: Black)</cell></row><row><cell>Image( Size: Y × 0, 5, Color: Z)</cell></row></table><note>Details(NK : x 0 , P : x 7 , C : x 4 )} h = Page NewsPage ( units NewsIndex )Page ContentPage ( units ContentData ) IndexUnit NewsIndex ( source News Items; attributes Title, Date;</note></figure>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>We can easily see that using this clustering algorithm we can reduce the number of accesses to S R . In our system, we have seen that a profile given by a client can activate a rule in the default set. So when a client sends a profile to the system it has to search for the most suitable rule in S R . We can assume that the worst case is when the system has the greatest possible number of default rules, that is when the system has in S R one rule for each possible profile that a client can send. Without using clusters we should execute a number of ordered accesses equal to the total number of possible profiles. It is easy to see that the number of possible profiles is the number of profiles obtained with every possible different combination of dimensions and attributes. Assuming to have a complete schema with n dimensions and m attributes for each dimension, we can see that the number of different combinations of dimensions is </p><p>). If we use the clustering algorithm, in this case we will obtain a number of clusters equal to the number of different combinations of dimensions, seen above. To access the right clusters, the system has to access to all of their roots and then find the right way on the selected tree. So it can ignore a number of trees equal to n i=1 n i + 1. We can see that in this situation the worst case is when the root of the selected</p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">Foundations of Databases</title>
		<author>
			<persName><forename type="first">S</forename><surname>Abiteboul</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Hull</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Vianu</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1995">1995</date>
			<publisher>Addison-Wesley</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Distributed context monitoring for continuous mobile services</title>
		<author>
			<persName><forename type="first">C</forename><surname>Bettini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Maggiorini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Riboni</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IFIP TC8 Working Conference on Mobile Information Systems (MOBIS)</title>
				<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">An approach to user-behavioraware web applications</title>
		<author>
			<persName><forename type="first">S</forename><surname>Ceri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Daniel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Demaldé</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">M</forename><surname>Facca</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">5th International Conference on Web Engineering (ICWE)</title>
				<imprint>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page" from="417" to="428" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">Designing Data-Intensive Web Applications</title>
		<author>
			<persName><forename type="first">S</forename><surname>Ceri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Fraternali</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Bongio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Brambilla</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Comai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Matera</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
			<publisher>Morgan Kaufmann Publishers Inc</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">A rule-based approach to content delivery adaptation in web information systems</title>
		<author>
			<persName><forename type="first">R</forename><surname>Devirgilio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Torlone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G.-J</forename><surname>Houben</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">7th International Conference on Mobile Data Management (MDM&apos;06) -to appear</title>
				<imprint>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<ptr target="http://jena.sourceforge.net/inference/" />
		<title level="m">Jena 2 inference support</title>
				<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
		<respStmt>
			<orgName>HP-Labs</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<ptr target=".www.w3.org/TR/rdf-sparql-query/" />
		<title level="m">Sparql, query language for rdf</title>
				<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
		<respStmt>
			<orgName>Hp-Labs</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">The editing distance between trees</title>
		<author>
			<persName><forename type="first">C</forename><surname>Isert</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Ferienakademie, for course</title>
				<meeting><address><addrLine>Bume</addrLine></address></meeting>
		<imprint>
			<publisher>Algorithmik Und Kombinatorik</publisher>
			<date type="published" when="1999">1999</date>
			<biblScope unit="volume">2</biblScope>
		</imprint>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Activeweb: Xml-based active rules for web view derivations and access control</title>
		<author>
			<persName><forename type="first">H</forename><surname>Kiyomitsu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Takeuchi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Tanaka</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International workshop on Information technology for virtual enterprises (ITVE01)</title>
				<imprint>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page" from="31" to="39" />
		</imprint>
	</monogr>
</biblStruct>

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