A Mixed Fragmentation Algorithm for Distributed Object Oriented Databases 1

Size: px
Start display at page:

Download "A Mixed Fragmentation Algorithm for Distributed Object Oriented Databases 1"

Transcription

1 A Mixed Fragmentation Algorithm for Distributed Object Oriented Databases 1 Fernanda Baião Department of Computer Science - COPPE/UFRJ Abstract Federal University of Rio de Janeiro - Brazil baiao@cos.ufrj.br The performance of applications on Object Oriented Database Management Systems (OODBMSs) is strongly affected by Distributed Design, which reduces irrelevant data accessed by applications and data exchange among sites. This work proposes an algorithm to the fragmentation phase of the distributed design of object oriented databases, according to a set of heuristics obtained from experimental results. The proposed algorithm addresses specific characteristics of OODBMSs such as management of class extensions and object relationships, and its major contributions are: (i) it observes performance issues, by allowing a class which has a very small extension not to be fragmented, (ii) it proposes horizontal, vertical and mixed fragmentation (horizontal and vertical) of a class, and (iii) it permits specific OO characteristics to drive the primary and derived fragmentation based on the dependency between classes. This paper also evaluates the proposed algorithm with a case study using the 007 Benchmark database schema, and compares the final fragmentation schema against other alternative fragmentation schemas. 1 Introduction Distributed and parallel processing on Object Oriented Database Management Systems (OODBMSs) may improve performance of non conventional applications that manipulate large volumes of data. This is addressed by removing irrelevant data accessed by queries and transactions and by reducing data exchange among sites, which are the main goals of the distributed design [1]. Distributed design involves making decisions on the placement of data across the sites of a computer network [2]. In a top down approach, the distributed design has two phases: fragmentation and allocation. The fragmentation phase is the process of clustering in fragments information accessed simultaneously by applications, and the allocation phase is the process of distributing the generated fragments over the database system sites. To fragment a 1 Research partially supported by CNPq Proceedings of the Ninth International Conference on Computing Information, Winnipeg, Canada, June 1998 Also to appear in the Special edition of the Journal of Computing Information Marta Mattoso Department of Computer Science - COPPE/UFRJ Federal University of Rio de Janeiro - Brazil marta@cos.ufrj.br class, it is possible to use two basic techniques: vertical fragmentation and horizontal fragmentation. In an object oriented (OO) environment, horizontal fragmentation distributes class instances across the fragments, which will have exactly the same structure but different contents. Thus, an horizontal fragment of a class contains a subset of the whole class extension. On the other hand, vertical fragmentation breaks the logical structure of the class (its attributes and methods) and distributes them across the fragments, which will logically contain the same objects, but with different properties. It is also possible to perform mixed fragmentation on a class, combining these two techniques. Horizontal fragmentation is usually subdivided in primary and derived fragmentation to address the relationship between entities: primary horizontal fragmentation is applied on owner entities, while derived fragmentation is applied on member entities according to the owner fragmentation [2, 3]. Many researchers have worked on distributed design in the relational model, including [2,4,5]. However, in the OO model, the fragmentation process is much more complex than in the relational case. Karlapalem et al. [1] describe the different aspects of a distributed OODBMS that are critical to the distributed design process, which are: the data model; method invocation; types of location transparency; and transaction management. The authors also present preliminary ideas to be used in fragmentation algorithms for OO distributed design. In the same way, Maier et. al. [6] consider the effect of distribution over complex objects. Also, the works from Ezeife and Barker [3] and Savonnet et al. [7] propose algorithms for horizontal fragmentation of OODBs, while Bellatreche et al. [8], Ezeife and Barker [9] and Malinowski [10] address vertical fragmentation. However, mixed fragmentation is not considered in any of the related works. The semantic differences between relational and OO models inhibit a straightforward migration from relational distributed design algorithms to OO algorithms. The relational distributed design is based on queries and relationships between entities. On the other hand, the OO distributed design has to consider, in addition, inheritance mechanisms, complex relationships and method execution. Also, while relational operations are only set oriented, OO

2 operations are also pointer based, and therefore may have a dual nature involving both set operations (search over class extensions) and navigation (traversals). This dual nature of access patterns has made object clustering a hard task to the OO distributed database designer. Usually, the components of a complex object are physically clustered together in the disk, while a class with a large extension groups its own objects together. This may generate some conflicts to the OODBMS object clustering policy, and we believe that this object clustering policy is strongly related to the fragmentation strategy. While derived horizontal fragmentation privileges navigational access (from a complex object to its components), vertical fragmentation favors the class extension access and the use of class attributes and methods, by removing irrelevant data accessed by operations. Therefore, both fragmentation techniques should coexist for different classes in the distributed design. Also, there are some cases in which the best option is to perform horizontal and vertical fragmentation in a class simultaneously. Although this choice is not simple for the designer to make, we believe that algorithms that force all classes to have the same fragmentation policy (either horizontal or vertical) will end up having unsuitable fragmentation for classes having different access patterns, incurring in bad performance. Therefore, this work proposes a strategy and its algorithms to the fragmentation phase of the distributed design of OODBs. The allocation phase (and selection of replication techniques) is not considered in the present work. Our proposed fragmentation strategy, which was already defined in our previous work [13], is divided in three steps: (i) the analysis phase that choose the best fragmentation technique for each class of the database, based on extensive implementation experiments of [11]; (ii) the vertical fragmentation phase; and (iii) the horizontal fragmentation phase. We present here the algorithms of each phase. A more detailed description of them can be found in [12]. The main contributions of our algorithm when compared to the ones in the literature are the existence of a specific step to analyze the main issues involved in the decision upon the class fragmentation policy, and the use of mixed fragmentation techniques, therefore increasing the performance of applications that access vertical and/or horizontal fragments of the database. The structure of this work is the following: the next Section presents some issues in choosing the best fragmentation technique for each class of the database schema, and lists some heuristics to be used in the proposed algorithms for the fragmentation phase of the distributed design of OODBs presented in Section 3. Section 4 evaluates our algorithms with a case study using the 007 Benchmark database schema. Finally, Section 5 concludes this paper. 2 Choosing the fragmentation technique 2.1 Issues in fragmentation There are many important issues that must be addressed in the OO distributed design in order to choose the best fragmentation policy for each class, thus obtaining an optimal fragmentation schema. This Section focus on three items already identified in [1] that deserve special attention from the distributed database designer, since they have a great influence on the distributed design quality, and may impact on the system performance: (i) attributes, relationships and method links between the classes, i.e., database semantics; (ii) existence of class extensions and their size, i.e., quantitative information; and (iii) application characteristics, i.e., operations. The next sub-sections list information required by our strategy concerning these issues and summarize their influence on the distributed design by defining heuristics for class fragmentation to be used in the first step. 2.2 Obtaining relevant information We encapsulate this task in what we call the Interface Module (see Figure 1), which is responsible for making this data available for our algorithms, either by consulting the database global conceptual schema, or the database designer directly Semantics For each class in the database schema, it is important to know the following semantic information: (i) its attributes, their classifications (simple or complex) and the referred classes of each (for complex attributes); (ii) its methods, their classifications (simple or complex) and the referred classes of each (for complex methods); and (iii) its relationships, their cardinalities and the referred classes. Complex attributes, complex methods and relationships (generalization and aggregation) in the object oriented model define links between classes [3]. These links generate navigational paths that must be considered in the fragmentation phase of the distributed design, in order to improve navigational query processing performance by reducing data transfer among sites. Also, different object clustering possibilities transforms the analysis of those links into an essential task [14,15]. In order to propose heuristics for the distributed design of OODBs considering class attributes, methods and relationships, we present the following classification for classes in a database schema. This taxonomy is an extension of the existence dependency taxonomy presented in [1], and addresses the clustering dependency of a class with respect to another class according to the cardinality of the links from to. In fact, this classification may be performed automatically by the Interface Module considering only available information

3 in the conceptual schema. For each pair of classes and in the database, falls in one of the following situations: Independent is independent of if either: 1. there are no links from to (i.e., objects of class are not linked to objects of class in the database); or 2. all the links from to have cardinality = or (i.e., each object of class may or may not be related to objects of class ). Non-shared dependent is non-shared dependent on if there is at least one link from to with cardinality = (i.e., each object of class is related to exactly 1 object of class ). Shared dependent is shared dependent on if all the links from to have cardinality = (i.e., each object of class is related to many objects of class ) Quantitative information For each class in the database schema, relevant quantitative information is: (i) the existence or not of a collection representing the class extension; and (ii) the estimated size of the class extension (small, medium or large), compared to other classes in the database schema. Intuitively, the importance of quantitative information lies in the fact that classes with a very large extension must not be considered in the same way as the ones with a small extension in the fragmentation process. Clearly, the distributed design must dedicate special attention to classes with large extensions, in order to improve performance of operations scanning over all their instances Operations An operation represents an access to one or more classes in the database during a transaction. A transaction is composed by queries and method calls. The analysis of a transaction leads to three access types identified as: a simple predicate defined on a class (such as! " # $ # % & ' ( ) * & +, -. ( ) / ), a path expression (such as : 6 ; < = >? > = ; 8 9 = 6 A 9 : 6 B ) or an isolated access to a class (such as a constructor call within a method). Operations can then be obtained by decomposing transactions, considering recursively the method calls embedded on them and the queries. Let C(O) be the set of classes accessed by an operation O. Each operation can be classified in one of the two following categories, based on the number of classes referenced by it: extension operation C if C(O) is a unitary set, i.e., if O directly references data from only one class c; navigation operation C if C(O) has more than one element, i.e., O refers data from several classes. In this case, C(O) represents a list of classes referred by º We call the first element of C(O) its root class. Therefore, for each operation it is important to know: (i) its classification (extension or navigation); (ii) the accessed class path; and (iii) its probable execution frequency, to determine its priority for fragmentation. 2.3 Defining some heuristics Semantics The classification defined in Section will be used in our strategy according to the following heuristics: Independent classes can be clustered without any restriction, as their objects are not necessarily related; Two classes A and B (where A is non-shared dependent on B) should be clustered in the same fragment in order to improve performance of applications that access objects of B from the complex attributes or methods of A. The best option is to carry out derived horizontal fragmentation of B with respect to A; Two classes A and B (where A is shared dependent on B) should also be clustered in the same fragment in order to improve performance of applications that access objects of B from the complex attributes or methods of A. In most cases, the best option is also to carry out derived horizontal fragmentation of B with respect to A, as in the previous case. But here it is important to notice that some conflicts may arise, due to the possible existence of another class C linked to B (C B). At this point, the fragmentation strategy must analyze some issues (which will be discussed in Section 3) to decide which is the most important link, to be used as a guideline to the derived horizontal fragmentation of B Quantitative information Although quantitative information is specially important for the purpose of distribution, not all the OODBMS products implement the concept of class extension automatically. According to experiments presented in [11], the distributed design must not consider classes with a large extension and classes with no extension in the same way. However, quantitative information is not considered in any of the algorithms from the literature. Those experiments led to the following heuristics for the distributed design of OODBs: a class with large cardinality having a collection that implements its extension should be isolated from all the other classes in the database, and mixed fragmentation (vertical + horizontal) is recommended; pseudo-classes (classes with no instances) should not be considered in the fragmentation process Operations Since all the operations are classified either as extension or navigation, as defined in Section 2.2.3, the following heuristics can be proposed for class fragmentation: for an extension operation on a class with a large cardinality, this class extension must be isolated in vertical fragments, which must be horizontally fragmented, if possible. This will probably result in mixed fragmentation. for a navigation operation, all the referenced instances

4 Class Information set of lists of classes to be horizontally fragmented set of horizontal class fragments User Information/ Global Conceptual Design Information (Interface Module) Analysis Phase set of classes not to be fragmented Primary Horizontal Fragmentation Operation Information pair of conflicting navigation paths Conflict Analysis pair of non-conflicting navigation paths set of classes to be vertically fragmented Vertical Fragmentation set of vertical class fragments set of mixed class fragments Figure 1- Overview of the proposed strategy for the distributed design of OODBs in the navigation path must be grouped in one horizontal fragment. The root class must be horizontally fragmented in a primary way, and the non-root classes must be derived fragmented according to its preceding class in the path. 3 Proposed strategy and algorithms 3.1 Overview This Section proposes a new strategy to the fragmentation phase of the distributed design of OODBs that uses the heuristics from Section 2.3. Figure 1 presents an overview of our strategy, illustrating information flow between the steps composing it, which will be detailed in the following sub-sections. 3.2 Step 1: Analysis phase The first step of our strategy analyzes operations and semantic information from the Interface Module, and uses the heuristics from Section 2.3 to decide on the most adequate fragmentation technique (horizontal and/or vertical) for each class in the database schema. Its output are: (i) a set of classes to be horizontally fragmented; and (ii) a set of classes to be vertically fragmented. In this step, operations are sorted in a descending way according to their execution frequency (thus priority is function AnalysisPhase ( C : the set of classes in the schema, O : the set of operations) returns Ch : set of lists of classes to be horizontally fragmented Cv : set of classes to be vertically fragmented Cn : set of classes not to be fragmented begin sort O in descending order according to the operation frequency for each Oi that is in O do if Oi is an extension operation then if (C(Oi) is in C) and (cardinality of C(Oi) = large ) then Cv += C(Oi) ; C -= C(Oi) if Oi is a navigation operation then for each non-root class c that is in C(Oi) do if c is in Cv then break the list of classes C(Oi) at class c, forming 2 sublists sub1 and sub2 sublistsofoi += sub1 C(Oi) = sub2 sublistsofoi += C(Oi) for each sublist s that is in sublistsofoi do for each list of classes l that is in Ch do if s and l are two conflicting navigational paths then let Oj be the operation that originated l if freq(oi) and freq(oj) are almost the same then for each class Ck that is in l and conflicts with s do Ch -= list l ; C += all the elements from l call conflictanalysis( Ck, s, l, freq(oi), freq(oj) ) Ch += returned lists s, l C -= all the non-root classes from s and l Ch += s ; C -= all the elements from s Cn = C return Ch, Cv, Cn end Figure 2- Algorithm for the analysis phase: deciding the most adequate fragmentation technique for each class given to the most frequent operations), and the classes involved on those operations are indicated for horizontal and/or vertical fragmentation according to the defined heuristics. Those classes on the intersection of the horizontal and vertical sets (notice that only root classes in the horizontal set may be included in the vertical set) might proceed to mixed fragmentation. In this case, the algorithm for horizontal fragmentation will be performed on the vertical fragments of those classes. Figure 2 presents the algorithm for the Analysis Phase. To help the decision between primary and derived fragmentation, the algorithm for Step 1 includes in the horizontal set lists of related classes, instead of isolated ones. Those lists reflect the structure of the navigation paths accessed by the most frequent operations. The algorithm ensures that the lists inserted in the horizontal set do not contain any intersection among its non-root classes: when the algorithm tries to include in the horizontal set a non-root class D which already belongs to another list, then it proceeds to conflict analysis. The conflict is solved based on the class clustering dependency classification obtained in the Interface Module. Thus, according to the degree of dependency between D and its preceding classes in the conflicting paths, class D will preferably belong to the path where there is a dependency, and non-shared dependency will receive higher priority. Figure 3 presents the algorithm for this conflict analysis. 3.3 Step 2: Vertical fragmentation The second step of our strategy defines the vertical

5 function ConflictAnalysis ( Y: Class, N1 = (Ci, Cj,, X, Y,, Cn), N2 = (Cp, Cq,, Z, Y,, Cm), f1: frequency of N1, f2: frequency of N2) returns N1, N2 : final navigation paths begin let d1 be the clustering dependency between X and Y let d2 be the clustering dependency between Z and Y if d1 = d2 then if f1 > f2 then N1 = N1; N2 = (Cp, Cq,, Z) N1 = (Ci, Cj,, X); N2 = N2 select case d1 = non-shared dependent N1 = N1; N2 = (Cp, Cq,, Z) case d1 = shared dependent if d2 = non-shared dependent then N1 = (Ci, Cj,, X); N2 = N2 N1 = N1; N2 = (Cp, Cq,, Z) case d1 = independent N1 = (Ci, Cj,, X); N2 = N2 return N1, N2 end Figure 3- Algorithm for conflict analysis: deciding the most relevant links between classes function VerticalFragmentation( Cv: set of classes to be vertically fragmented, O: the set of operations) returns Fv : set of vertical class fragments begin for each Ck that is in Cv do for each Oi that is in O do for each element (attribute or method) ei of Ck that is accessed by Oi do for each element (attribute or method) ej of Ck that is accessed by Oi do if there is a link between ei and ej then value of this link += freq (Oi) create a link between ei and ej value of this link = freq (Oi) N = empty set of nodes; A = empty set of links; G = (N, A) firstnode = any element of Ck N += {firstnode} while there is an element of Ck that is not in N do chosenlink = the link with the greatest value to one of the graph extremities if chosenlink forms a cycle in the graph G then let cp be this cycle if cp can be an affinity cycle then mark cp as a fragment candidate if there is a fragment candidate then let cf be this candidate if cf cannot be extended then mark cf as a fragment Fv (Ck)+= cf Fv += Fv(Ck) if Ck is a root class in Ch then substitute Ck in Ch by its fragment that contains the relevant element for the derived fragmentation return Fv end Figure 4- Algorithm for the vertical fragmentation phase: defining vertical fragments of classes in Cv fragments of the classes indicated in the first step. The algorithm presented in [5] was used for this step, with some adaptations needed to consider both attributes and methods of a class. Figure 4 shows this algorithm. 3.4 Step 3: Horizontal fragmentation The third step of our strategy defines the horizontal fragments of the classes indicated in the first step. Both function PrimaryHorizontalFragmentation( Ch: set of classes to be horizontally fragmented, O: set of operations, Fv: set of vertical class fragments ) returns Fh : set of horizontal class fragments Fm : set of mixed class fragments begin Cr = empty set; for each list Li that is in Ch do Cr += root class of Li for each Ck that is in Cr do for each pair of operations Oi, Oj extracted from the same transaction such that C(Oi) = C(Oj) = Ck do Oext += Oi; Oext += Oj if there is a link between Oi and Oj then value(link) += freq (Oi ) create a link between Oi and Oj with value(link) = freq (Oi) if Oext is empty then if the class has a large extension then define horizontal fragments of Ck in a circular manner for each operation Oi that is in Oext do for each operation Oj that is in Oext do if Oi => Oj then // logic predicate create a logic implication link between Oi and Oj if Oi and Oj are next to each other then create a proximity link between Oi and Oj N = empty set of nodes; A = empty set of links; G = (N, A) N += any operation of Oext while there is an operation of Oext that is not in N do chosenlink = the link with the greatest value to one of the graph extremities if chosenlink forms a cycle in the graph G then let cp be this cycle if cp can be an affinity cycle then mark cp as a fragment candidate if there is a fragment candidate then let cf be this candidate if cf cannot be extended then mark cf as a group of operations for each group of operations g = (O1, O2,.., Oq) do for each operation Oi that is in g do for each operation Oj that is in g do if (Oi!= Oj) and (Oi => Oj) then g -= Oi mark g as an operation term TO = {t1, t2,, tt} // set of operation terms Tab = empty table // table of operation terms on Ck E = empty set // set of Ck elements in Tab while there is a Ck element in TO which is not in E do let e be the less frequent element of Ck in TO such that e is not in E create a new column in Tab fill each element of the new column with operations over e such that the combination of elements in the same row defines a term in TO for each row r in Tab do if there are vertical fragments of Ck in Fv then // Mixed Fragmentation!!! Fm += combination of all elements in r applied to vertical fragments of Ck containing these elements Fh += the combination of all the elements in row r of Tab applied to the whole class Ck return Fh, Fm end Figure 5- Algorithm for the horizontal fragmentation phase: defining primary horizontal fragments and/or mixed fragments of classes in Ch primary and derived horizontal fragments of classes must be defined. To define primary fragments, we developed an algorithm that is an extension of the one used in the previous step, and thus uses the same concepts and data structures, as in [5]. This reduces implementation difficulties, and provides a uniform paradigm for dealing with both vertical and primary horizontal class fragmentation. The algorithm developed to implement this

6 BaseAssembly DesignObject Id Type BuidDate ComponentsShared M N 1 RootPart 1 CompositePart ComponentsPrivate Parts M N N 1 x y AtomicPart N N From To 1 1 Connection Type Length Figure 6- The reduced 007 Benchmark database schema Class Cardinality Class Cardinality BaseAssembly 200 AtomicPart CompositePart 500 Connection Table 1- Cardinalities of classes in the 007 Benchmark database schema step is shown in Figure 5. The definition of derived fragments is straightforward, since the class paths received as inputs provide a guideline. Therefore, there is no need to develop an algorithm to perform this task. In order to group in one horizontal fragment all the objects from different classes referenced by the same navigation operation, the distributed designer must define derived horizontal fragments of each non root class according to its preceding class in the path. 4 A Case study using 007 Benchmark The 007 Benchmark has been used in many OODBMS to evaluate their performance. In this Section, our proposed algorithms for the distributed design of OODBs presented in Section 3 are applied on a reduced version of the 007 Benchmark data model [16]. The final fragmentation schema will be evaluated against some performance issues, and compared to other alternative fragmentation schema. The following sub-sections present the reduced 007 Benchmark database schema, the set of transactions considered, the utilization of the proposed algorithms, the final fragmentation schema, and finally an evaluation of the results. 4.1 The reduced 007 Benchmark database schema Figure 6 and Table 1 show the reduced 007 Benchmark database schema and the estimated cardinalities for its classes. 4.2 Transactions The set of transactions considered in this case study was selected from the set of queries and traversals defined for the 007 Benchmark in [16]. This selection reflects typical situations for data retrieval in OODBMS applications Trans Extracted Operation Freq Class Ref Classes Query O 1: bdate < 01/10/ ext AtomicPart Q2 Query O 2: bdate 01/10/96 50 ext AtomicPart Q3 O 3: bdate < 01/10/97 50 ext AtomicPart Trav T1 Trav T6 Query Q5 O 4: baseassembly. componentsprivate. parts.to O 5: baseassembly. componentsprivate. rootpart O 6: baseassembly. componentsprivate O 7: bdate < componentsprivate. bdate 30 nav BaseAssembly, CompositePart, AtomicPart, Connection 30 nav BaseAssembly, CompositePart, AtomicPart 10 nav BaseAssembly, CompositePart 10 ext BaseAssembly Table 2- The sorted set of operations extracted from the selected queries and traversals involving both set operations (queries over class extensions) and navigation (traversals) that were evaluated in [11]: Query Q2 (Query Q3): Choose a range for dates that will contain 1% (11%) of the dates found in the database s atomic parts. Retrieve the Ids of the atomic parts that satisfy this range predicate; Query Q5: Find all base assemblies that use a private composite part with a build date later than the build date of the base assembly. Report the number of qualifying base assemblies found; Traversal T1: Traverse the assembly hierarchy. As each base assembly is visited, visit each of its referenced private composite parts. As each composite part is visited, perform a depth first search on its graph of atomic parts. Return the Ids of the Atomic Parts that have the minimum and the maximum dates when done; Traversal T6: Traverse the assembly hierarchy. As each base assembly is visited, visit each of its referenced private composite parts. As each composite part is visited, visit the root atomic part. Return a count of the number of atomic parts visited when done. 4.3 Applying the algorithms Table 2 presents the sorted set of operations obtained from the previous transactions. The range for dates used by query Q2 was less than 01/10/1996 (as it appears in Operation O 1 ), and in query Q3 was between 01/10/1996 and 01/10/1997 (as it appears in Operations O 2 and O 3 ). The Analysis phase will return two sets of classes (Cv and Ch), representing the set of classes to be vertically and horizontally fragmented, as defined in Figure 7. The second step defines vertical fragments of the classes in Cv (E F G H I J K L M F and N O P Q R P P Q S T U V ). The groups of

7 b ü ` WW XX YY Z Z [[ \\ ]] WW ^ ^ _ w x y z { } ~ _ x ` x aa bb ƒ cc ƒ dd ee ff gg ƒ h x { i j k j x i j ~ l x m { jx n l ˆ o p x q { r j ~ jš s q j ~ l t z u n l x n kœ m o v t t Ž š œ žž Ÿ Ÿ ž ž ¹ º» ¼ ½»» ¼ ¾ À Á  à ª Ä «Å ª Æ ª Ä Ç È ª É Ê Ë Ì Í É Î ª Ï Ð Ñ ± Ò ² ³ Ó Ô ± Õ Ö ³ µ Ð Ø Ù Ñ ± Ú Ú Û Ô µ Ð Ó «Ñ Ú Ü Ø ± Ð Ý ª Þ ß ß Þ à à Û ß Ð Ó Ú à Ð Ý Ö Ð Ô á Ö ß ß â ã ä å æ ä ä å ç è é ê è å ë ì í î ï ì ð ñ ã é é ê ò í ã ó ç å ð ñ å ô õ ö ø ù õ ú ù û ü û ý ö þ ÿ ú ø õ ù ý ú õ ÿ ù ö þ ö ö ÿ õ ö ù õ ö û ù ú ö þ õ ö þ ù õ þ ü û! " # $ % & " ' ( $ % " $ ) * +,, -. / , / , 8 9 / : ; 4 / 4 ) * +,, < 1 / = 3 ) > / = 1 2 3, 7 / 3 4 / 9 A + 9? A / 9 = + 4 ; A / / 8 ; 3 4, ; 9 1 ;? 3 4 B 2 C D E F G H I J K L M F N O G P P Q J F I G P R S T G F I J Q F U I V W I X X M Q V Y X F Z [ \ ] Z ^ _ ` a b \ c ] _ [ d \ d Z e [ e a f g \ h h i d e ] Z f j \ b d k l m n o p q r s t u v w p x k y m n n z v { o { { r } ~ k q r q { s p u v w p x n o p q r s t u v w p k q t p s q x x ƒ ƒ ˆ ˆ ƒƒ Š Š ž Ÿ ŒŒ Ž ª Ž «± ² ³ µ ¹ º» š ¼ µ ½ ¾ µ À Á š  Á ¹ œ»   Á Â Ã Ä Å Ã Æ Ä Å Ã Ç È É Ê Ë Ì Í Î Ï Ð Ì Ñ Ò Ñ Ó Ô Õ Õ Ö Ñ Ï Ø Ì Ù Ú Ñ Î Û Ü Ý Þ ß à á â ã ä å æ ç è á é Ü ê Þ ß ß ë ç ì í à ì ì í ã î ï ð ñ Ü â ã ò â ì ä á í æ ç è á é ñ ß à á â ã ä å æ ç è á ñ Ü â ó ó í å á ä â ó é é ôô õõ ö ö øø ùù úú ôô ûû ü ýý þ ÿ ÿ! " # $ % & ' ( ' " ) # " * + " #, -. / : ; < = < > ? 1 ; A 4 < B C D E F G H I J K L M N G O B P D E E Q M R S F R R S I T U V W B H I X H R J G S L M N G O W E F G H I J K L M N G W B H Y Y S K G J H Y O O Z Z [[ \\ ]] ^ ^ `` ZZ a } ~ a b ~ cc ƒ d e f } g f e f h ƒ i f j } k ˆ l f f Š m k f h j n o ~ h o } g i p q j j r Œ s t u Ž v t t u w x y z { š œ ž œ Ÿ š š ž œ œ Ÿ š š ž š œ ª «ž œ œ ± ² ³ µ ± ¹ º» ¼ ½ ¾ ¼ ¼ ½ À Á Â Ã Ä Å Æ Ç Ç º» ¼ ½ ¾ ¼ ¼ ½ À Á Â È Ä É Ê É ¼ Ë Ì ½ Í» Î Ì Ã È Ç ¾ Ì É Ë Ï Í» Î Ì È Ä É Ð Ð ½ Ï Ì Ë É Ð Ã Ã Figure 7- Execution of the analysis phase step-by-step attributes referenced simultaneously by the operations will be identified and each group will define a new class fragment. The performance of operations will be improved, since this will reduce unnecessary information accessed by them. Applying the algorithm described in Figure 4, the final vertical fragments will be: F v 1( ¾ Ì É Ë Ï Í» Î Ì ) = π (type, x, y) ( ¾ Ì É Ë Ï Í» Î Ì ) F v 2( ¾ Ì É Ë Ï Í» Î Ì ) = π (id, to, bdate) ( ¾ Ì É Ë Ï Í» Î Ì ) F v 1( º» ¼ ½ ¾ ¼ ¼ ½ À Á  ) = π (id, type) ( º» ¼ ½ ¾ ¼ ¼ ½ À Á  ) F v 2( º» ¼ ½ ¾ ¼ ¼ ½ À Á  ) = π (bdate, componentsprivate) ( º» ¼ ½ ¾ ¼ ¼ ½ À Á  ) The last step of the algorithm addresses primary and derived horizontal fragmentation of classes in Ch. The primary horizontal fragments of Ch root classes ( ¾ Ì É Ë Ï Í» Î Ì and º» ¼ ½ ¾ ¼ ¼ ½ À Á  ) will be defined by the algorithm of Figure 5. The derived horizontal fragments of classes (CompositePart, Ä É Ð Ð ½ Ï Ì Ë É Ð ) will be easily defined by the distributed designer. Applying the algorithm described in Figure 5, primary horizontal fragmentation will be performed on the vertical fragments of classes ¾ Ì É Ë Ï Í» Î Ì and º» ¼ ½ ¾ ¼ ¼ ½ À Á Â, resulting in mixed fragments (these will represent a selection of Fragment 6 Fragment 5 Fragment 4 Fragment 3 Fragment 2 Fragment 1 Fragment 7 þ ÿ û ù ý ù ù ý. è é ê ë ì í î ï ð î î ï é ñ ò ó ô õ ö ø ù ú û ø ü ý ù. " & ' ( ) *! " # $ $ %! " # # $ $ % "! +,, -. / / : 1 ; 0 < 6,,, -. / / 4 5? : 1 ; 0 < 6 6,,, -. / / : 1 ; -. / / Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Ö Þ ß à à à à à á â ã ä å â æ ç ã 4 = 6 7 > < +,,, -. / / 4 =? 7 > < + +,,, -. / / 4 =? 7 > < A B C D D D E F G H I F J K G Figure 8- The final 007 Benchmark distributed database objects from the vertical fragments that satisfies some range predicates inserted in the affinity graph).the final mixed fragments will be defined as: F m 1(L M N O P Q R S T M ) = σ (bdate < 01/10/1996) F v 2(L M N O P Q R S T M ) F m 2(L M N O P Q R S T M ) = σ (bdate 01/10/96) and (bdate < 01/10/19) F v 2(L M N O P Q R S T M ) F m 3(L M N O P Q R S T M ) = ELSE F d i(u V W W X Y Z [ V W ) = \ ] ^ ^ _ ` a b ] ^ F m i(c a ] d b ` e f g a ), i = 1 to 3 F m 1(h i j k l j j k m n o p ) = σ (bdate<componentsprivate.bdate)f v 2(h i j k l j j k m n o p ) F m 2(h i j k l j j k m n o p ) = ELSE F d i(q r s t r u v w x y z { w ) = q r s t r u v w x y z { w F m i( z u x } u u x s ~ ),i= 1 to Evaluating the final distributed database Figure 8 illustrates the final 007 Benchmark Distributed Database obtained from our proposed fragmentation strategy. From the illustration, we may see that queries Q2, Q3 and Q5 will have their performance improved, since they will perform a direct access to only one fragment each (5, 6 and 2, respectively). Traversals T1 and T6 will not have a bad performance, because of the elimination of irrelevant data accessed by them. Although their entire navigation paths are not clustered into the fragment, this happened in order to improve performance of queries Q2

8 and Q3, which are more frequent. This prioritization of the most frequent transactions will surely improve the overall system performance. Also, the clustering of the navigation paths { ƒ ƒ ƒ ˆ Š Œ Œ ƒ Ž } and { Œ Ž Š Œ Ž Œ } will reduce the communication overhead during their execution. It is important to notice that the next phase of the distributed design (the allocation phase), which is not in the scope of this work, will possibly reduce this communication overhead even more, by allocating some of these defined fragments in the same site, or through replication techniques. 5 Conclusions In this paper we have proposed a new strategy to the fragmentation phase of the distributed design of OODBs. We have identified the most relevant issues to be considered in the fragmentation process, such as the dual nature of OO applications involving both set operations and navigation. Therefore, our strategy may detect, in the same database schema, classes that should be horizontally fragmented due to its navigation access and classes that should be vertically fragmented because of its search over a large extension and its attribute usage. Particularly in the OO model, vertical fragmentation also has a special appeal due to the existence of class methods. This work has pointed out the importance of mixed fragmentation, and has implemented it in the proposed algorithms. Mixed fragmentation benefits were already detected in [5] for the relational model, but it was not proposed in any of the related works for the OO model. The main contribution of this paper lies in providing a sequence of steps to be followed when fragmenting an OODB based on some developed heuristics, and the related algorithms. The first step analyzes the database structure and applications to decide the most adequate fragmentation strategy (horizontal and/or vertical) for each class, the second and third steps define respectively vertical and horizontal fragments of the classes indicated in the first step, considering derived fragmentation of classes to improve navigation performance. We have presented an evaluation of the proposed algorithm using the 007 Benchmark database schema. The final fragmentation schema considers characteristics that were not addressed in previous algorithms such as utilization of horizontal and/or vertical fragmentation of a class, and identification of small class extensions (the fragmentation of a small class extension accessed through navigation would incur in communication overhead that dominates the operation). The final fragmentation schema offers a high degree of parallelism (reached by horizontal fragmentation) together with an important reduction of irrelevant data (obtained with vertical fragmentation). Even though the use of heuristics for the distributed design of OODBs by the user is not a trivial task, the implemented algorithms certainly help the designer in defining the best fragmentation schema, considering all relevant information provided. Currently we are working on machine learning techniques (such as ILP) to improve the decision upon conflicting situations. References [1] Karlapalem, K. et. al, Issues in Distribution Design of Object-Oriented Databases. In: Özsu, M. et. al (eds), Distributed Object Management, Morgan Kaufmann Publishers, 1994 [2] Özsu, M., Valduriez, P., Principles of Distributed Database Systems, New Jersey, Prentice-Hall, 1991 [3] Ezeife, C., Barker, K., "A Comprehensive Approach to Horizontal Class Fragmentation in a Distributed Object Based System, Distributed and Parallel Databases, 3(3), pp , 1995 [4] Navathe, S., Ra, M., Vertical Partitioning for Database Design: A Graphical Algorithm. In: Proc. of 1989 ACM SIGMOD, pp , 1989 [5] Navathe, S. et. al, A Mixed Fragmentation Methodology for Initial Distributed Database Design, Journal of Computer and Software Engineering, vol. 3(4), 1995 [6] Maier, D..et al., Issues in Distributed Object Assembly. In: Özsu, M. et. al (eds), Distributed Object Management, Morgan Kaufmann Publishers, 1994 [7] Savonnet, M. et. al., Using Structural Schema Information as Heuristics for Horizontal Fragmentation of Object Classes in Distributed OODB, In: Proc IX Intl. Conf on Parallel & Distributed Computing Systems, pp , France, 1996 [8] Bellatreche, L. et. al, Vertical Fragmentation in Distributed Object Database Systems with Complex Attributes and Methods. In: Proc. of the 7th Intl Workshop on Database and Expert Systems Applications, 1996 [9] Ezeife, C., Barker, K., Vertical Class Fragmentation in a Distributed Object Based System, Technical Report 94-03, Dept of Computer Science, University of Manitoba, 1994 [10] Malinowski, E., Fragmentation Techniques for Distributed Object-Oriented Databases, Thesis, Univ. of Florida, 1996 [11] Lima, F. Mattoso, M., Performance Evaluation of Distribution in OODBMS: a Case Study with O2 In: Proc. IX Intl. Conf on Parallel & Distributed Computing Systems, pp , France, 1996 [12] Baião, F., A Strategy for the Distributed Design of Object Oriented Databases, Thesis, COPPE/UFRJ, Rio de Janeiro, Brazil, 1997 (in portuguese) [13] Baião, F., Mattoso, M., A Mixed Fragmentation Strategy for Distributed OO Databases, In: Proc. of The Second Workshop on CSCW in Design, pp , Bangkok, Thailand, 1997 [14] Chen, Y., Su, S., "Implementation and Evaluation of Parallel Query Processing Algorithms and Data Partitioning Heuristics in Object Oriented Databases, Distributed and Parallel Databases,4(2), pp , 1996 [15] Cluet, S., Delobel, C., "A General Framework for the Optimization of Object-Oriented Queries. In: Proc. of 1992 ACM SIGMOD, 21(2), pp , San Diego, 1992 [16] Carey, M., et. al., The 007 Benchmark. In: Proc. of 1993 ACM SIGMOD, 22(2), pp , 1993

Transactions on Information and Communications Technologies vol WIT Press, ISSN

Transactions on Information and Communications Technologies vol WIT Press,   ISSN A Knowledge-Based Perspective of the Distributed Design of Object Oriented Databases Fernanda Baiao, Marta Mattoso & Gerson Zaverucha baiao, marta, gerson@cos.ufrj.br Department of Computer Science - COPPE/UFRJ

More information

Horizontal Fragmentation in Object DBMS: New Issues and Performance Evaluation'

Horizontal Fragmentation in Object DBMS: New Issues and Performance Evaluation' Horizontal Fragmentation in Object DBMS: New Issues and Performance Evaluation' Fernanda BaiSio 293 Marta Mattoso Gerson Zaverucha 'v3 baiao @cos.ufrj.br marta @cos.ufrj.br gerson @cos.ufrj.br 2 Department

More information

Lecture 5 C Programming Language

Lecture 5 C Programming Language Lecture 5 C Programming Language Summary of Lecture 5 Pointers Pointers and Arrays Function arguments Dynamic memory allocation Pointers to functions 2D arrays Addresses and Pointers Every object in the

More information

APPLESHARE PC UPDATE INTERNATIONAL SUPPORT IN APPLESHARE PC

APPLESHARE PC UPDATE INTERNATIONAL SUPPORT IN APPLESHARE PC APPLESHARE PC UPDATE INTERNATIONAL SUPPORT IN APPLESHARE PC This update to the AppleShare PC User's Guide discusses AppleShare PC support for the use of international character sets, paper sizes, and date

More information

Personal Conference Manager (PCM)

Personal Conference Manager (PCM) Chapter 3-Basic Operation Personal Conference Manager (PCM) Guidelines The Personal Conference Manager (PCM) interface enables the conference chairperson to control various conference features using his/her

More information

International Journal of Modern Trends in Engineering and Research e-issn: p-issn:

International Journal of Modern Trends in Engineering and Research  e-issn: p-issn: International Journal of Modern Trends in Engineering and Research www.ijmter.com Fragmentation as a Part of Security in Distributed Database: A Survey Vaidik Ochurinda 1 1 External Student, MCA, IGNOU.

More information

Pointers. CS2023 Winter 2004

Pointers. CS2023 Winter 2004 Pointers CS2023 Winter 2004 Outcomes: Introduction to Pointers C for Java Programmers, Chapter 8, sections 8.1-8.8 Other textbooks on C on reserve After the conclusion of this section you should be able

More information

ERNST. Environment for Redaction of News Sub-Titles

ERNST. Environment for Redaction of News Sub-Titles ERNST Environment for Redaction of News Sub-Titles Introduction ERNST (Environment for Redaction of News Sub-Titles) is a software intended for preparation, airing and sequencing subtitles for news or

More information

Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide. An Oracle White Paper December 2011

Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide. An Oracle White Paper December 2011 Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide An Oracle White Paper December 2011 Disclaimer The following is intended to outline our general product direction.

More information

Pointers & Arrays. CS2023 Winter 2004

Pointers & Arrays. CS2023 Winter 2004 Pointers & Arrays CS2023 Winter 2004 Outcomes: Pointers & Arrays C for Java Programmers, Chapter 8, section 8.12, and Chapter 10, section 10.2 Other textbooks on C on reserve After the conclusion of this

More information

Heuristic Horizontal XML Fragmentation

Heuristic Horizontal XML Fragmentation Heuristic Horizontal XML Fragmentation Hui Ma, Klaus-Dieter Schewe Massey University, Information Science Research Centre Private Bag 11 222, Palmerston North, New Zealand [h.ma k.d.schewe]@massey.ac.nz

More information

This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version 3.0.

This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version 3.0. Range: This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version.. isclaimer The shapes of the reference glyphs used in these code charts

More information

Cartons (PCCs) Management

Cartons (PCCs) Management Final Report Project code: 2015 EE04 Post-Consumer Tetra Pak Cartons (PCCs) Management Prepared for Tetra Pak India Pvt. Ltd. Post Consumer Tetra Pak Cartons (PCCs) Management! " # $ " $ % & ' ( ) * +,

More information

A COMPARISON BETWEEN OBJECT-ORIENTED DATABASE SYSTEMS AND INFORMATION SYSTEM SHELLS

A COMPARISON BETWEEN OBJECT-ORIENTED DATABASE SYSTEMS AND INFORMATION SYSTEM SHELLS A COMPARISON BETWEEN OBJECT-ORIENTED DATABASE SYSTEMS AND INFORMATION SYSTEM SHELLS ABSTRACT The work makes an overview of the main characteristics of object-oriented database systems (OODBS) and information

More information

ASCII Code - The extended ASCII table

ASCII Code - The extended ASCII table ASCII Code - The extended ASCII table ASCII, stands for American Standard Code for Information Interchange. It's a 7-bit character code where every single bit represents a unique character. On this webpage

More information

Scan Scheduling Specification and Analysis

Scan Scheduling Specification and Analysis Scan Scheduling Specification and Analysis Bruno Dutertre System Design Laboratory SRI International Menlo Park, CA 94025 May 24, 2000 This work was partially funded by DARPA/AFRL under BAE System subcontract

More information

OOstaExcel.ir. J. Abbasi Syooki. HTML Number. Device Control 1 (oft. XON) Device Control 3 (oft. Negative Acknowledgement

OOstaExcel.ir. J. Abbasi Syooki. HTML Number. Device Control 1 (oft. XON) Device Control 3 (oft. Negative Acknowledgement OOstaExcel.ir J. Abbasi Syooki HTML Name HTML Number دهدهی ا کتال هگزاد سیمال باینری نشانه )کاراکتر( توضیح Null char Start of Heading Start of Text End of Text End of Transmission Enquiry Acknowledgment

More information

) $ G}] }O H~U. G yhpgxl. Cong

) $ G}] }O H~U. G yhpgxl. Cong » Þ åî ïî á ë ïý þý ÿ þ ë ú ú F \ Œ Œ Ÿ Ÿ F D D D\ \ F F D F F F D D F D D D F D D D D FD D D D F D D FD F F F F F F F D D F D F F F D D D D F Ÿ Ÿ F D D Œ Ÿ D Ÿ Ÿ FŸ D c ³ ² í ë óô ò ð ¹ í ê ë Œ â ä ã

More information

Modules. CS2023 Winter 2004

Modules. CS2023 Winter 2004 Modules CS2023 Winter 2004 Outcomes: Modules C for Java Programmers, Chapter 7, sections 7.4.1-7.4.6 Code Complete, Chapter 6 After the conclusion of this section you should be able to Understand why modules

More information

A Proposal for the Implementation of a Parallel Watershed Algorithm

A Proposal for the Implementation of a Parallel Watershed Algorithm A Proposal for the Implementation of a Parallel Watershed Algorithm A. Meijster and J.B.T.M. Roerdink University of Groningen, Institute for Mathematics and Computing Science P.O. Box 800, 9700 AV Groningen,

More information

Version /10/2015. Type specimen. Bw STRETCH

Version /10/2015. Type specimen. Bw STRETCH Version 1.00 08/10/2015 Bw STRETCH type specimen 2 Description Bw Stretch is a compressed grotesque designed by Alberto Romanos, suited for display but also body text purposes. It started in 2013 as a

More information

HEURISTIC ALGORITHM FOR FRAGMENTATION AND ALLOCATION IN DISTRIBUTED OBJECT ORIENTED DATABASES

HEURISTIC ALGORITHM FOR FRAGMENTATION AND ALLOCATION IN DISTRIBUTED OBJECT ORIENTED DATABASES Journal of Computer Science and Cybernetics, V.32, N.1 (2016), 45 58 DOI: 10.15625/1813-9663/32/1/5772 HEURISTIC ALGORITHM FOR FRAGMENTATION AND ALLOCATION IN DISTRIBUTED OBJECT ORIENTED DATABASES MAI

More information

Probabilistic analysis of algorithms: What s it good for?

Probabilistic analysis of algorithms: What s it good for? Probabilistic analysis of algorithms: What s it good for? Conrado Martínez Univ. Politècnica de Catalunya, Spain February 2008 The goal Given some algorithm taking inputs from some set Á, we would like

More information

Sheila. Regular Bold. User s Guide

Sheila. Regular Bold. User s Guide Sheila Regular Bold User s Guide font faq HOW TO INSTALL YOUR FONT You will receive your files as a zipped folder. For instructions on how to unzip your folder, visit LauraWorthingtonType.com/faqs/. Your

More information

Cassandra: Distributed Access Control Policies with Tunable Expressiveness

Cassandra: Distributed Access Control Policies with Tunable Expressiveness Cassandra: Distributed Access Control Policies with Tunable Expressiveness p. 1/12 Cassandra: Distributed Access Control Policies with Tunable Expressiveness Moritz Y. Becker and Peter Sewell Computer

More information

COFI Approach for Mining Frequent Itemsets Revisited

COFI Approach for Mining Frequent Itemsets Revisited COFI Approach for Mining Frequent Itemsets Revisited Mohammad El-Hajj Department of Computing Science University of Alberta,Edmonton AB, Canada mohammad@cs.ualberta.ca Osmar R. Zaïane Department of Computing

More information

A NEW APPROACH IN FRAGMENTATION OF DISTRIBUTED OBJECT ORIENTED DATABASES USING CLUSTERING TECHNIQUES

A NEW APPROACH IN FRAGMENTATION OF DISTRIBUTED OBJECT ORIENTED DATABASES USING CLUSTERING TECHNIQUES STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume L, Number 2, 2005 A NEW APPROACH IN FRAGMENTATION OF DISTRIBUTED OBJECT ORIENTED DATABASES USING CLUSTERING TECHNIQUES ADRIAN SERGIU DARABANT Abstract. Horizontal

More information

HoneyBee User s Guide

HoneyBee User s Guide HoneyBee User s Guide font faq HOW TO INSTALL YOUR FONT You will receive your files as a zipped folder. For instructions on how to unzip your folder, visit LauraWorthingtonType.com/faqs/. Your font is

More information

CMPT 470 Based on lecture notes by Woshun Luk

CMPT 470 Based on lecture notes by Woshun Luk * ) ( & 2XWOLQH &RPSRQHQ 2EMHF 0RGXOHV CMPT 470 ased on lecture notes by Woshun Luk What is a DLL? What is a COM object? Linking two COM objects Client-Server relationships between two COM objects COM

More information

Adorn. Serif. Smooth. v22622x. user s guide PART OF THE ADORN POMANDER SMOOTH COLLECTION

Adorn. Serif. Smooth. v22622x. user s guide PART OF THE ADORN POMANDER SMOOTH COLLECTION s u Adorn f Serif Smooth 9 0 t v22622x user s guide PART OF THE ADORN POMANDER SMOOTH COLLECTION v font faq HOW TO INSTALL YOUR FONT You will receive your files as a zipped folder. For instructions on

More information

Getting round your Mac with Shortcut Keys

Getting round your Mac with Shortcut Keys The Mac has many useful keyboard shortcuts but these do depend on you knowing the difference between the following keys: Shift Fn Ctrl Alt (Also referred to as Option) Command (Also referred to as the

More information

ConMan. A Web based Conference Manager for Asterisk. How I Managed to get Con'd into skipping my summer vacation by building this thing

ConMan. A Web based Conference Manager for Asterisk. How I Managed to get Con'd into skipping my summer vacation by building this thing ConMan A Web based Conference Manager for Asterisk -or- How I Managed to get Con'd into skipping my summer vacation by building this thing $90503&07 $:3.74889028,-47,94708 $90503&078:3.42 Sun Labs, slide

More information

III. CLAIMS ADMINISTRATION

III. CLAIMS ADMINISTRATION III. CLAIMS ADMINISTRATION Insurance Providers: Liability Insurance: Greenwich Insurance Company American Specialty Claims Representative: Mark Thompson 142 N. Main Street, Roanoke, IN 46783 Phone: 260-672-8800

More information

Department DeptId : N Dname : S Proj. Vehicle VId : N Manufacturer Color : S Model : S

Department DeptId : N Dname : S Proj. Vehicle VId : N Manufacturer Color : S Model : S Horizontal Class Partitioning in Object-Oriented Databases? Ladjel Bellatreche 1 and Kamalakar Karlapalem 1 and Ana Simonet 2 1 University of Science and Technology Department of Computer Science Clear

More information

Database system development lifecycles

Database system development lifecycles Database system development lifecycles 2009 Yunmook Nah Department of Electronics and Computer Engineering School of Computer Science & Engineering Dankook University 이석호 ä ± Á Ç ºÐ ¼ ¼³ è ± Çö î µ ½Ã

More information

USB-ASC232. ASCII RS-232 Controlled USB Keyboard and Mouse Cable. User Manual

USB-ASC232. ASCII RS-232 Controlled USB Keyboard and Mouse Cable. User Manual USB-ASC232 ASCII RS-232 Controlled USB Keyboard and Mouse Cable User Manual Thank you for purchasing the model USB-ASC232 Cable HAGSTROM ELECTRONICS, INC. is pleased that you have selected this product

More information

A Parameter Study for Differential Evolution

A Parameter Study for Differential Evolution A Parameter Study for Differential Evolution ROGER GÄMPERLE SIBYLLE D MÜLLER PETROS KOUMOUTSAKOS Institute of Computational Sciences Department of Computer Science Swiss Federal Institute of Technology

More information

Adorn. Serif. Smooth. v22622x

Adorn. Serif. Smooth. v22622x s u Adorn f Serif Smooth 9 0 t v22622x user s guide PART OF THE ADORN POMANDER SMOOTH COLLECTION v O P E N T Y P E FAQ : For information on how to access the swashes and alternates, visit LauraWorthingtonType.com/faqs

More information

DATABASE TECHNOLOGY - 1DL124

DATABASE TECHNOLOGY - 1DL124 1 DATABASE TECHNOLOGY - 1DL124 Summer 2007 An introductury course on database systems http://user.it.uu.se/~udbl/dbt-sommar07/ alt. http://www.it.uu.se/edu/course/homepage/dbdesign/st07/ Kjell Orsborn

More information

font faq HOW TO INSTALL YOUR FONT HOW TO INSERT SWASHES, ALTERNATES, AND ORNAMENTS

font faq HOW TO INSTALL YOUR FONT HOW TO INSERT SWASHES, ALTERNATES, AND ORNAMENTS font faq HOW TO INSTALL YOUR FONT You will receive your files as a zipped folder. For instructions on how to unzip your folder, visit LauraWorthingtonType.com/faqs/. Your font is available in two formats:

More information

1. Oracle Mobile Agents? 2. client-agent-server client-server

1. Oracle Mobile Agents? 2. client-agent-server client-server 1. Oracle Mobile Agents?!"#$ application software system%. &'( )'*+, -. */0 1 23 45 678 9:; >?, %@ +%. - 6A(mobility) : B? CDE@ F GH8!" * channel #I 1 = / 4%. ()'*, &', LAN) - * application

More information

A Class Normalization Approach to the Design of Object-Oriented Databases

A Class Normalization Approach to the Design of Object-Oriented Databases A Class Normalization Approach to the Design of Object-Oriented Databases Shuguang Hong Dept. of Computer Information Systems Georgia State University Atlanta, GA 30302-4015 CISSSHX@GSUVM1.Bitnet ABSTRACT

More information

Adorn. Slab Serif Smooth R E G U LAR. v22622x

Adorn. Slab Serif Smooth R E G U LAR. v22622x s u Adorn f Slab Serif Smooth R E G U LAR B OL D t 0 v22622x 9 user s guide PART OF THE ADORN POMANDER SMOOTH COLLECTION v O P E N T Y P E FAQ : For information on how to access the swashes and alternates,

More information

E-R Model. Hi! Here in this lecture we are going to discuss about the E-R Model.

E-R Model. Hi! Here in this lecture we are going to discuss about the E-R Model. E-R Model Hi! Here in this lecture we are going to discuss about the E-R Model. What is Entity-Relationship Model? The entity-relationship model is useful because, as we will soon see, it facilitates communication

More information

font faq HOW TO INSTALL YOUR FONT HOW TO INSERT SWASHES, ALTERNATES, AND ORNAMENTS

font faq HOW TO INSTALL YOUR FONT HOW TO INSERT SWASHES, ALTERNATES, AND ORNAMENTS font faq HOW TO INSTALL YOUR FONT You will receive your files as a zipped folder. For instructions on how to unzip your folder, visit LauraWorthingtonType.com/faqs/. Your font is available in two formats:

More information

Constructive floorplanning with a yield objective

Constructive floorplanning with a yield objective Constructive floorplanning with a yield objective Rajnish Prasad and Israel Koren Department of Electrical and Computer Engineering University of Massachusetts, Amherst, MA 13 E-mail: rprasad,koren@ecs.umass.edu

More information

Evaluating XPath Queries

Evaluating XPath Queries Chapter 8 Evaluating XPath Queries Peter Wood (BBK) XML Data Management 201 / 353 Introduction When XML documents are small and can fit in memory, evaluating XPath expressions can be done efficiently But

More information

Chapter 2: Intro to Relational Model

Chapter 2: Intro to Relational Model Non è possibile visualizzare l'immagine. Chapter 2: Intro to Relational Model Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Example of a Relation attributes (or columns)

More information

A Review on Fragmentation Techniques in Distributed Database

A Review on Fragmentation Techniques in Distributed Database International Journal of Modern Trends in Engineering and Research www.ijmter.com A Review on Fragmentation Techniques in Distributed Database Akashkumar Patel1, Rakshitkumar Hirapara2, Vivekkumar Dhamecha3

More information

Adorn. Serif. v x. user s gu ide

Adorn. Serif. v x. user s gu ide Adorn f Serif t 9a0 v2226222x user s gu ide v fon t faq HOW T O I N S TA L L YOU R F ON T H O W T O I N S E R T S WA S H E S, You will receive your files as a zipped folder. For instructions on how to

More information

Information management for MST cleanroom processes

Information management for MST cleanroom processes PhoeniX Cleanroom Database Process Flow Module Application Note 200308001 Information management for MST cleanroom processes A systematic and efficient approach in managing and preserving the knowledge

More information

Vertical Partitioning in Object Oriented Databases Using Intelligent Agents

Vertical Partitioning in Object Oriented Databases Using Intelligent Agents IJCSNS International Journal of Computer Science and Network Security, VOL8 No10, October 2008 205 Vertical Partitioning in Object Oriented Databases Using Intelligent Agents Rajan John and Dr V Saravanan,

More information

To provide state and district level PARCC assessment data for the administration of Grades 3-8 Math and English Language Arts.

To provide state and district level PARCC assessment data for the administration of Grades 3-8 Math and English Language Arts. 200 West Baltimore Street Baltimore, MD 21201 410-767-0100 410-333-6442 TTY/TDD msde.maryland.gov TO: FROM: Members of the Maryland State Board of Education Jack R. Smith, Ph.D. DATE: December 8, 2015

More information

Worst-Case Utilization Bound for EDF Scheduling on Real-Time Multiprocessor Systems

Worst-Case Utilization Bound for EDF Scheduling on Real-Time Multiprocessor Systems Worst-Case Utilization Bound for EDF Scheduling on Real-Time Multiprocessor Systems J.M. López, M. García, J.L. Díaz, D.F. García University of Oviedo Department of Computer Science Campus de Viesques,

More information

Database Recovery. Haengrae Cho Yeungnam University. Database recovery. Introduction to Database Systems

Database Recovery. Haengrae Cho Yeungnam University. Database recovery. Introduction to Database Systems Database Recovery Haengrae Cho Yeungnam University Database recovery. Introduction to Database Systems Report Yeungnam University, Database Lab. Chapter 1-1 1. Introduction to Database Recovery 2. Recovery

More information

Banner 8 Using International Characters

Banner 8 Using International Characters College of William and Mary Banner 8 Using International Characters A Reference and Training Guide Banner Support January 23, 2009 Table of Contents Windows XP Keyboard Setup 3 VISTA Keyboard Setup 7 Creating

More information

State of Connecticut Workers Compensation Commission

State of Connecticut Workers Compensation Commission State of Connecticut Workers Compensation Commission Notice to Employees Workers Compensation Act Chapter 568 of the Connecticut General Statutes (the Workers Compensation Act) requires your employer,

More information

BUCKLEY. User s Guide

BUCKLEY. User s Guide BUCKLEY User s Guide O P E N T Y P E FAQ : For information on how to access the swashes and alternates, visit LauraWorthingtonType.com/faqs All operating systems come equipped with a utility that make

More information

Contrast. user s guide

Contrast. user s guide N Contrast chu U77777777V user s guide c P font faq HOW TO INSTALL YOUR FONT You will receive your files as a zipped folder. For instructions on how to unzip your folder, visit LauraWorthingtonType.com/faqs/.

More information

ADORN. Roman. v x. user s gu ide

ADORN. Roman. v x. user s gu ide ADORN f Roman t 9a0 v2226222x user s gu ide v fon t faq HOW T O I N S TA L L YOU R F ON T H O W T O I N S E R T S WA S H E S, You will receive your files as a zipped folder. For instructions on how to

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

IMPROVING PERFORMANCE OF PARALLEL SIMULATION KERNEL FOR WIRELESS NETWORK SIMULATIONS

IMPROVING PERFORMANCE OF PARALLEL SIMULATION KERNEL FOR WIRELESS NETWORK SIMULATIONS IMPROVING PERFORMANCE OF PARALLEL SIMULATION KERNEL FOR WIRELESS NETWORK SIMULATIONS M. Thoppian, S. Venkatesan, H. Vu, R. Prakash, N. Mittal Department of Computer Science, The University of Texas at

More information

Description AX5805. Default values for the permissible motors. Version: Date:

Description AX5805. Default values for the permissible motors. Version: Date: Description values for the permissible motors Version: 1.3.0 Date: 2017-06-01 Table of contents Table of contents 1 Foreword 2 1.1 Notes on the manual 2 1.1.1 Intendent audience 2 1.1.2 Origin of the

More information

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems On Object Orientation as a Paradigm for General Purpose Distributed Operating Systems Vinny Cahill, Sean Baker, Brendan Tangney, Chris Horn and Neville Harris Distributed Systems Group, Dept. of Computer

More information

Introduction to operation

Introduction to operation Introduction to operation C 70 The status of the system is visualized in real time and shows a synoptic of both the transfer chamber and the main components of the machine sheet C 70A A number of different

More information

Bold U S E R S G U I D E

Bold U S E R S G U I D E Yana Regular Bold Italic USER S GUIDE S S S font faq HOW TO INSTALL YOUR FONT You will receive your files as a zipped folder. For instructions on how to unzip your folder, visit LauraWorthingtonType.com/faqs/.

More information

Database Languages and their Compilers

Database Languages and their Compilers Database Languages and their Compilers Prof. Dr. Torsten Grust Database Systems Research Group U Tübingen Winter 2010 2010 T. Grust Database Languages and their Compilers 4 Query Normalization Finally,

More information

ClaimSpotter: an Environment to Support Sensemaking with Knowledge Triples

ClaimSpotter: an Environment to Support Sensemaking with Knowledge Triples ClaimSpotter: an Environment to Support Sensemaking with Knowledge Triples Bertrand Sereno, Simon Buckingham Shum & Enrico Motta Knowledge Media Institute The Open University Milton Keynes MK7 6AA, UK

More information

Adorn. Slab Serif BOLD. v x. user s gu ide

Adorn. Slab Serif BOLD. v x. user s gu ide Adorn f Slab Serif BOLD t 9a0 v2226222x user s gu ide v fon t faq HOW T O I N S TA L L YOU R F ON T H O W T O I N S E R T S WA S H E S, You will receive your files as a zipped folder. For instructions

More information

Semester Thesis. Ad-Hoc Services. Marc Schiely, Clemens Schroedter

Semester Thesis. Ad-Hoc Services. Marc Schiely, Clemens Schroedter Semester Thesis Ad-Hoc Services Marc Schiely, Clemens Schroedter maschiel@student.ethz.ch, clschroe@student.ethz.ch Dept. of Computer Science Swiss Federal Institute of Technology (ETH) Zurich Winter 2002

More information

]a a. ] v. A. Silberschatz, H. Korth and S. Sudarshan, Database System Concepts (3rd Edition), The McGraw Hill Company, 1997.

]a a. ] v. A. Silberschatz, H. Korth and S. Sudarshan, Database System Concepts (3rd Edition), The McGraw Hill Company, 1997. ]a a î íf= áõâfé ] v = A. Silberschatz, H. Korth and S. Sudarshan, Database System Concepts (3rd Edition), The McGraw Hill Company, 1997. C. Batini, S.Ceri, and S. Navathe, Conceptual Database Design -

More information

Appendix C. Numeric and Character Entity Reference

Appendix C. Numeric and Character Entity Reference Appendix C Numeric and Character Entity Reference 2 How to Do Everything with HTML & XHTML As you design Web pages, there may be occasions when you want to insert characters that are not available on your

More information

A Mixed Fragmentation Methodology For. Initial Distributed Database Design. Shamkant B. Navathe. Georgia Institute of Technology.

A Mixed Fragmentation Methodology For. Initial Distributed Database Design. Shamkant B. Navathe. Georgia Institute of Technology. A Mixed Fragmentation Methodology For Initial Distributed Database Design Shamkant B. Navathe Georgia Institute of Technology Kamalakar Karlapalem Hong Kong University of Science and Technology Minyoung

More information

O Type of array element

O Type of array element ! " #! $ % % # & : ; a ontiguous sequene of variables. all of the sae type. Eah variable is identified by its index. Index values are integers. Index of first entry is. ' ( ) * + May /,. - ( & ( ( J K

More information

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 25-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 25-1 Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 25-1 Chapter 25 Distributed Databases and Client-Server Architectures Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 25 Outline

More information

font faq HOW TO INSTALL YOUR FONT HOW TO INSERT SWASHES, ALTERNATES, AND ORNAMENTS

font faq HOW TO INSTALL YOUR FONT HOW TO INSERT SWASHES, ALTERNATES, AND ORNAMENTS font faq HOW TO INSTALL YOUR FONT You will receive your files as a zipped folder. For instructions on how to unzip your folder, visit LauraWorthingtonType.com/faqs/. Your font is available in two formats:

More information

I. Khalil Ibrahim, V. Dignum, W. Winiwarter, E. Weippl, Logic Based Approach to Semantic Query Transformation for Knowledge Management Applications,

I. Khalil Ibrahim, V. Dignum, W. Winiwarter, E. Weippl, Logic Based Approach to Semantic Query Transformation for Knowledge Management Applications, I. Khalil Ibrahim, V. Dignum, W. Winiwarter, E. Weippl, Logic Based Approach to Semantic Query Transformation for Knowledge Management Applications, Proc. of the International Conference on Knowledge Management

More information

Automatic Counterflow Pipeline Synthesis

Automatic Counterflow Pipeline Synthesis Automatic Counterflow Pipeline Synthesis Bruce R. Childers, Jack W. Davidson Computer Science Department University of Virginia Charlottesville, Virginia 22901 {brc2m, jwd}@cs.virginia.edu Abstract The

More information

Dynamic Optimization of Generalized SQL Queries with Horizontal Aggregations Using K-Means Clustering

Dynamic Optimization of Generalized SQL Queries with Horizontal Aggregations Using K-Means Clustering Dynamic Optimization of Generalized SQL Queries with Horizontal Aggregations Using K-Means Clustering Abstract Mrs. C. Poongodi 1, Ms. R. Kalaivani 2 1 PG Student, 2 Assistant Professor, Department of

More information

ECE608 - Chapter 16 answers

ECE608 - Chapter 16 answers ¼ À ÈÌ Ê ½ ÈÊÇ Ä ÅË ½µ ½ º½¹ ¾µ ½ º½¹ µ ½ º¾¹½ µ ½ º¾¹¾ µ ½ º¾¹ µ ½ º ¹ µ ½ º ¹ µ ½ ¹½ ½ ECE68 - Chapter 6 answers () CLR 6.-4 Let S be the set of n activities. The obvious solution of using Greedy-Activity-

More information

A Class Hierarchy Concurrency Control Technique in Object-Oriented Database Systems

A Class Hierarchy Concurrency Control Technique in Object-Oriented Database Systems A Class Hierarchy Concurrency Control Technique in Object-Oriented Database Systems Woochun Jun and Le Gruenwald Dept. of Computer Science Univ. of Oklahoma Norman, OK 73072 gruenwal@cs.ou.edu Abstract

More information

UNIVERSITY OF THE FREE STATE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATICS CSIS1614

UNIVERSITY OF THE FREE STATE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATICS CSIS1614 UNIVERSITY OF THE FREE STATE DEPARTMENT OF COMPUTER SCIENCE AND INFORMATICS CSIS1614 DATE: 7 May 2015 MARKS: 130 ASSESSOR: Prof. P.J. Blignaut (Bonus marks: 5) MODERATOR: Dr. L. de Wet TIME: 180 minutes

More information

CLUSTER ANALYSIS. V. K. Bhatia I.A.S.R.I., Library Avenue, New Delhi

CLUSTER ANALYSIS. V. K. Bhatia I.A.S.R.I., Library Avenue, New Delhi CLUSTER ANALYSIS V. K. Bhatia I.A.S.R.I., Library Avenue, New Delhi-110 012 In multivariate situation, the primary interest of the experimenter is to examine and understand the relationship amongst the

More information

Chemistry Hour Exam 2

Chemistry Hour Exam 2 Chemistry 838 - Hour Exam 2 Fall 2003 Department of Chemistry Michigan State University East Lansing, MI 48824 Name Student Number Question Points Score 1 15 2 15 3 15 4 15 5 15 6 15 7 15 8 15 9 15 Total

More information

Control-Flow-Graph-Based Aspect Mining

Control-Flow-Graph-Based Aspect Mining Control-Flow-Graph-Based Aspect Mining Jens Krinke FernUniversität in Hagen, Germany krinke@acm.org Silvia Breu NASA Ames Research Center, USA silvia.breu@gmail.com Abstract Aspect mining tries to identify

More information

Communication and processing of text in the Kildin Sámi, Komi, and Nenets, and Russian languages.

Communication and processing of text in the Kildin Sámi, Komi, and Nenets, and Russian languages. TYPE: 96 Character Graphic Character Set REGISTRATION NUMBER: 200 DATE OF REGISTRATION: 1998-05-01 ESCAPE SEQUENCE G0: -- G1: ESC 02/13 06/00 G2: ESC 02/14 06/00 G3: ESC 02/15 06/00 C0: -- C1: -- NAME:

More information

Second Year March 2017

Second Year March 2017 Reg. No. :... Code No. 5052 Name :... Second Year March 2017 Time : 2 Hours Cool-off time : 15 Minutes Part III COMPUTER APPLICATION (Commerce) Maximum : 60 Scores General Instructions to Candidates :

More information

Adorn. Bouquet. v x. user s gu ide

Adorn. Bouquet. v x. user s gu ide Adorn Bouquet f 9a0 v2226222x user s gu ide t v font faq HOW TO INSTALL YOUR FONT You will receive your files as a zipped folder. For instructions on how to unzip your folder, visit LauraWorthingtonType.com/faqs/.

More information

CMSC 313 Lecture 03 Multiple-byte data big-endian vs little-endian sign extension Multiplication and division Floating point formats Character Codes

CMSC 313 Lecture 03 Multiple-byte data big-endian vs little-endian sign extension Multiplication and division Floating point formats Character Codes Multiple-byte data CMSC 313 Lecture 03 big-endian vs little-endian sign extension Multiplication and division Floating point formats Character Codes UMBC, CMSC313, Richard Chang 4-5 Chapter

More information

ORDBMS - Introduction

ORDBMS - Introduction ORDBMS - Introduction 1 Theme The need for extensions in Relational Data Model Classification of database systems Introduce extensions to the basic relational model Applications that would benefit from

More information

A Flexible Agent-Based Framework for Process Management

A Flexible Agent-Based Framework for Process Management A Flexible Agent-Based Framework for Process Management Gregor Joeris, Christoph Klauck, Holger Wache University of Bremen FB 3, TZI / AG KI P.O. Box 330 440 D-28334 Bremen Germany joeris klauck wache@informatik.uni-bremen.de

More information

User Guide for Greek GGT-Fonts Revision date: 23 May, 2011

User Guide for Greek GGT-Fonts Revision date: 23 May, 2011 User Guide for Greek GGT-Fonts Revision date: 23 May, 2011 by Graham G Thomason Copyright Graham G Thomason, 2009. Permission is granted to copy or publish this document, provided this complete notice

More information

The course that gives CMU its Zip! Web Services Nov 26, Topics HTTP Serving static content Serving dynamic content

The course that gives CMU its Zip! Web Services Nov 26, Topics HTTP Serving static content Serving dynamic content 15-213 The course that gives CMU its Zip! Web Services Nov 26, 2002 Topics HTTP Serving static content Serving dynamic content Web History 1945: 1989: 1990: Vannevar Bush, As we may think, Atlantic Monthly,

More information

Introduction to Relational Databases. Introduction to Relational Databases cont: Introduction to Relational Databases cont: Relational Data structure

Introduction to Relational Databases. Introduction to Relational Databases cont: Introduction to Relational Databases cont: Relational Data structure Databases databases Terminology of relational model Properties of database relations. Relational Keys. Meaning of entity integrity and referential integrity. Purpose and advantages of views. The relational

More information

An Effective Class Hierarchy Concurrency Control Technique in Object-Oriented Database Systems

An Effective Class Hierarchy Concurrency Control Technique in Object-Oriented Database Systems An Effective Class Hierarchy Concurrency Control Technique in Object-Oriented Database Systems Woochun Jun and Le Gruenwald School of Computer Science University of Oklahoma Norman, OK 73019 wocjun@cs.ou.edu;

More information

Chapter 4. The Relational Model

Chapter 4. The Relational Model Chapter 4 The Relational Model Chapter 4 - Objectives Terminology of relational model. How tables are used to represent data. Connection between mathematical relations and relations in the relational model.

More information

PJ-600 Series Printer ESC/P Command Reference

PJ-600 Series Printer ESC/P Command Reference PJ-600 Series Printer ESC/P Command Reference Version 1.00 Model Name: PJ-622/623/662/663 Brother Industries, Ltd. 1 Machine Model: PJ-622/623/662/663 IMPORTANT - PLEASE READ CAREFULLY This

More information

SFU CMPT Lecture: Week 9

SFU CMPT Lecture: Week 9 SFU CMPT-307 2008-2 1 Lecture: Week 9 SFU CMPT-307 2008-2 Lecture: Week 9 Ján Maňuch E-mail: jmanuch@sfu.ca Lecture on July 8, 2008, 5.30pm-8.20pm SFU CMPT-307 2008-2 2 Lecture: Week 9 Binary search trees

More information

A Survey of Current CLOS MOP Implementations

A Survey of Current CLOS MOP Implementations A Survey of Current CLOS MOP Implementations Raymond de Lacaze Artificial Intelligence Center SRI International 333 Ravenswood Ave. Menlo Park, CA 9402 delacaze@ai.sri.com Tim Bradshaw Cley Limited 6 East

More information

MAT 22B-001: Differential Equations

MAT 22B-001: Differential Equations MAT 22B-001: Differential Equations Final Exam Solutions Note: There is a table of the Laplace transform in the last page Name: SSN: Total Score: Problem 1 (5 pts) Solve the following initial value problem

More information