Distributed querying of Web by using dynamically created mobile agents Vadim Guzev, University of Pereslavl-Zalessky Vladimir Sazonov, University of Liverpool.

Slides:



Advertisements
Similar presentations
Lecture 11: Datalog Tuesday, February 6, Outline Datalog syntax Examples Semantics: –Minimal model –Least fixpoint –They are equivalent Naive evaluation.
Advertisements

Size-estimation framework with applications to transitive closure and reachability Presented by Maxim Kalaev Edith Cohen AT&T Bell Labs 1996.
Based on: Petri Nets and Industrial Applications: A Tutorial
Applying Petri Net Unfoldings for Verification of Mobile Systems Apostolos Niaouris Joint work with V. Khomenko, M. Koutny MOCA ‘06.
Fast Algorithms For Hierarchical Range Histogram Constructions
Using Multi-Encryption to Provide Secure and Controlled Access to XML Documents Tomasz Müldner, Jodrey School of Computer Science, Acadia University, Wolfville,
Programming Paradigms for Concurrency Lecture 11 Part III – Message Passing Concurrency TexPoint fonts used in EMF. Read the TexPoint manual before you.
Discrete Mathematics Lecture 5 Alexander Bukharovich New York University.
 Dr. Vered Gafni 1 LTL Decidability Enables consistency check, but also base for verification.
Chapter 25: All-Pairs Shortest-Paths
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Course on Probabilistic Methods in Concurrency (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1 The pi-calculus and the asynchronous.
Foundations of Data-Flow Analysis. Basic Questions Under what circumstances is the iterative algorithm used in the data-flow analysis correct? How precise.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
Department of mathematics and computer science 1 of 21 Rob van Glabbeek (Sydney) Marc Voorhoeve (TUE) Liveness, Fairness and Impossible Futures.
Transparency No Formal Language and Automata Theory Chapter 10 The Myhill-Nerode Theorem (lecture 15,16 and B)
International Workshop on Computer Vision - Institute for Studies in Theoretical Physics and Mathematics, April , Tehran 1 IV COMPUTING SIZE.
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 10 Requirements 4.
Scalable and Distributed Similarity Search in Metric Spaces Michal Batko Claudio Gennaro Pavel Zezula.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
Building Web Spiders Web-Based Information Architectures MSEC Mini II Jaime Carbonell.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
1 Lecture 19 Closure Properties for LFSA using NFA’s –union second proof –concatenation –Kleene closure.
Congestion Games (Review and more definitions), Potential Games, Network Congestion games, Total Search Problems, PPAD, PLS completeness, easy congestion.
1 Module 10 Recursive and r.e. language classes –representing solvable and half-solvable problems Proofs of closure properties –for the set of recursive.
Chapter 4: A Universal Program 1. Coding programs Example : For our programs P we have variables that are arranged in a certain order: Y 1 X 1 Z 1 X 2.
Directed graphs Definition. A directed graph (or digraph) is a pair (V, E), where V is a finite non-empty set of vertices, and E is a set of ordered pairs.
Introduction to ASMs Dumitru Roman Digital Enterprise Research Institute
Graphical models for part of speech tagging
Master Thesis Defense Jan Fiedler 04/17/98
Chapter 4 Relations and Digraphs
Reputations Based On Transitive Trust Slides by Josh Albrecht.
SDS Foil no 1 Process Algebra Process Algebra – calculating with behaviours.
2G1516 Formal Methods2005 Mads Dam IMIT, KTH 1 CCS: Operational Semantics And Process Algebra Mads Dam Reading: Peled 8.3, 8.4, 8.6 – rest of ch. 8.
Artificial Intelligence Web Spidering & HW1 Preparation Jaime Carbonell 22 January 2002 Today's Agenda Finish A*, B*, Macrooperators.
Process Algebra Calculus of Communicating Systems Daniel Choi Provable Software Lab. KAIST.
By J. Burns and J. Pachl Based on a presentation by Irina Shapira and Julia Mosin Uniform Self-Stabilization 1 P0P0 P1P1 P2P2 P3P3 P4P4 P5P5.
1 Closures of Relations: Transitive Closure and Partitions Sections 8.4 and 8.5.
Learning bounded unions of Noetherian closed set systems via characteristic sets Yuichi Kameda 1, Hiroo Tokunaga 1 and Akihiro Yamamoto 2 1 Tokyo Metropolitan.
The countable character of uncountable graphs François Laviolette Barbados 2003.
Relations and their Properties
Minimal Broker Overlay Design for Content-Based Publish/Subscribe Systems Naweed Tajuddin Balasubramaneyam Maniymaran Hans-Arno Jacobsen University of.
Mathematical Preliminaries
MPRI – Course on Concurrency Lectures 11 and 12 The pi-calculus expressiveness hierarchy Catuscia Palamidessi INRIA Futurs and LIX
Problem Statement How do we represent relationship between two related elements ?
Chapter 9. Chapter Summary Relations and Their Properties n-ary Relations and Their Applications (not currently included in overheads) Representing Relations.
ADS 1 Algorithms and Data Structures 1 Syllabus Asymptotical notation (Binary trees,) AVL trees, Red-Black trees B-trees Hashing Graph alg: searching,
1/16/20161 Introduction to Graphs Advanced Programming Concepts/Data Structures Ananda Gunawardena.
UNIT - I Formal Language and Regular Expressions: Languages Definition regular expressions Regular sets identity rules. Finite Automata: DFA NFA NFA with.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 0 Introduction Some slides are in courtesy of Prof.
Recap: Transformation NFA  DFA  s s1s1... snsn p1p1 p2p2... pmpm >...  p1p1  p2p2  pipi s e s1s1 e s2s2 e sisi >
Setting up a search engine KS 2 Search: appreciate how results are selected.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Set-theoretical models of untyped -calculus Motivation for models: Better intuition about the formal theory. Consistency results follow by soundness. Completeness.
1 CMSC 250 Discrete Structures CMSC 250 Lecture 41 May 7, 2008.
Review: Discrete Mathematics and Its Applications
BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS
Search Engine Architecture
Introduction to Relations
Computing Connected Components on Parallel Computers
The countable character of uncountable graphs François Laviolette Barbados 2003.
Verification and Validation Overview
Internet of Things A Process Calculus Approach
Steven Lindell Scott Weinstein
Alternating tree Automata and Parity games
Review: Discrete Mathematics and Its Applications
International Marketing and Output Database Conference 2005
Presentation transcript:

Distributed querying of Web by using dynamically created mobile agents Vadim Guzev, University of Pereslavl-Zalessky Vladimir Sazonov, University of Liverpool Yuri Serdyuk, Program Systems Institute of the RAS, Pereslavl-Zalessky

Content 1.Introduction : the Web querying by using mobile agents 2.A set-theoretic language Delta for Web querying 3.The distributed calculi of mobile agents 4.Distributed mobile algorithms for evaluation of Delta- constructs 5.Demonstration : the developed application based on the Grasshopper agent platform

Traditional Web querying W e b Search engine (Google / Lycos / … ) User Web - index Deficiencies :  obsolete information in the Web-index;  impossibility to pose complex ( structural ) queries;  impossibility to create automatically ( by query execution ) new Web-pages from existing ones...

Direct Web querying W e b Query system Deficiencies :  very slow query execution due to extremely time consuming browsing steps ( loading of Web pages ) User

Web querying by using mobile agents Query system User site Web

Web querying by using mobile agents Query system User site Web

Web querying by using mobile agents Query system User site Web

Web querying by using mobile agents Query system User site Web

Set-theoretical language Delta for Web querying X = { { a, { b } }, {} } X = { a, X } a b X X

Set-theoretical language Delta for Web querying U Union

Set-theoretical language Delta for Web querying... LTC ( ) Local transitive closure

Set-theoretical language Delta for Web querying... l1l1 l2l2 lnln { l : x | l : x  &  ( l, x ) } Selection

Set-theoretical language Delta for Web querying Syntax :  -terms ::= c | x |  | U t | LTC ( t ) | TC ( t ) | { l 1 : t 1,..., l n : t n } | { l : t ( l, x ) | l : x  s &  ( l, x ) } | fix q. ( q = q  { l : x  s &  ( q, l, x ) } | D ( s, t )  -formulas ::= l = m | s = t | l : s  t | P ( t 1,..., t n ) |  &  |    | ¬  |  l : x  s.  |  l : x  s. 

Examples of queries. 1.Find on the Web-site of Mathematics department of Indian University all pages with labels which occur words “Seminar” or “Colloquium”. { l : x | l : x  LTC ( “ ) & ( Occur ( “Seminar”, l )  Occur ( “Colloquium”, l ) ) }

Examples of queries. 2. Find all external pages for a given site ( i.e., find all pages to which there is a reference from some page on given site and which doesn’t belong to this site ). U { l : { m : y | m : y  x & ¬ Local ( x, y ) } | l : x  LTC ( “ ) }

Examples of queries. 3. On given site find all pages from which the main ( home ) page of this site is reachable ( with some lightened syntax without labels ). fix q. ( q = q  { x | x  LTC ( “ ) & ( ( “  x )  (  z  q. z  x ) )

Examples of queries. 4. Copy remote site to local computer (more precisely, copy it’s topological ( hyperlink) structure ). Decoration X = { a, { b, c } } X h = { {,,, }, x } where = { {a}, {a, b} } D ( X h, x ) = X X a b c

Examples of queries. 4. Copy remote site to local computer (more precisely, copy remote site’s topological ( hyperlink) structure ). V = { l : x | l : x  LTC ( { “ } ) } E = U { l : { m : | m : y  x & Local ( x, y ) } | l : x  V } D ( E, “ )

 - calculus ( Robin Milner, 1991 ) N – ( an infinite ) set of names P, Q := 0 P | Q c ! v c ? x. P new c in P nil parallel composition output input new channel name creation

 - calculus : examples of reductions 1.x ! a | x ? u. y ! u

 - calculus : examples of reductions 1.x ! a | x ? u. y ! uy ! a

 - calculus : examples of reductions 1.x ! a | x ? u. y ! uy ! a 2. x ! a | new x in ( x ! b | x ? u. y ! u )

 - calculus : examples of reductions 1.x ! a | x ? u. y ! uy ! a 2. x ! a | new x in ( x ! b | x ? u. y ! u ) x ! a | new x in y ! b

 - calculus : examples of reductions 1.x ! a | x ? u. y ! uy ! a 2. x ! a | new x in ( x ! b | x ? u. y ! u ) x ! a | new x in y ! b new x in P [ x ]  new x’ in P [ x / x’ ] ! P  P | ! P

 - calculus : structural congruence P | 0  P P | Q  Q | P P | ( Q | R )  ( P | Q ) | R new x in new y in P  new y in new x in P P | new x in Q  new x in ( P | Q ), if x  fn ( P )

 - calculus : reduction semantics Com c ! v | c ? w. PP { w/v } Par P P’ P | QP’ | Q Res PP’ new x in Pnew x in P’ Struct P  Q, Q R, R  T P T

Distributed  - calculus ( Peter Seweel et al., 1998 ) Syntax : N - ( an infinite ) set of names a, b, … - agents c - channel s - site P, Q ::= 0 nil P | Q parallel composition new c in P new channel name creation c ! v output v on channel c in the current agent c ? p  P input from channel c * c ? p  P replicated input from channel c agent a = P in Q agent creation migrate to s  P agent migration c ! v output to agent a on site s if u = v then P else Q value equality testing

Distributed  - calculus : example s1 s2 server s a

Distributed  - calculus : example s1 s2 server s a getAgent [ a s2 ]

Distributed  - calculus : example s1 s2 server s a getAgent [ a s2 ] b

Distributed  - calculus : example s1 s2 server s a getAgent [ a s2 ] b

Distributed  - calculus : example s1 s2 server s a getAgent [ a s2 ] b ack [ b ]

Distributed  - calculus : example * getAgent ? ( a s2 )  agent b = migrate to s2  ( ack ! b | B ) in 0

Mobile algorithm for Union-construct s s1s1 snsn...

Mobile algorithm for Union-construct... root s s1s1 snsn RootAgent

Mobile algorithm for Union-construct... root s s1s1 snsn RootAgent UnionAgent

Mobile algorithm for Union-construct... roots s1s1 snsn RootAgentUnionAgent

Mobile algorithm for Union-construct... roots s1s1 snsn RootAgentUnionAgent …

Mobile algorithm for Union-construct... roots s1s1 snsn RootAgentUnionAgent

Mobile algorithm for Union-construct... roots s1s1 snsn RootAgentUnionAgent

Mobile algorithm for Union-construct... roots s1s1 snsn RootAgentUnionAgent

Mobile algorithm for Union-construct UnionAgent ( s ) = migrate to s  links = getLinks( ); forall ( s i  links ) create SubAgent ( s i ) | ( u = getResultsFromSubAgents(); sendToParent ( u ); ) SubAgent ( v ) = migrate to v  links = getLinks(); sendToParent ( links );

Mobile algorithm for Transitive Closure-construct... RootAgent root

Mobile algorithm for Transitive Closure-construct... RootAgent root TCAgent

Mobile algorithm for Transitive Closure - construct... RootAgent root TCAgent TAgent

Mobile algorithm for Transitive Closure - construct... RootAgent root TCAgent TAgent

Mobile algorithm for Transitive Closure - construct... RootAgent root TCAgent TAgent

Mobile algorithm for Transitive Closure - construct... RootAgent root TCAgent TAgent

Mobile algorithm for Transitive Closure - construct TCAgent ( s ) = migrate to s  links = getLinks ( ); ( forall ( s i  links ) create TAgent ( s i ) | u = getResultsFromAllTAgents (); | getSignalsFromChilds(); sendToParent ( u ) ) TAgent ( v ) = if ( v  result_set_from_TCAgent ) then sendSignalToParent(); else migrate to  links = getLinks ( ); ( forall ( u  links ) create TAgent ( u ) | getSignalsFromChilds (); sendSignalToParent(); )

Mobile algorithm for equality - construct Examples of queries. 1.Compare a given site S with it’s mirror M S. { {  } | S = M S }, or, more formally, in precise Delta-syntax : { l : {  } | l : x  {  } & S = M S } 2.On given site S find all identical pages. { | x, y  LTC ( { S } ) & x = y }

Mobile algorithm for equality - construct Def. Let G = ( V,  ) be a (finite-branching) graph, and R is a binary relation on V  V. R is a bisimulation relation if  ( E, F )  R ( E  E’  F  F’ & ( E’, F’ )  R ) & ( F  F’  E  E’ & ( E’, F’ )  R ) R is a non-bisimulation relation if  ( E, F )  R  E  E’  F  F’ ( E’, F’ )  R   F  F’  E  E’ ( E’, F’ )  R

Mobile algorithm for equality - construct Expansion trees [ Y. Hirshfeld, 1994, P.Jancar, F.Moller,1999 ] Def. Given two sets B   and A of pairs of vertices, A is called an expansion of B iff it is a minimal set ( wrt inclusion ) satisfying the property  ( E, F )  B  E  E’  F  F’ ( E’, F’ )  A   F  F’  E  E’ ( E’, F’ )  A Properties. 1. A non-empty set B fails to have an expansion iff  ( E, F )  B ( out_degree ( E ) = out_degree ( F ) = 0 ) 2. A non-empty set B has ( the single ) expansion  iff  ( E, F )  B E  1 F ( where E  1 F, if out_degree ( E ) = 0 & out_degree ( F )  0 or symmetrically

Mobile algorithm for equality - construct Expansion trees [ Y. Hirshfeld, 1994, P.Jancar, F.Moller,1999 ] Properties. 3. An any ( non-empty) finite set of pairs of vertices has only finitely many expansions, all of which are finite. 4. Let R be a non-bisimulation relation, and let B (   )  R. Then there exists a some expansion A of B such that A  R. ( Proof is based on dual variant of Zorn’s Lemma for maximal elements in sets ). 5. Let B   and A is an expansion of B, such that A  B Then B is a non-bisimulation relation. Proof. ( E, F )  B   E  E’  F  F’ ( E’, F’ )  A  B or symmetrically. So ( E’, F’ )  B.

Mobile algorithm for equality - construct Algorithm for testing E  F A 0 = { ( E, F ) } A1A1 A2A2 A n  B = U k<n A k …… …

Mobile algorithm for equality - construct Example. E E1E1 E1’E1’ E2E2 F F1F1 F2F2 A 0 = { ( E, F ) } A 1 = { ( E 1, F 1 ) } A 1 ’ = { ( E 1 ’, F 1 ’ ) } A 2 = { ( E 2, F 2 ) }  success fail

Mobile algorithm for equality - construct Example. E E1E1 E1’E1’ E2E2 F F1F1 F2F2 MainAgent SubAgent ( F ) SubAgent ( E )

Mobile algorithm for equality - construct Example. E E1E1 E1’E1’ E2E2 F F1F1 F2F2 MainAgent SubAgent ( F ) SubAgent ( E ) SubAgent ( F 1 ) SubAgent ( E 1 )SubAgent ( E 1 ’ )

Mobile algorithm for equality - construct Example. E E1E1 E1’E1’ E2E2 F F1F1 F2F2 MainAgent SubAgent ( F ) SubAgent ( E ) SubAgent ( F 1 ) SubAgent ( E 1 )SubAgent ( E 1 ’ ) SubAgent ( F 2 ) SubAgent ( E 2 ) success

Mobile algorithm for equality - construct Example. E E1E1 E1’E1’ E2E2 F F1F1 F2F2 MainAgent SubAgent ( F ) SubAgent ( E ) SubAgent ( F 1 ) SubAgent ( E 1 )SubAgent ( E 1 ’ ) SubAgent ( F 2 ) SubAgent ( E 2 ) success fail

Application configuration W e b Delta System site3 site4 site5 User ghop1 ghop2 ghop3 sazonov alexei anatoli ghop1.csc.liv.ac.uk/csc/index.htm Ghop2.csc.liv.ac.uk/comlab/index.htm (Oxford) Ghop2.csc.liv.ac.uk/cam/index.htm (Cambridge)