Combining Associative and Navigational Access in Persistent Object Stores

Size: px
Start display at page:

Download "Combining Associative and Navigational Access in Persistent Object Stores"

Transcription

1 Combiig Associative ad Navigatioal Access i Persistet Object Stores Markus Kirchberg, Weea Nusdi, Alexei Tretiakov Iformatio Sciece Research Cetre, Departmet of Iformatio Systems, Massey Uiversity, Private Bag 222, Palmersto North 530, New Zealad {m.kirchberg,a.tretiakov}@massey.ac.z Abstract. We itroduce a approach allowig to support queries ivolvig both avigatio alog refereces (i.e. avigatioal access) ad impositio of coditios o object data (i.e. associative access) i Persistet Object Stores (POS). Our approach does ot directly rely o the kowledge of the database schema ad of the queries to be supported, ad thus ca be used to support ad-hoc queryig of semistructured data. The basic access structures it uses (i.e. selector metaobjects represetig sets of values coected via refereces to database objects ad refereces) are stable with respect to chages i database data i a sese that chages i the value of oe object do ot ecessitate chages of the elemets of the support structure facilitatig access to other objects. I additio, we propose a extesio of the matrix idex approach to support avigatioal access such that mai memory space usage is decreased. Also, we demostrate how matrix idex codig ca be ehaced further to support the combied avigatioal ad associative access by providig guaratees for ecoded object sequeces by referecig selector metaobjects.. Itroductio The area of providig access to stored data is oe of the importat research topics of database systems. It relates to several fuctios of a database maagemet system (DBMS) such as query laguages (QLs) ad secodary storage maagemet. [] defies that a QL is, 'a otatio for expressig queries, coupled with a mechaism for assigig meaig to the expressio'. I other words, a QL eables users to pose questios about data i a database. For object-orieted data models (OODMs) there have bee a umber of query laguages proposed, icludig algebraic, calculus, logic programmig orieted ad SQL-like approaches []. I relatio to the secodary storage maagemet of a object-orieted database system (OODBS), which affects the efficiecy of retrieval of requested data from a database, there are several issues cocered. Such issues iclude the eed to build auxiliary data structures (i.e. idices) that speed up the search for requested data. Efficiet data access approaches reduce the umber of I/O operatios eeded ad the time spet durig the search for requested data i secodary (or tertiary) storage devices. The criteria used to evaluate the performace of idices are for example the cost to search for requested data usig idices ad the storage size required to store idices [3, 8, 0, 23]. The cost performace of idices ca be estimated i terms of the umber of I/O operatios required to perform idex-based data lookup. I particular, if

2 the size of idices is small eough for them to fit ito the mai memory, the lookup time is dramatically improved. Therefore, miimizig the idex size is of prime importace. As commoly agreed, queries i a OODBS are supported by three types of data access icludig direct, avigatioal ad associative access [8, 9, 0, 23]: Direct access is retrieval of a set of objects via their explicitly give object idetifiers (OIDs). Navigatioal access is retrieval of a set of OIDs based o avigatio alog refereces betwee objects begiig from ay give object. Associative access is retrieval of a set of OIDs that meet coditios specified o object values. Associative access i a OODBS ofte icludes avigatioal access to refereced or referecig objects of the object beig accessed [8]. It was foud that the existig approaches proposed for associative access are tied to specific paths i the objectorieted schema, ad do ot perform well i case of ad-hoc queries or semi-structured or close to semi-structured data [5]. Our research addresses these problems. I this paper, we study how associative access ca be supported i a persistet object store (POS) regardless of paths or iheritace hierarchies ivolved with a query. We propose extesios to a model of a POS such that approaches that are proposed for avigatioal access ca be used to support associative access i the exteded POS. The extesios iclude:. clusterig storage objects i a POS o their classes or values of attributes; 2. clusterig refereces i a POS o classes or values of attributes of objects they coect; 3. providig guaratees for groups of refereces, ad for objects they coect. The rest of the article is orgaized as follows. Sectio 2 discusses the related work o idexig OODBMS ad XML data. Sectios 3 ad 4 itroduce a geeric POSlevel data model ad the query laguage used i this paper. Sectios 5 ad 6 describe a approach to miimize access to permaet storage via clusterig objects ad refereces by usig selector metaobjects. Sectio 7 exteds the matrix-idex codig approach to POS avigatio, ad demostrates how the exteded approach ca be used to provide guaratees for groups of objects ad refereces that ca be used i query optimizatio. Sectio 8 discusses further optimizatios achieved by replacig refereces to metaobjects by flags. Fially, sectios 9 ad 0 discuss a proof of cocept implemetatio, ad list coclusios. 2. Related Work There has bee a umber of data access approaches proposed for OODBSs. For direct access - that is the simplest type of data access - [23] suggests that it may be implemeted by associative access approaches used i RDBSs such as B-tree or hashig idices. This is because the direct access ca be compared with associative access to data records i a RDBS via search key values.

3 Examples of the approaches that have bee proposed to support avigatioal access i a OODBS are avigatio idex [23], rig ad spider data structures [8], object skeletos [5], joi idex hierarchies [4, 22], triple-ode hierarchies [2], ad Matrix-Idex Codig (MIC) [0]. The joi idex hierarchies ad triple-ode hierarchies are modificatios of joi idices used i a RDBS. Object skeletos maitai etworks of object IDs as structures to support avigatio amog objects. I the rig ad spider data structures, a object stores referece poiters that idicate refereced or referecig objects of the object. The avigatio idex ad MIC employ i-memory calculatio techiques by appedig codes with IDs of objects. The code of a object ca be expaded to a set of object IDs of refereced or referecig objects of the object. Amog the approaches proposed to support avigatioal access, MIC employs relatively simple ad efficiet cocepts compared with others. The MIC works like joi idices but allows to retrieve a sequece of object IDs, rather tha a sigle object ID i sigle idex access by applyig a ecodig techique based o simple cotiuous fractios [0]. [9] suggests that the origial cocept of the avigatio idex ad MIC ca be geeralized by makig the avigatio idex ad MIC idepedet from a codig techique used, i.e. ay appropriate codig techique ca be selected to guaratee optimal performace i differet circumstaces. Especially, data compressio techiques should be cosidered as alterative codig techiques because they ca reduce the storage size of the avigatio idex ad MIC. The approaches that have bee proposed to support associative access i a OODBS are for example Sigle-Class (SC) ad Class-Hierarchy (CH) idices [8], H- tree [], hierarchy class Chai (hcc) tree [7], Class-Divisio (CD) idex [6], ested, path ad multi idices [3], access support relatios [7], ad Nested-Iherited idex (NIX) [2]. These approaches are modificatios of approaches used i a RDBS such as B+ tree ad joi idices. I these approaches, a class is regarded as a relatio ad a logical object, which is a object defied i a data model, is regarded as a tuple over a relatio. A UID, which is a system-defied uique idetifier for a tuple, is regarded as a OID of a logical object. Ufortuately, these approaches caot perform well whe associative access icludes avigatioal access ivolved with multiple paths over attribute/iheritace hierarchies [5]. Recetly, the related problem of idexig XML documets received a lot of attetio (see e.g. [20, 2, 24, 4, 25] for some recet publicatios, ad [3] for a recet review). Most of the existig approaches to XML idexig take advatage of the tree structure of XML documets, ad support queries relyig o that structure. O the other had, if refereces are cosidered, XML ca also be viewed as a geeral graph, resultig thus i a situatio similar to the oe i OODBSs. [5] is the first publicatio o XML idexig that takes that view; it offers a approach based o idexig all possible paths (to support ad-hoc queries of semi-structured data). The cosequece is that the resultig idex is extremely large. [9] ad [6] improved the approach applied by [5] by restrictig the paths to be idexed, resultig i smaller idices, but made little progress ito aother problem associated with idexig paths: the resultig idex structures are highly ustable with respect to updates of the uderlyig data: a update at a sigle locatio i the data graph may affect how other locatios reachable from it

4 via idexed paths are represeted i the access structure, leadig to the ecessity to rebuild a large part of it. I this article, we offer a approach based o clusterig object IDs, refereces, ad joi idex etries i exteded matrix-idex codig (which we itroduce). The access structures we propose do ot directly rely o the kowledge of the uderlyig schema or queries they are to support, ad thus support ad-hoc queryig of semistructured data while still offerig a possibility of tuig for specific data ad access patters, ad are stable with respect to chages i the data, amely, small data updates ever ecessitate dramatic restructurig of idices. 3. Data Model The POS level data model is defied as follows. Objects are pairs ( OID, value ), where OID is a uique idetifier (which ca appear i o more tha oe such pair), ad value is the object's data, which from the poit of view of POS has o structure. Refereces are ordered pairs of object ID's ( OID, OID 2). Object IDs used i refereces should be valid objects (ad thus, preset as ( OID, value ) pairs). Thus, from the poit of view of POS, the database is structured as a labeled directed graph with objects actig as vertices, values - as labels, ad refereces - as edges. We ote that to simplify treatmet we do ot label refereces, ad assume that ay refereces with attached data are reified to objects. Defied attributes: dom( class) = OODBSchemaClass dom( umber) = Iteger dom( ame) = Strig { } value : :, :57367 class paper umber value :{ :, : } 2 class studet ame Brow value :{ :, : } 3 class studet ame Smith Figure. A istace of the POS data model. Attributes are strigs with associated domais. We require that all of the employed domais have partial or total orders defied o them (if o atural partial order exists for a domai, we will use a partial order i which each elemet ca oly be compared, ad is equal, to itself.) For each value, there is a mappig defied assigig to each attribute from a fiite set of attributes costat values from their respective domais, resultig i a tuple represetig the object's state. For a give value, we will say that the attributes formig the domai of such a mappig are "defied" for the value. For a give value, attributes that are ot defied are referred to as "udefied". For a OID, defied ad udefied attributes are the attributes defied or (respectively)

5 udefied for its value. Attributes represetig a object do ot ecessarily assume a uique set of values: differet objects may result i the same represetig tuple. 4. Query Laguage Approaches to object clusterig itroduced i this article is geeral eough to support a variety of query laguages. To verify its viability, we demostrate its applicatio i case of a simple query laguage based o path expressios. We assume that the service provided by POS is limited to returig subgraphs of the data graph, so we cosider a laguage that does ot create ew objects ad refereces. (Certaily, POS would also offer a iterface allowig to modify data. However, we assume that views of the data graph offered by queries are limited to its subgraphs.) This implies that jois ca be realized via avigatio, amely, objects that may eed to be joied i queries are already coected via refereces. I the query laguage, a select query is comprised of two sequeces: a avigatio sequece ad a filter sequece. The avigatio sequece is a sequece i the form ( O, R,2, O 2, R 2,3, O 3,, Rm, m, O m ), where O i are object avigatio selectors give as expressios i the form attr ( Oi ) sset ( Oi ), where attr ( O i ) is a set of attributes ad sset ( O i ) is a subset of the Cartesia product of these attributes' domais. Ri, i are referece avigatio selectors give as expressios i the form disjoit attr ( Ri, i) attr2 ( Ri, i) sset ( Ri, i), where attr( R i, i) ad attr2( R i, i) are sets of attributes, while sset ( R i, i) is a subset of the Cartesia product of these attributes' domais. A object avigatio selector O i evaluates to true o a give OID if all attr O are defied for the OID, ad the tuple they form oce they are attributes i ( i ) assiged values (o the value for this OID ) is a elemet of ( i ) (, 2) sset O. A referece avigatio selector R i evaluates to true o a give referece OID OID if attributes i attr( R i, i) ad ( 2 i, i) OID ad OID 2, attr R are defied o respectively, ad the tuple formed by cocateatig their values is a member of ( i, i) sset R. A filter sequece should be of the same legth as the avigatio sequece. The sytax for filter sequeces is defied similarly to avigatio sequeces. I the followig, we ofte use the term "selector set" to refer to a set of tuples o some attribute set. A selector set may be ifiite, ad it does ot eed to be defied by explicitly listig all tuples it cotais. Select queries are evaluated as follows. The avigatio sequece is matched to all possible paths i the graph. It matches if all selectors for object IDs ad for refereces coectig them match. For each matched path, the filter sequece is applied, ad objects ad refereces for which selectors i the filter sequece match are icluded i the result of the query. However, for a give match of a path via the avigatio sequece, refereces for which some of the objects they coect are ot

6 icluded after applyig the filter sequece are also ot icluded. We observe that selectors o refereces may be regarded as realizig joi coditios. Let us cosider some examples. Let objects represetig papers be coected by refereces to objects represetig studets erolled. The a query returig studets erolled i paper umber ca be formulated as follows. The avigatio sequece cosists of three selectors. The first selector would select objects belogig to the class paper, with umber (attribute set is { class, umber }, ad selector set is {{ class : paper, umber :57367}}). The secod avigatio selector is a trivial selector evaluatig to true o all refereces. The third avigatio selector would evaluate to true o all objects of class studet. Now, the filter sequece would iclude two selectors that always evaluate to false to get rid of the paper ad the refereces, ad the last selector that always evaluates to true to iclude all studets matched by the avigatio sequece. As a variatio, oe could choose ot to filter aythig out i the filter sequece, with the query returig the paper, the studets, ad the refereces coectig the paper to the studets (which, perhaps, at the layer usig the POS services could be assembled ito a higher level object represetig the paper ad ecapsulatig the refereces to studets as part of the object, ad ito a umber of separate higher level objects represetig the studets.) Fially, if we were to request a umber of papers, with studets erolled, rather tha a sigle paper, the query would effectively realize a kid of a joi, ad the result would be a directed graph with some of the studets possibly shared by more tha oe paper. As a secod example, cosider a database i which objects represet cities, ad refereces represet flights. Cosider the followig query: retur all cities i Russia that ca be visited if oe flies from Lodo to Tokyo with 2 stopovers, such that the time differece betwee ay of the subsequet stops is less tha 6 hours. To formalize this query, oe eeds selectors for avigatio sequece that would evaluate to true o refereces if objects they coect have attribute values for attribute diffgmt (differece from GMT) close eough (coditio that is easy to represet as set membership). I additio, selectors for the filter sequece should esure that oly cities i Russia are retured, with objects correspodig to other cities ad refereces represetig the flight coectios left out. It is easy to exted the select queries to allow ifiite or boud umber of repetitios, as i XML XPath ad i regular expressios. However, as far as object ad referece clusterig is cocered, such extesios do ot itroduce ew issues, so we limit ourselves to the relatively restricted defiitio of select queries give above. For the same reaso, although it is easy to itroduce queries ivolvig set operatios o results of select queries, ad queries ivolvig semi-jois for vertices ot coected via refereces, we omit these details. 5. Selector Sets ad Selector Metaobjects Let us require that sets used i selectors are such that membership ad set iclusio tests are relatively iexpesive. This would be the case if selector sets are hypercubes formed as Cartesia products of itervals [ low, high ], with low ad high costats take from domais of attributes used i the selector (oe iterval for each attribute). We

7 require that low high, which implies that i case of partially ordered domais (such as class hierarchy) low ad high should be comparable. We observe, that a cojuctio of equalities ca be represeted as a selector with a hypercube selector set for which o all attributes high = low. I additio, for a set of attributes with domais (combied) formig a Euclidea space, we may form selector sets by delimitig areas with hyperplaes. Fially, we allow selector sets formed by explicitly eumeratig a small umber of poits, selector sets obtaied as uios of a small umber of selector sets (formed for the same set of attributes), ad selector sets obtaied as Cartesia products of selector sets (formed for disjoit sets of attributes). While object IDs are relatively small, we expect that the value part of a POS object may be rather large. Therefore, we assume that POS object values are stored o permaet storage. Geerally, to retrieve attribute values for a object value (to evaluate query selectors), oe eeds to retrieve the value from permaet storage, which is computatioally very expesive. Therefore, there is a eed to maitai i the mai memory some auxiliary structures that would allow oe to miimize the umber of objects for which the value has to be retrieved. Such auxiliary structures should determie the smallest possible superset of objects that eed to be retrieved from permaet storage (with the ideal auxiliary structure allowig to retrieve oly the objects that eed to be retured by the query). I fact, as it should have bee clear from the itroductio, the focus of this article is o defiig such structures. To defie auxiliary structures, we rely o metaobjects represetig selector sets, which we call selector objects. The value of such a POS object would ecode the defiitio of a selector set. We do ot dwell o how such ecodig could be achieved, as it is quite easy to defie (e.g., for a selector which is a hypercube, oe could store a flag idicatig that this is a hypercube, ad for each attribute store attribute ame ad domai together with high ad low values). Selector objects ca be retrieved by the query compiler, which ca the take advatage of various guaratees provided via refereces to ad from a selector object OID. We observe here, that while POS is uaware of the structure of values for objects ecapsulatig database data, it has to be aware of the structure of selector metaobjects, hece, for POS, selector metaobjects should be distiguishable from objects ecapsulatig database data. 6. Clusterig Objects ad Refereces To facilitate the executio of queries ivolvig evaluatio of selectors, we add refereces betwee objects ad selector metaobjects. We will refer to refereces to a selector metaobject as upstream refereces, ad to refereces from a selector metaobject as dowstream refereces. I this sectio, we assume that refereces are maitaied as joi idices: sequeces of object IDs pairs ( OID, OID 2) sorted by OID, with two joi idices provided: oe for refereces betwee objects ecapsulatig database data, ad aother oe for refereces to ad from metaobjects. I additio, we maitai a joi idex allowig to associate selector metaobjects with refereces as a sequece of object triplets ( OID, OID2, MOID ), where ( OID, OID 2) is the referece, ad MOID is the ID of the associated metaobject. I the followig sectio we will exted our cosideratio to a more geeral access structure based o matrix-idex codig.

8 Let us cosider how selector metaobjects ca be applied to support select queries (see Figure 2). To match the first selector i avigatio sequece, the query compiler would fid a selector metaobject for which the selector set cotais the first selector set i the avigatio sequece of the query, while beig as close to it as possible. For attribute sets formig Euclidea spaces, closeess ca be judged by comparig eclosig volumes. For some attribute domais, closeess ca be difficult or impossible to defie, the, a radom choice ca be made. For the chose metaobject, dowstream refereces are followed, resultig i a superset of object IDs matchig the first selector i avigatio sequece. For all of these objects, upstream refereces are followed to determie if there is a metaobject for the curret object with a selector set cotaied by the selector set from the avigatio sequece of the query, which provides a guaratee that the object ID matches the query selector ad should be retaied for further processig. For the rest of the objects i the superset, values are retrieved from permaet storage, attribute values are matched agaist the selector set from the query, ad oly object IDs actually matchig the selector are retaied for further processig of the query. We ote that if selector metaobject suitable for assemblig the iitial superset were ot available, the query egie would have to retrieve values of all objects i the database, which from performace poit of view is clearly ot acceptable. Figure 2. Matchig a path ivolvig two objects ad a referece by usig selector metaobjects. See the descriptio i the text. The rest of the query is executed by acceptig or rejectig objects ad refereces o paths of the graph accordig to avigatio ad filter sequeces by followig upstream refereces ad verifyig if there is a metaobject cotaiig the selector set (for a referece or for a object) with the selector set cotaied by the selector set from the query. If such a metaobject is available, it provides a guaratee that the referece (or the object) matches the selectio criteria. Otherwise, object values are retrieved ad attribute values are matched agaist the selectors directly. Object values already retrieved may be cached. If a object with a cached value is available, upstream refereces are ot followed, ad determiatio is made based o matchig attribute values agaist the selectors directly. This approach is applied for the rest of the avigatio sequece (apart from the first match), ad for the whole of the filter sequece (which is applied oly if all of the avigatio sequece has matched). The use of selector metaobjects allows miimizig the ecessity to retrieve values from permaet storage. It is the job of the query optimizer to geerate suitable

9 metaobjects for objects ad refereces. Providig a algorithm for achievig it is beyod the scope of this article ad remais a topic for further research. The cost of employig selector metaobjects i terms of mai memory space ca be estimated as ( 2N + 2N + 3N ) sizeof ( OID) () DOREF UOREF URREF where N DOREF is the umber of dowstream refereces to objects, N UOREF is the umber of upstream refereces from objects, ad N URREF is the umber of upstream refereces to metaobjects from refereces betwee database objects. The cost of matchig a avigatio sequece i terms of executio time ca be estimated as ( + ) + ( + ) lpath uom tom lpath urm trm tom + (2) 2 where t om is the time required to access the joi idex that matches database objects to selector metaobjects, t rm is the time required to access the table matchig refereces betwee database objects to selector metaobjects, l path is the legth of the sequece, uom is the umber of upstream refereces from objects i the sequece, ad urm is the umber of upstream refereces from refereces i the sequece. If a object is added, removed or updated, upstream ad dowstream refereces from ad to this object are added or removed as eeded, but (ulike i approaches ivolvig idexig paths) it does ot directly affect how other objects are reflected i the access structure. Also, additio or removal of a referece betwee database objects affects oly upstream refereces to metaobjects from that referece. Hece, the access structure based o usig selector metaobjects is relatively stable with respect to chages i database data. O the other had, to maitai the itegrity of the access structure, it is essetial that selector metaobjects with dowstream refereces are referecig all of the objects they match. Therefore, i case of value updates or object additio, updates to the access structure ca ot be deferred. 7. Exteded Matrix-Idex Codig Approach ad Navigatio Guaratees Matrix-idex codig approach [9, 0] allows to speed up avigatio by replacig the secod object ID i a joi idex ( OID, OID 2) by a compressed sequece of object IDs: ( OID, ecode( OID2, OID3,, OID )). The sequece is formed as follows: for a object with two or more outgoig refereces (the so-called brachig object) the object IDs of referece eds are ecoded i arbitrary order. For a object OID with a sigle outgoig referece, followed (alog this referece) by a umber of similar objects, the sequece of object IDs is ecoded i the order they are ecoutered whe movig from OID to the ext brachig object whose ID is placed as the last ID i the ecoded sequece. To distiguish etries correspodig to brachig objects from etries correspodig to objects with a sigle outgoig referece, a flag is attached to each joi idex etry. Matrix-idex codig allows to retrieve several refereces via a sigle access to the joi idex (refereces are recostructed from the decoded sequece).

10 Here, to beefit from guaratees provided via selector metaobjects, we geeralize the matrix-idex codig techique to make it more flexible. While i its origial defiitio, the matrix-idex approach suggests that ecodig is applied i all cases whe it is applicable (so that a OID appears i the left colum of the resultig joi idex oly oce), we relax this requiremet. For example, i case of OID coected directly to OID 2, OID 3, OID 4 ad OID 5 (case of a brachig object), we would allow the situatio where OID eters the joi idex twice: oce as ( OID, ecode( OID2, OID 3) ), ad aother time - as ( OID, ecode( OID4, OID 5) ). The advatage of such a approach is that the query optimizer ca apply the ecodig as eeded for fastest operatio. For example, for a log sequece of o-brachig object IDs that is ofte avigated through startig from the first object ID, the whole sequece ca be ecoded oly oce ad stored with the object used to retrieve it. There is o eed to ecode partial sequeces may times, with the etire object IDs i the sequece, thus savig sigificat amout of memory space. The cost for such flexibility is that eve if a object ID eters the joi idex oly oce, to retrieve all refereces startig from that object ID two accesses to the joi idex are ecessary (the secod oe to cofirm that there are o further etries). However, as the joi idex is sorted by the object ID by which it is accessed such additioal costs are likely to be very miimal. Aother sigificat beefit of the more flexible approach to matrix-idex codig is the ability to provide avigatio guaratees via selector objects. With each etry of the joi idex we associate a umber of object IDs of selector metaobjects, so that each joi idex etry ow appears as ( OID, ecode ( OID2, OID3,, OID),{ MOID, MOID2,, MOIDm} ) (we expect that would ormally be much greater tha m ). We require that all object IDs uder ecode should match all of the selector metaobjects i the same joi idex etry. (This approach ca be easily exteded to allow providig guaratees for all refereces i a joi idex etry.) Figure 3. Exteded matrix-idex codig: Usig selector metaobjects to provide guaratees for objects ecoded i joi idex etries. As a example, cosider agai a database i which objects represetig papers are coected via refereces to objects represetig studets, with some of the studets ot erolled i ay papers. Cosider a query that would retrieve all female studets erolled i papers (it is easy to see that such a query ca be expressed by usig the query laguage itroduced above). To support queries of this kid, the query optimizer would create two joi idex etries for each paper, oe for male studets, ad aother oe for female studets, ad add object IDs of the appropriate metaobjects to the joi idex etries. The, whe executig the query the system would ot avigate alog the etries for which a guaratee is provided that all of the objects i them are i a wrog category (i our case, male).

11 8. Further Optimizatio by Usig Flags Istead of Refereces To check if a object has a upstream referece to a certai selector metaobject, access to the joi idex coectig objects to metaobjects is required. Further optimizatio ca be achieved by addig oe more level of idirectio: selector metaobject IDs are matched to flags, which are stored with object IDs. We require that sizes of such flags would be smaller or equal to the size of a object ID. (Ideally, flags should be much smaller tha object IDs. It is trivial to itroduce flags equal i size to object IDs, as IDs of metaobjects themselves ca be used as flags.) This way, the availability of a upstream referece to a metaobject ca be verified every time the OID is available without ay further accesses to auxiliary structures. The drawback of such a approach is that for a sigle object participatig i may refereces the OID ca eter the joi idex may times, so that compared to usig upstream refereces the approach usig flags may tur out to be more expesive i terms of mai memory space. However, both approaches could be used simultaeously. The query optimizer could the choose the curretly most efficiet approach based o the umber of refereces, usage patters etc. We ote that flags ca also be used i cojuctio with the joi idex to provide guaratees for refereces ad for joi idex etries (with flags attached to "target" object IDs i joi idex etries, ad to joi idex etries themselves). I case of refereces, redudacy is possible if matrix-idex ecodig is applied (as the, the same referece ca be reflected i the idex may times). O the other had, for simple joi idices each referece eters the idex oly oce, so that the overhead associated with usig flags is miimal. For joi idex etries, usig flags ever leads to redudacy, ad sice i that case flags are replacig metaobject IDs that are larger tha the flags, usig flags is likely to be advatageous i most cases. 9. Proof of Cocept Implemetatio A limited versio of the approach outlied above (ivolvig the use of selector metaobjects for object IDs oly without the selectio of refereces) was implemeted as a C++ program, ad proved to be effective i executig a variety of queries ivolvig both avigatio ad coditios o object attributes without accessig object data. 0. Coclusios We itroduced a approach allowig to support queries ivolvig both avigatio alog refereces (avigatioal access) ad imposig coditios o object data (associative access) at the level of Persistet Object Stores (POS). Our approach does ot directly rely o the kowledge of the database schema ad of the queries to be supported, ad thus ca be used to support ad-hoc queryig of semistructured data. The basic access structures it uses (selector metaobjects represetig sets of values coected via refereces to database objects ad refereces) are stable with respect to chages i database data i a sese that chages i the value of oe object do ot ecessitate chages of the elemets of the support structure facilitatig access to other objects. I additio, we proposed a extesio of the matrix idex approach to avigatioal access allowig to save mai memory space, ad demostrated how matrix idex codig ca be ehaced to support the combied avigatioal ad associative

12 access by providig guaratees for ecoded object sequeces by referecig selector metaobjects. As a topic for further research we suggest combiig the approach based o referecig selector metaobjects with the existig approaches based o directly idexig avigatio paths to complemet the support for ad-hoc queries ad semistructured data with the ability to cofigurably target specific queries ad data patters. Refereces [] ABITEBOUL, S., AND BEERI, C. The power of laguages for the maipulatio of complex values. The VLDB Joural 4, 4 (995), pp [2] BERTINO, E. A idexig techique for object-orieted databases. I Proceedigs of the 7th Iteratioal Coferece o Data Egieerig, IEEE Computer Society (99), pp [3] BERTINO, E., AND KIM, W. Idexig techiques for queries o ested objects. IEEE Trasactios o Kowledge ad Data Egieerig, 2 (989), pp [4] HAN, J., XIE, Z. A., AND FU, Y. Joi idex hierarchy: A idexig structure for efficiet avigatio i object-orieted databases. IEEE Trasactios o Kowledge ad Data Egieerig, 2 (999), pp [5] HUA, K. A., AND TRIPATHY, C. Object skeletos: A efficiet avigatio structure for object-orieted database systems. I Proceedigs of the 0th Iteratioal Coferece o Data Egieerig, IEEE Computer Society (994), pp [6] KAUSHIK, R., SHENOY, P., BOHANNON, P., AND GUDES, E. Exploitig Local Similarity for Idexig Paths i Graph-Structured Data. 8th Iteratioal Coferece o Data Egieerig (2002). [7] KEMPER, A., AND MOERKOTTE, G. Access support i object bases. I Proceedigs of the ACM SIGMOD Iteratioal Coferece o Maagemet of Data, ACM Press (999), pp [8] KIM, W., KIM, K.-C., AND DALE, A. Idexig techiques for object-orieted databases. ACM Press (989), pp [9] KIRCHBERG, M., KUCKELBERG, A., SCHEWE, K.-D., AND TRETIAKOV, A. O codig avigatio paths for i-memory avigatio i persistet object stores. I Proceedigs of the 9th Brazilia Symposium o Databases, U3, pp [0] KUCKELBERG, A. The matrix-idex codig approach to efficiet avigatio i persistet object stores. I Workshop o Foudatios of Models ad Laguages for Data ad Objects (998), pp [] LOW, C. C., OOI, B. C., AND LU, H. H-trees: a dyamic associative search idex for oodb. I Proceedigs of the ACM SIGMOD iteratioal coferece o Maagemet of data, ACM Press (992), pp

13 [2] LUK, F. H.-W., AND FU, A. W. Triple-ode hierarchies for object-orieted database idexig. I Proceedigs of the 7th iteratioal coferece o Iformatio ad kowledge maagemet, ACM Press (998), pp [3] LUK, R.W.P., LEONG, H. V., DILLON, T.S., CHAN, A.T.S., CROFT, W.B., AND ALLAN, J. A survey i idexig ad searchig XML documets. Joural of the America Society for Iformatio Sciece ad Techology, Volume 53, Issue 6 (2002), pp [4] MENG, X., JIANG, Y., CHEN, Y., AND WANG, H. XSeq: a idexig ifrastructure for tree patter queries. Proceedigs of the ACM SIGMOD iteratioal coferece o maagemet of data, ACM Press (2004), pp [5] MILO, T., AND SUCIU, D. Idex structures for path expressios. I Proceedigs of the 7th iteratioal coferece o data egieerig (999). [6] RAMASWAMY, S., AND KANELLAKIS, P. C. OODI3 idexig by classdivisio. I SIGMOD '95: Proceedigs of the ACM SIGMOD iteratioal coferece o Maagemet of data, ACM Press (995), pp [7] SREENATH, B., AND SESHADRI, S. The hcc-tree: A efficiet idex structure for object orieted databases. I Proceedigs of the 20th Iteratioal Coferece o Very Large Data Bases, Morga Kaufma Publishers Ic. (994), pp [8] SUBIETA, K. LOQIS: The object orieted database programmig system. I Next geeratio iformatio system techology, LNCS, volume 504, Spriger-Verlag (99), pp [9] VAGENA, Z., MORO, M.M., AND TSOTRAS, V.J. Twig query processig over graph-structured XML data. Proceedigs of the 7th Iteratioal Workshop o the Web ad Databases (2004), pp [20] WANG, H., AND MENG, X. O the Sequecig of Tree Structures for XML Idexig. Proceedigs of the 2st Iteratioal Coferece o Data Egieerig (2005), pp [2] WANG, H., PARK, S., FAN, W., AND YU, P.S. ViST: a dyamic idex method for queryig XML data by tree structures. Proceedigs of the ACM SIGMOD iteratioal coferece o maagemet of data, ACM Press (2003), pp 0-2. [22] XIE, Z., AND HAN, J. Joi idex hierarchies for supportig efficiet avigatios i object-orieted databases. I Proceedigs of the 20th Iteratioal Coferece o Very Large Data Bases, Morga Kaufma Publishers Ic. (994), pp [23] ZEZULA, P., AND RABITTI, F. Object store with avigatio acceleratio. Iformatio Systems 8, 7 (993), pp [24] ZOU, Q., LIU, S., AND CHU, W.W. Ctree: a compact tree for idexig XML data. Proceedigs of the 6th aual ACM iteratioal workshop o web iformatio ad data maagemet (2004), pp [25] ZOU, Q., LIU, S., AND CHU, W.W. Usig a compact tree to idex ad query XML data. Proceedigs of the 3th ACM coferece o iformatio ad kowledge maagemet (2004), pp

Combining Associative and Navigational Access in Persistent Object Stores

Combining Associative and Navigational Access in Persistent Object Stores Book Title Book Editors IOS Press, 2006 1 Combining Associative and Navigational Access in Persistent Object Stores Markus Kirchberg, Weena Nusdin and Alexei Tretiakov Information Science Research Centre

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 19 Query Optimizatio Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Query optimizatio Coducted by a query optimizer i a DBMS Goal:

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 18 Strategies for Query Processig Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio DBMS techiques to process a query Scaer idetifies

More information

. Written in factored form it is easy to see that the roots are 2, 2, i,

. Written in factored form it is easy to see that the roots are 2, 2, i, CMPS A Itroductio to Programmig Programmig Assigmet 4 I this assigmet you will write a java program that determies the real roots of a polyomial that lie withi a specified rage. Recall that the roots (or

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 26 Ehaced Data Models: Itroductio to Active, Temporal, Spatial, Multimedia, ad Deductive Databases Copyright 2016 Ramez Elmasri ad Shamkat B.

More information

Ones Assignment Method for Solving Traveling Salesman Problem

Ones Assignment Method for Solving Traveling Salesman Problem Joural of mathematics ad computer sciece 0 (0), 58-65 Oes Assigmet Method for Solvig Travelig Salesma Problem Hadi Basirzadeh Departmet of Mathematics, Shahid Chamra Uiversity, Ahvaz, Ira Article history:

More information

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved. Chapter 11 Frieds, Overloaded Operators, ad Arrays i Classes Copyright 2014 Pearso Addiso-Wesley. All rights reserved. Overview 11.1 Fried Fuctios 11.2 Overloadig Operators 11.3 Arrays ad Classes 11.4

More information

Evaluation scheme for Tracking in AMI

Evaluation scheme for Tracking in AMI A M I C o m m u i c a t i o A U G M E N T E D M U L T I - P A R T Y I N T E R A C T I O N http://www.amiproject.org/ Evaluatio scheme for Trackig i AMI S. Schreiber a D. Gatica-Perez b AMI WP4 Trackig:

More information

3D Model Retrieval Method Based on Sample Prediction

3D Model Retrieval Method Based on Sample Prediction 20 Iteratioal Coferece o Computer Commuicatio ad Maagemet Proc.of CSIT vol.5 (20) (20) IACSIT Press, Sigapore 3D Model Retrieval Method Based o Sample Predictio Qigche Zhag, Ya Tag* School of Computer

More information

The Magma Database file formats

The Magma Database file formats The Magma Database file formats Adrew Gaylard, Bret Pikey, ad Mart-Mari Breedt Johaesburg, South Africa 15th May 2006 1 Summary Magma is a ope-source object database created by Chris Muller, of Kasas City,

More information

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5 Morga Kaufma Publishers 26 February, 28 COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter 5 Set-Associative Cache Architecture Performace Summary Whe CPU performace icreases:

More information

COSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1

COSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1 COSC 1P03 Ch 7 Recursio Itroductio to Data Structures 8.1 COSC 1P03 Recursio Recursio I Mathematics factorial Fiboacci umbers defie ifiite set with fiite defiitio I Computer Sciece sytax rules fiite defiitio,

More information

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig

More information

Improving Information Retrieval System Security via an Optimal Maximal Coding Scheme

Improving Information Retrieval System Security via an Optimal Maximal Coding Scheme Improvig Iformatio Retrieval System Security via a Optimal Maximal Codig Scheme Dogyag Log Departmet of Computer Sciece, City Uiversity of Hog Kog, 8 Tat Chee Aveue Kowloo, Hog Kog SAR, PRC dylog@cs.cityu.edu.hk

More information

ISSN (Print) Research Article. *Corresponding author Nengfa Hu

ISSN (Print) Research Article. *Corresponding author Nengfa Hu Scholars Joural of Egieerig ad Techology (SJET) Sch. J. Eg. Tech., 2016; 4(5):249-253 Scholars Academic ad Scietific Publisher (A Iteratioal Publisher for Academic ad Scietific Resources) www.saspublisher.com

More information

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming Lecture Notes 6 Itroductio to algorithm aalysis CSS 501 Data Structures ad Object-Orieted Programmig Readig for this lecture: Carrao, Chapter 10 To be covered i this lecture: Itroductio to algorithm aalysis

More information

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 9 Poiters ad Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 9.1 Poiters 9.2 Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Slide 9-3

More information

6.854J / J Advanced Algorithms Fall 2008

6.854J / J Advanced Algorithms Fall 2008 MIT OpeCourseWare http://ocw.mit.edu 6.854J / 18.415J Advaced Algorithms Fall 2008 For iformatio about citig these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 18.415/6.854 Advaced Algorithms

More information

Computers and Scientific Thinking

Computers and Scientific Thinking Computers ad Scietific Thikig David Reed, Creighto Uiversity Chapter 15 JavaScript Strigs 1 Strigs as Objects so far, your iteractive Web pages have maipulated strigs i simple ways use text box to iput

More information

Appendix D. Controller Implementation

Appendix D. Controller Implementation COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Appedix D Cotroller Implemetatio Cotroller Implemetatios Combiatioal logic (sigle-cycle); Fiite state machie (multi-cycle, pipelied);

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 6 Defiig Fuctios Pytho Programmig, 2/e 1 Objectives To uderstad why programmers divide programs up ito sets of cooperatig fuctios. To be able to

More information

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis Itro to Algorithm Aalysis Aalysis Metrics Slides. Table of Cotets. Aalysis Metrics 3. Exact Aalysis Rules 4. Simple Summatio 5. Summatio Formulas 6. Order of Magitude 7. Big-O otatio 8. Big-O Theorems

More information

Elementary Educational Computer

Elementary Educational Computer Chapter 5 Elemetary Educatioal Computer. Geeral structure of the Elemetary Educatioal Computer (EEC) The EEC coforms to the 5 uits structure defied by vo Neuma's model (.) All uits are preseted i a simplified

More information

Mapping Publishing and Mapping Adaptation in the Middleware of Railway Information Grid System

Mapping Publishing and Mapping Adaptation in the Middleware of Railway Information Grid System Mappig Publishig ad Mappig Adaptatio i the Middleware of Railway Iformatio Grid ystem You Gamei, Liao Huamig, u Yuzhog Istitute of Computig Techology, Chiese Academy of cieces, Beijig 00080 gameiu@ict.ac.c

More information

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 10 Defiig Classes Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 10.1 Structures 10.2 Classes 10.3 Abstract Data Types 10.4 Itroductio to Iheritace Copyright 2015 Pearso Educatio,

More information

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods.

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods. Software developmet of compoets for complex sigal aalysis o the example of adaptive recursive estimatio methods. SIMON BOYMANN, RALPH MASCHOTTA, SILKE LEHMANN, DUNJA STEUER Istitute of Biomedical Egieerig

More information

Combination Labelings Of Graphs

Combination Labelings Of Graphs Applied Mathematics E-Notes, (0), - c ISSN 0-0 Available free at mirror sites of http://wwwmaththuedutw/ame/ Combiatio Labeligs Of Graphs Pak Chig Li y Received February 0 Abstract Suppose G = (V; E) is

More information

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON Roberto Lopez ad Eugeio Oñate Iteratioal Ceter for Numerical Methods i Egieerig (CIMNE) Edificio C1, Gra Capitá s/, 08034 Barceloa, Spai ABSTRACT I this work

More information

CS200: Hash Tables. Prichard Ch CS200 - Hash Tables 1

CS200: Hash Tables. Prichard Ch CS200 - Hash Tables 1 CS200: Hash Tables Prichard Ch. 13.2 CS200 - Hash Tables 1 Table Implemetatios: average cases Search Add Remove Sorted array-based Usorted array-based Balaced Search Trees O(log ) O() O() O() O(1) O()

More information

Algorithms for Disk Covering Problems with the Most Points

Algorithms for Disk Covering Problems with the Most Points Algorithms for Disk Coverig Problems with the Most Poits Bi Xiao Departmet of Computig Hog Kog Polytechic Uiversity Hug Hom, Kowloo, Hog Kog csbxiao@comp.polyu.edu.hk Qigfeg Zhuge, Yi He, Zili Shao, Edwi

More information

On (K t e)-saturated Graphs

On (K t e)-saturated Graphs Noame mauscript No. (will be iserted by the editor O (K t e-saturated Graphs Jessica Fuller Roald J. Gould the date of receipt ad acceptace should be iserted later Abstract Give a graph H, we say a graph

More information

9.1. Sequences and Series. Sequences. What you should learn. Why you should learn it. Definition of Sequence

9.1. Sequences and Series. Sequences. What you should learn. Why you should learn it. Definition of Sequence _9.qxd // : AM Page Chapter 9 Sequeces, Series, ad Probability 9. Sequeces ad Series What you should lear Use sequece otatio to write the terms of sequeces. Use factorial otatio. Use summatio otatio to

More information

An Improved Shuffled Frog-Leaping Algorithm for Knapsack Problem

An Improved Shuffled Frog-Leaping Algorithm for Knapsack Problem A Improved Shuffled Frog-Leapig Algorithm for Kapsack Problem Zhoufag Li, Ya Zhou, ad Peg Cheg School of Iformatio Sciece ad Egieerig Hea Uiversity of Techology ZhegZhou, Chia lzhf1978@126.com Abstract.

More information

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation Improvemet of the Orthogoal Code Covolutio Capabilities Usig FPGA Implemetatio Naima Kaabouch, Member, IEEE, Apara Dhirde, Member, IEEE, Saleh Faruque, Member, IEEE Departmet of Electrical Egieerig, Uiversity

More information

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation 6-0-0 Kowledge Trasformatio from Task Scearios to View-based Desig Diagrams Nima Dezhkam Kamra Sartipi {dezhka, sartipi}@mcmaster.ca Departmet of Computig ad Software McMaster Uiversity CANADA SEKE 08

More information

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5.

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5. Morga Kaufma Publishers 26 February, 208 COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter 5 Virtual Memory Review: The Memory Hierarchy Take advatage of the priciple

More information

Accuracy Improvement in Camera Calibration

Accuracy Improvement in Camera Calibration Accuracy Improvemet i Camera Calibratio FaJie L Qi Zag ad Reihard Klette CITR, Computer Sciece Departmet The Uiversity of Aucklad Tamaki Campus, Aucklad, New Zealad fli006, qza001@ec.aucklad.ac.z r.klette@aucklad.ac.z

More information

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III GE2112 - FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III PROBLEM SOLVING AND OFFICE APPLICATION SOFTWARE Plaig the Computer Program Purpose Algorithm Flow Charts Pseudocode -Applicatio Software Packages-

More information

A Parallel DFA Minimization Algorithm

A Parallel DFA Minimization Algorithm A Parallel DFA Miimizatio Algorithm Ambuj Tewari, Utkarsh Srivastava, ad P. Gupta Departmet of Computer Sciece & Egieerig Idia Istitute of Techology Kapur Kapur 208 016,INDIA pg@iitk.ac.i Abstract. I this

More information

Project 2.5 Improved Euler Implementation

Project 2.5 Improved Euler Implementation Project 2.5 Improved Euler Implemetatio Figure 2.5.10 i the text lists TI-85 ad BASIC programs implemetig the improved Euler method to approximate the solutio of the iitial value problem dy dx = x+ y,

More information

Data diverse software fault tolerance techniques

Data diverse software fault tolerance techniques Data diverse software fault tolerace techiques Complemets desig diversity by compesatig for desig diversity s s limitatios Ivolves obtaiig a related set of poits i the program data space, executig the

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 22 Database Recovery Techiques Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Recovery algorithms Recovery cocepts Write-ahead

More information

1.2 Binomial Coefficients and Subsets

1.2 Binomial Coefficients and Subsets 1.2. BINOMIAL COEFFICIENTS AND SUBSETS 13 1.2 Biomial Coefficiets ad Subsets 1.2-1 The loop below is part of a program to determie the umber of triagles formed by poits i the plae. for i =1 to for j =

More information

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method A ew Morphological 3D Shape Decompositio: Grayscale Iterframe Iterpolatio Method D.. Vizireau Politehica Uiversity Bucharest, Romaia ae@comm.pub.ro R. M. Udrea Politehica Uiversity Bucharest, Romaia mihea@comm.pub.ro

More information

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS APPLICATION NOTE PACE175AE BUILT-IN UNCTIONS About This Note This applicatio brief is iteded to explai ad demostrate the use of the special fuctios that are built ito the PACE175AE processor. These powerful

More information

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software Structurig Redudacy for Fault Tolerace CSE 598D: Fault Tolerat Software What do we wat to achieve? Versios Damage Assessmet Versio 1 Error Detectio Iputs Versio 2 Voter Outputs State Restoratio Cotiued

More information

Data Structures and Algorithms. Analysis of Algorithms

Data Structures and Algorithms. Analysis of Algorithms Data Structures ad Algorithms Aalysis of Algorithms Outlie Ruig time Pseudo-code Big-oh otatio Big-theta otatio Big-omega otatio Asymptotic algorithm aalysis Aalysis of Algorithms Iput Algorithm Output

More information

Chapter 3 Classification of FFT Processor Algorithms

Chapter 3 Classification of FFT Processor Algorithms Chapter Classificatio of FFT Processor Algorithms The computatioal complexity of the Discrete Fourier trasform (DFT) is very high. It requires () 2 complex multiplicatios ad () complex additios [5]. As

More information

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem Exact Miimum Lower Boud Algorithm for Travelig Salesma Problem Mohamed Eleiche GeoTiba Systems mohamed.eleiche@gmail.com Abstract The miimum-travel-cost algorithm is a dyamic programmig algorithm to compute

More information

Lower Bounds for Sorting

Lower Bounds for Sorting Liear Sortig Topics Covered: Lower Bouds for Sortig Coutig Sort Radix Sort Bucket Sort Lower Bouds for Sortig Compariso vs. o-compariso sortig Decisio tree model Worst case lower boud Compariso Sortig

More information

Getting Started. Getting Started - 1

Getting Started. Getting Started - 1 Gettig Started Gettig Started - 1 Issue 1 Overview of Gettig Started Overview of Gettig Started This sectio explais the basic operatios of the AUDIX system. It describes how to: Log i ad log out of the

More information

Hash Tables. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015.

Hash Tables. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015. Presetatio for use with the textbook Algorithm Desig ad Applicatios, by M. T. Goodrich ad R. Tamassia, Wiley, 2015 Hash Tables xkcd. http://xkcd.com/221/. Radom Number. Used with permissio uder Creative

More information

1 Enterprise Modeler

1 Enterprise Modeler 1 Eterprise Modeler Itroductio I BaaERP, a Busiess Cotrol Model ad a Eterprise Structure Model for multi-site cofiguratios are itroduced. Eterprise Structure Model Busiess Cotrol Models Busiess Fuctio

More information

Lecture 1: Introduction and Strassen s Algorithm

Lecture 1: Introduction and Strassen s Algorithm 5-750: Graduate Algorithms Jauary 7, 08 Lecture : Itroductio ad Strasse s Algorithm Lecturer: Gary Miller Scribe: Robert Parker Itroductio Machie models I this class, we will primarily use the Radom Access

More information

GPUMP: a Multiple-Precision Integer Library for GPUs

GPUMP: a Multiple-Precision Integer Library for GPUs GPUMP: a Multiple-Precisio Iteger Library for GPUs Kaiyog Zhao ad Xiaowe Chu Departmet of Computer Sciece, Hog Kog Baptist Uiversity Hog Kog, P. R. Chia Email: {kyzhao, chxw}@comp.hkbu.edu.hk Abstract

More information

Extending The Sleuth Kit and its Underlying Model for Pooled Storage File System Forensic Analysis

Extending The Sleuth Kit and its Underlying Model for Pooled Storage File System Forensic Analysis Extedig The Sleuth Kit ad its Uderlyig Model for Pooled File System Foresic Aalysis Frauhofer Istitute for Commuicatio, Iformatio Processig ad Ergoomics Ja-Niclas Hilgert* Marti Lambertz Daiel Plohma ja-iclas.hilgert@fkie.frauhofer.de

More information

Xiaozhou (Steve) Li, Atri Rudra, Ram Swaminathan. HP Laboratories HPL Keyword(s): graph coloring; hardness of approximation

Xiaozhou (Steve) Li, Atri Rudra, Ram Swaminathan. HP Laboratories HPL Keyword(s): graph coloring; hardness of approximation Flexible Colorig Xiaozhou (Steve) Li, Atri Rudra, Ram Swamiatha HP Laboratories HPL-2010-177 Keyword(s): graph colorig; hardess of approximatio Abstract: Motivated b y reliability cosideratios i data deduplicatio

More information

From last week. Lecture 5. Outline. Principles of programming languages

From last week. Lecture 5. Outline. Principles of programming languages Priciples of programmig laguages From last week Lecture 5 http://few.vu.l/~silvis/ppl/2007 Natalia Silvis-Cividjia e-mail: silvis@few.vu.l ML has o assigmet. Explai how to access a old bidig? Is & for

More information

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design College of Computer ad Iformatio Scieces Departmet of Computer Sciece CSC 220: Computer Orgaizatio Uit 11 Basic Computer Orgaizatio ad Desig 1 For the rest of the semester, we ll focus o computer architecture:

More information

Load balanced Parallel Prime Number Generator with Sieve of Eratosthenes on Cluster Computers *

Load balanced Parallel Prime Number Generator with Sieve of Eratosthenes on Cluster Computers * Load balaced Parallel Prime umber Geerator with Sieve of Eratosthees o luster omputers * Soowook Hwag*, Kyusik hug**, ad Dogseug Kim* *Departmet of Electrical Egieerig Korea Uiversity Seoul, -, Rep. of

More information

BOOLEAN MATHEMATICS: GENERAL THEORY

BOOLEAN MATHEMATICS: GENERAL THEORY CHAPTER 3 BOOLEAN MATHEMATICS: GENERAL THEORY 3.1 ISOMORPHIC PROPERTIES The ame Boolea Arithmetic was chose because it was discovered that literal Boolea Algebra could have a isomorphic umerical aspect.

More information

Computer Science Foundation Exam. August 12, Computer Science. Section 1A. No Calculators! KEY. Solutions and Grading Criteria.

Computer Science Foundation Exam. August 12, Computer Science. Section 1A. No Calculators! KEY. Solutions and Grading Criteria. Computer Sciece Foudatio Exam August, 005 Computer Sciece Sectio A No Calculators! Name: SSN: KEY Solutios ad Gradig Criteria Score: 50 I this sectio of the exam, there are four (4) problems. You must

More information

the beginning of the program in order for it to work correctly. Similarly, a Confirm

the beginning of the program in order for it to work correctly. Similarly, a Confirm I our sytax, a Assume statemet will be used to record what must be true at the begiig of the program i order for it to work correctly. Similarly, a Cofirm statemet is used to record what should be true

More information

New Results on Energy of Graphs of Small Order

New Results on Energy of Graphs of Small Order Global Joural of Pure ad Applied Mathematics. ISSN 0973-1768 Volume 13, Number 7 (2017), pp. 2837-2848 Research Idia Publicatios http://www.ripublicatio.com New Results o Eergy of Graphs of Small Order

More information

The Counterchanged Crossed Cube Interconnection Network and Its Topology Properties

The Counterchanged Crossed Cube Interconnection Network and Its Topology Properties WSEAS TRANSACTIONS o COMMUNICATIONS Wag Xiyag The Couterchaged Crossed Cube Itercoectio Network ad Its Topology Properties WANG XINYANG School of Computer Sciece ad Egieerig South Chia Uiversity of Techology

More information

WYSE Academic Challenge Sectional Computer Science 2005 SOLUTION SET

WYSE Academic Challenge Sectional Computer Science 2005 SOLUTION SET WYSE Academic Challege Sectioal Computer Sciece 2005 SOLUTION SET 1. Correct aswer: a. Hz = cycle / secod. CPI = 2, therefore, CPI*I = 2 * 28 X 10 8 istructios = 56 X 10 8 cycles. The clock rate is 56

More information

n n B. How many subsets of C are there of cardinality n. We are selecting elements for such a

n n B. How many subsets of C are there of cardinality n. We are selecting elements for such a 4. [10] Usig a combiatorial argumet, prove that for 1: = 0 = Let A ad B be disjoit sets of cardiality each ad C = A B. How may subsets of C are there of cardiality. We are selectig elemets for such a subset

More information

Last class. n Scheme. n Equality testing. n eq? vs. equal? n Higher-order functions. n map, foldr, foldl. n Tail recursion

Last class. n Scheme. n Equality testing. n eq? vs. equal? n Higher-order functions. n map, foldr, foldl. n Tail recursion Aoucemets HW6 due today HW7 is out A team assigmet Submitty page will be up toight Fuctioal correctess: 75%, Commets : 25% Last class Equality testig eq? vs. equal? Higher-order fuctios map, foldr, foldl

More information

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments Ruig Time Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects. The

More information

The isoperimetric problem on the hypercube

The isoperimetric problem on the hypercube The isoperimetric problem o the hypercube Prepared by: Steve Butler November 2, 2005 1 The isoperimetric problem We will cosider the -dimesioal hypercube Q Recall that the hypercube Q is a graph whose

More information

Solution printed. Do not start the test until instructed to do so! CS 2604 Data Structures Midterm Spring, Instructions:

Solution printed. Do not start the test until instructed to do so! CS 2604 Data Structures Midterm Spring, Instructions: CS 604 Data Structures Midterm Sprig, 00 VIRG INIA POLYTECHNIC INSTITUTE AND STATE U T PROSI M UNI VERSI TY Istructios: Prit your ame i the space provided below. This examiatio is closed book ad closed

More information

% Sun Logo for Frame. X3T10/95-229, Revision 2. September 28, 1995

% Sun Logo for Frame. X3T10/95-229, Revision 2. September 28, 1995 Su Microsystems, Ic. 2550 Garcia Aveue Moutai View, CA 94045 415 960-1300 X3T10/95-229, Revisio 2 September 28, 1995 % Su Logo for Frame Joh Lohmeyer Chairperso, X3T10 Symbios Logic Ic. 1635 Aeroplaza

More information

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Pseudocode ( 1.1) High-level descriptio of a algorithm More structured

More information

A Comparative Study of Positive and Negative Factorials

A Comparative Study of Positive and Negative Factorials A Comparative Study of Positive ad Negative Factorials A. M. Ibrahim, A. E. Ezugwu, M. Isa Departmet of Mathematics, Ahmadu Bello Uiversity, Zaria Abstract. This paper preset a comparative study of the

More information

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments Ruig Time ( 3.1) Aalysis of Algorithms Iput Algorithm Output A algorithm is a step- by- step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects.

More information

Analysis of Algorithms

Analysis of Algorithms Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Ruig Time Most algorithms trasform iput objects ito output objects. The

More information

IMP: Superposer Integrated Morphometrics Package Superposition Tool

IMP: Superposer Integrated Morphometrics Package Superposition Tool IMP: Superposer Itegrated Morphometrics Package Superpositio Tool Programmig by: David Lieber ( 03) Caisius College 200 Mai St. Buffalo, NY 4208 Cocept by: H. David Sheets, Dept. of Physics, Caisius College

More information

Introduction. Nature-Inspired Computing. Terminology. Problem Types. Constraint Satisfaction Problems - CSP. Free Optimization Problem - FOP

Introduction. Nature-Inspired Computing. Terminology. Problem Types. Constraint Satisfaction Problems - CSP. Free Optimization Problem - FOP Nature-Ispired Computig Hadlig Costraits Dr. Şima Uyar September 2006 Itroductio may practical problems are costraied ot all combiatios of variable values represet valid solutios feasible solutios ifeasible

More information

Course Site: Copyright 2012, Elsevier Inc. All rights reserved.

Course Site:   Copyright 2012, Elsevier Inc. All rights reserved. Course Site: http://cc.sjtu.edu.c/g2s/site/aca.html 1 Computer Architecture A Quatitative Approach, Fifth Editio Chapter 2 Memory Hierarchy Desig 2 Outlie Memory Hierarchy Cache Desig Basic Cache Optimizatios

More information

CHAPTER IV: GRAPH THEORY. Section 1: Introduction to Graphs

CHAPTER IV: GRAPH THEORY. Section 1: Introduction to Graphs CHAPTER IV: GRAPH THEORY Sectio : Itroductio to Graphs Sice this class is called Number-Theoretic ad Discrete Structures, it would be a crime to oly focus o umber theory regardless how woderful those topics

More information

Analysis of Server Resource Consumption of Meteorological Satellite Application System Based on Contour Curve

Analysis of Server Resource Consumption of Meteorological Satellite Application System Based on Contour Curve Advaces i Computer, Sigals ad Systems (2018) 2: 19-25 Clausius Scietific Press, Caada Aalysis of Server Resource Cosumptio of Meteorological Satellite Applicatio System Based o Cotour Curve Xiagag Zhao

More information

l-1 text string ( l characters : 2lbytes) pointer table the i-th word table of coincidence number of prex characters. pointer table the i-th word

l-1 text string ( l characters : 2lbytes) pointer table the i-th word table of coincidence number of prex characters. pointer table the i-th word A New Method of N-gram Statistics for Large Number of ad Automatic Extractio of Words ad Phrases from Large Text Data of Japaese Makoto Nagao, Shisuke Mori Departmet of Electrical Egieerig Kyoto Uiversity

More information

Image Segmentation EEE 508

Image Segmentation EEE 508 Image Segmetatio Objective: to determie (etract) object boudaries. It is a process of partitioig a image ito distict regios by groupig together eighborig piels based o some predefied similarity criterio.

More information

Analysis of Documents Clustering Using Sampled Agglomerative Technique

Analysis of Documents Clustering Using Sampled Agglomerative Technique Aalysis of Documets Clusterig Usig Sampled Agglomerative Techique Omar H. Karam, Ahmed M. Hamad, ad Sheri M. Moussa Abstract I this paper a clusterig algorithm for documets is proposed that adapts a samplig-based

More information

One advantage that SONAR has over any other music-sequencing product I ve worked

One advantage that SONAR has over any other music-sequencing product I ve worked *gajedra* D:/Thomso_Learig_Projects/Garrigus_163132/z_productio/z_3B2_3D_files/Garrigus_163132_ch17.3d, 14/11/08/16:26:39, 16:26, page: 647 17 CAL 101 Oe advatage that SONAR has over ay other music-sequecig

More information

Schema for the DCE Security Registry Server

Schema for the DCE Security Registry Server Schema for the Security egistry Server Versio Date: 0/20/00 For questios or commets cocerig this documet, sed a email ote to dce-ldap@opegroup.org or call Doa Skibbie at 52 838-3896. . Itroductio...3 2.

More information

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000.

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000. 5-23 The course that gives CM its Zip Memory Maagemet II: Dyamic Storage Allocatio Mar 6, 2000 Topics Segregated lists Buddy system Garbage collectio Mark ad Sweep Copyig eferece coutig Basic allocator

More information

Reliable Transmission. Spring 2018 CS 438 Staff - University of Illinois 1

Reliable Transmission. Spring 2018 CS 438 Staff - University of Illinois 1 Reliable Trasmissio Sprig 2018 CS 438 Staff - Uiversity of Illiois 1 Reliable Trasmissio Hello! My computer s ame is Alice. Alice Bob Hello! Alice. Sprig 2018 CS 438 Staff - Uiversity of Illiois 2 Reliable

More information

Counting the Number of Minimum Roman Dominating Functions of a Graph

Counting the Number of Minimum Roman Dominating Functions of a Graph Coutig the Number of Miimum Roma Domiatig Fuctios of a Graph SHI ZHENG ad KOH KHEE MENG, Natioal Uiversity of Sigapore We provide two algorithms coutig the umber of miimum Roma domiatig fuctios of a graph

More information

A Polynomial Interval Shortest-Route Algorithm for Acyclic Network

A Polynomial Interval Shortest-Route Algorithm for Acyclic Network A Polyomial Iterval Shortest-Route Algorithm for Acyclic Network Hossai M Akter Key words: Iterval; iterval shortest-route problem; iterval algorithm; ucertaity Abstract A method ad algorithm is preseted

More information

A Generalized Set Theoretic Approach for Time and Space Complexity Analysis of Algorithms and Functions

A Generalized Set Theoretic Approach for Time and Space Complexity Analysis of Algorithms and Functions Proceedigs of the 10th WSEAS Iteratioal Coferece o APPLIED MATHEMATICS, Dallas, Texas, USA, November 1-3, 2006 316 A Geeralized Set Theoretic Approach for Time ad Space Complexity Aalysis of Algorithms

More information

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 4 Procedural Abstractio ad Fuctios That Retur a Value Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 4.1 Top-Dow Desig 4.2 Predefied Fuctios 4.3 Programmer-Defied Fuctios 4.4

More information

Review: The ACID properties

Review: The ACID properties Recovery Review: The ACID properties A tomicity: All actios i the Xactio happe, or oe happe. C osistecy: If each Xactio is cosistet, ad the DB starts cosistet, it eds up cosistet. I solatio: Executio of

More information

A New Bit Wise Technique for 3-Partitioning Algorithm

A New Bit Wise Technique for 3-Partitioning Algorithm Special Issue of Iteratioal Joural of Computer Applicatios (0975 8887) o Optimizatio ad O-chip Commuicatio, No.1. Feb.2012, ww.ijcaolie.org A New Bit Wise Techique for 3-Partitioig Algorithm Rajumar Jai

More information

arxiv: v2 [cs.ds] 24 Mar 2018

arxiv: v2 [cs.ds] 24 Mar 2018 Similar Elemets ad Metric Labelig o Complete Graphs arxiv:1803.08037v [cs.ds] 4 Mar 018 Pedro F. Felzeszwalb Brow Uiversity Providece, RI, USA pff@brow.edu March 8, 018 We cosider a problem that ivolves

More information

Big-O Analysis. Asymptotics

Big-O Analysis. Asymptotics Big-O Aalysis 1 Defiitio: Suppose that f() ad g() are oegative fuctios of. The we say that f() is O(g()) provided that there are costats C > 0 ad N > 0 such that for all > N, f() Cg(). Big-O expresses

More information

Code Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013

Code Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013 Code Review s Authors: Mika V. Mätylä ad Casper Lasseius Origial versio: 4 Sep, 2007 Made available olie: 24 April, 2013 This documet cotais further details of the code review defects preseted i [1]. of

More information

UNIVERSITY OF MORATUWA

UNIVERSITY OF MORATUWA UNIVERSITY OF MORATUWA FACULTY OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING B.Sc. Egieerig 2014 Itake Semester 2 Examiatio CS2052 COMPUTER ARCHITECTURE Time allowed: 2 Hours Jauary 2016

More information

Searching a Russian Document Collection Using English, Chinese and Japanese Queries

Searching a Russian Document Collection Using English, Chinese and Japanese Queries Searchig a Russia Documet Collectio Usig Eglish, Chiese ad Japaese Queries Fredric C. Gey (gey@ucdata.berkeley.edu) UC Data Archive & Techical Assistace Uiversity of Califoria, Berkeley, CA 94720 USA ABSTRACT.

More information

CMSC Computer Architecture Lecture 11: More Caches. Prof. Yanjing Li University of Chicago

CMSC Computer Architecture Lecture 11: More Caches. Prof. Yanjing Li University of Chicago CMSC 22200 Computer Architecture Lecture 11: More Caches Prof. Yajig Li Uiversity of Chicago Lecture Outlie Caches 2 Review Memory hierarchy Cache basics Locality priciples Spatial ad temporal How to access

More information