Agent Applications

download Agent Applications

of 10

Transcript of Agent Applications

  • 8/3/2019 Agent Applications

    1/10

    D e v e l o p m e n t o f M o b i l e A g e n t A p p l i c a t i o n s w i t h

    A j a n t a

    1

    A n a n d R . T r i p a t h i , N e e r a n M . K a r n i k , R a m D . S i n g h , T a n v i r A h m e d ,

    J o h n E b e r h a r d , a n d A r v i n d P r a k a s h

    E E C S B u i l d i n g 4 - 1 9 2 , 2 0 0 U n i o n S t r e e t S E .

    D e p a r t m e n t o f C o m p u t e r S c i e n c e , U n i v e r s i t y o f M i n n e s o t a

    M i n n e a p o l i s M N 5 5 4 5 5

    C o n t a c t A u t h o r : A n a n d T r i p a t h i

    ( t r i p a t h i @ c s . u m n . e d u , T e l : 6 1 2 - 6 2 5 - 9 5 1 5 , F a x : 6 1 2 - 6 2 5 - 0 5 7 2 )

    A b s t r a c t

    A j a n t a i s a J a v a - b a s e d s y s t e m f o r m o b i l e - a g e n t p r o g r a m m i n g o v e r t h e I n t e r n e t . W e p r e s e n t h e r e a n

    o v e r v i e w o f t h e A j a n t a s y s t e m a n d i t s p r o g r a m m i n g m o d e l . W e o u t l i n e t h e s a l i e n t f e a t u r e s a n d i m p l e -

    m e n t a t i o n o f t h r e e a g e n t - b a s e d d i s t r i b u t e d a p p l i c a t i o n s d e v e l o p e d u s i n g A j a n t a . T h e s e w e r e d e s i g n e d t o

    t e s t a n d d e m o n s t r a t e t h e c a p a b i l i t i e s o f A j a n t a ' s p r o g r a m m i n g m o d e l , A P I s , a n d s e c u r i t y a r c h i t e c t u r e .

    T h e p r i m a r y u n d e r l y i n g m o t i v a t i o n w a s t o e x p e r i m e n t w i t h t h e a g e n t p a r a d i g m i t s e l f . T h e a p p l i c a t i o n s

    d e s c r i b e d h e r e i n c l u d e a d i s t r i b u t e d c a l e n d a r m a n a g e r , a d i s t r i b u t e d l e a c c e s s s y s t e m , a n d a w e b s e a r c h

    s y s t e m .

    1 I n t r o d u c t i o n

    T h e c o n c e p t o f m o b i l e a g e n t b a s e d d i s t r i b u t e d c o m p u t i n g h a s r e c e i v e d w i d e s p r e a d a t t e n t i o n i n t h e r e c e n t

    y e a r s f o r i t s p o t e n t i a l t o s u p p o r t i n c r e a s e d a s y n c h r o n y a n d d i s c o n n e c t e d o p e r a t i o n s i n c l i e n t - s e r v e r i n t e r a c -

    t i o n s 2 ] 4 ] . A g e n t s c a n b e u s e d f o r i n f o r m a t i o n s e a r c h i n g , l t e r i n g a n d r e t r i e v a l , a n d f o r e l e c t r o n i c c o m m e r c e

    o n t h e W e b , t h u s a c t i n g a s p e r s o n a l a s s i s t a n t s f o r t h e i r o w n e r s . A g e n t s c a n a l s o b e u s e d i n l o w - l e v e l n e t w o r k

    m a i n t e n a n c e , t e s t i n g , f a u l t d i a g n o s i s , a n d f o r d y n a m i c a l l y u p g r a d i n g t h e c a p a b i l i t i e s o f e x i s t i n g s e r v i c e s .

    H o w e v e r , s e c u r i t y a n d r o b u s t n e s s c o n c e r n s a r e t h e m a j o r o b s t a c l e s t o t h e w i d e s p r e a d d e p l o y m e n t o f t h i s

    p a r a d i g m .

    T e l e s c r i p t 8 ] , a n o b j e c t - o r i e n t e d t y p e - s a f e l a n g u a g e , w a s a m o n g t h e e a r l i e s t m o b i l e a g e n t s y s t e m s . I t

    w a s f o l l o w e d b y s y s t e m s l i k e T a c o m a 3 ] a n d A g e n t T c l 1 ] , w h i c h s u p p o r t e d m o b i l e a g e n t s w r i t t e n a s T c l

    s c r i p t s . T h e e m e r g e n c e o f J a v a h a s l e d t o t h e d e v e l o p m e n t o f s e v e r a l J a v a - b a s e d m o b i l e - a g e n t s y s t e m s 1 1 ] ,

    s u c h a s A g l e t s , O d y s s e y , V o y a g e r , a n d C o n c o r d i a . S u m a t r a 5 ] a n d M o l e 7 ] w e r e a m o n g t h e r s t g e n e r a t i o n

    o f J a v a b a s e d m o b i l e a g e n t s y s t e m s .

    A j a n t a

    2

    i s a J a v a - b a s e d s y s t e m t h a t w e h a v e d e v e l o p e d f o r p r o g r a m m i n g m o b i l e a g e n t a p p l i c a t i o n s i n a n

    o p e n s y s t e m s u c h a s t h e I n t e r n e t . I t h a s b e e n d e s i g n e d w i t h t h e g o a l o f s u p p o r t i n g s e c u r e a n d r o b u s t a g e n t -

    b a s e d a p p l i c a t i o n s i n t h e I n t e r n e t e n v i r o n m e n t . T h e A j a n t a s y s t e m a d d r e s s e s s e v e r a l i m p o r t a n t p r o b l e m s

    a n d o e r s t h e f o l l o w i n g k e y f e a t u r e s :

    A s e c u r i t y a r c h i t e c t u r e t h a t p r o v i d e s m e c h a n i s m s f o r g r a n t i n g r e s t r i c t e d a c c e s s o f h o s t r e s o u r c e s t o

    v i s i t i n g a g e n t s b a s e d o n t h e i r c r e d e n t i a l s .

    P r i m i t i v e s t o d e t e c t t a m p e r i n g o f a n a g e n t ' s d a t a b y a m a l i c i o u s h o s t o n i t s t r a v e l p a t h . I t a l s o

    p r o v i d e s a m e c h a n i s m u s i n g w h i c h a n a g e n t c a n c a r r y w i t h i t a t a m p e r - p r o o f a p p e n d - o n l y c o n t a i n e r

    f o r c o l l e c t i n g d a t a i t e m s a t v a r i o u s h o s t s i t v i s i t s .

    1

    T h i s w o r k w a s p a r t i a l l y s u p p o r t e d b y N a t i o n a l S c i e n c e F o u n d a t i o n g r a n t s A N I R 9 8 1 3 7 0 3 a n d E I A 9 8 1 8 3 3 8 .

    2

    S e e h t t p : / / w w w . c s . u m n . e d u / A j a n t a

    1

  • 8/3/2019 Agent Applications

    2/10

    A n o v e l a p p r o a c h o f c o n s t r u c t i n g a n a g e n t ' s i t i n e r a r y u s i n g c o m p o s a b l e m i g r a t i o n p a t t e r n s . I t a l s o

    s u p p o r t s c r e a t i o n o f c h i l d a g e n t s a n d t h e i r s y n c h r o n i z a t i o n u s i n g t h e f o r k - j o i n p a r a d i g m .

    M e c h a n i s m s f o r s e c u r e l y c o n t r o l l i n g r e m o t e a g e n t s f o r r e c a l l o r t e r m i n a t i o n , a n d a m o d e l f o r h a n d l i n g

    e x c e p t i o n s e n c o u n t e r e d b y a r e m o t e a g e n t .

    A s e c u r e n a m e s e r v i c e b a s e d o n t h e U R N f r a m e w o r k t h a t a l l o w s l o c a t i o n - i n d e p e n d e n t n a m i n g a n d

    a c c e s s o f a l l g l o b a l r e s o u r c e s , i n c l u d i n g t h e m o b i l e a g e n t o b j e c t s .

    T h e m o b i l e a g e n t p a r a d i g m c a n b e u s e d a t m a n y d i e r e n t l e v e l s i n a d i s t r i b u t e d c o m p u t i n g e n v i r o n m e n t .

    I t c a n b e u s e d i n i m p l e m e n t i n g s y s t e m l e v e l f u n c t i o n s , m i d d l e w a r e s u p p o r t , o r u s e r - l e v e l a p p l i c a t i o n s . T h i s

    p a p e r d e s c r i b e s t h e u s e o f t h e m o b i l e a g e n t p a r a d i g m i n b u i l d i n g t w o d i s t r i b u t e d a p p l i c a t i o n s a n d o n e m i d -

    d l e w a r e s y s t e m . T h e r e w e r e s e v e r a l m o t i v a t i o n s f o r d e v e l o p i n g t h e s e d i s t r i b u t e d s y s t e m s a n d a p p l i c a t i o n s .

    T h e r s t o n e w a s t o t e s t a n d e v a l u a t e t h e c a p a b i l i t i e s o f t h e A j a n t a s y s t e m i n t e r m s o f i t s s u p p o r t f o r a g e n t -

    b a s e d a p p l i c a t i o n d e v e l o p m e n t , a g e n t s e r v e r s e c u r i t y , a n d r e m o t e c o n t r o l o f m o b i l e a g e n t s b y t h e i r c r e a t o r s .

    T h e s e c o n d m o t i v a t i o n w a s t o d e m o n s t r a t e t h e u t i l i t y o f t h e a g e n t p a r a d i g m i t s e l f b y c r e a t i n g a p p l i c a t i o n s

    t h a t c a n p o t e n t i a l l y b e u s e d b y t h e c o m m u n i t y . T h e r s t a p p l i c a t i o n i s a d i s t r i b u t e d c a l e n d a r m a n a g e m e n t

    s y s t e m f o r s c h e d u l i n g m e e t i n g s f o r a d i s t r i b u t e d g r o u p o f u s e r s . T h e s e c o n d s y s t e m , a n a g e n t - b a s e d l e a c -

    c e s s s y s t e m , i s a m i d d l e w a r e t h a t a l l o w s a g r o u p o f u s e r s o v e r t h e I n t e r n e t t o s h a r e l e s f o r a n y c o l l a b o r a t i v e

    w o r k . A g e n t s c a n b e u s e d t o f e t c h l e s f r o m s o m e o t h e r u s e r s ' l e - a c c e s s s e r v e r s , o r d e p o s i t l e s t h e r e . T h i s

    s y s t e m w a s i m p l e m e n t e d t o e v a l u a t e t h e A j a n t a m e c h a n i s m s f o r p r o t e c t i n g s e r v e r r e s o u r c e s a n d g r a n t i n g

    r e s t r i c t e d a c c e s s t o a g e n t s b a s e d o n t h e i r c r e d e n t i a l s . T h e t h i r d s y s t e m i s a W e b s e a r c h s y s t e m , b u i l t o v e r

    t h e l e a c c e s s s y s t e m . I t u s e s a g e n t s t o p e r f o r m f u l l - t e x t k e y w o r d s e a r c h e s o n t h e w e b - p a g e s o f u s e r s .

    T h e n e x t s e c t i o n p r e s e n t s a n o v e r v i e w o f t h e A j a n t a s y s t e m a r c h i t e c t u r e . M o s t o f t h e i m p l e m e n t a t i o n

    d e t a i l s a r e o m i t t e d h e r e ; t h e s e d e t a i l s c a n b e f o u n d i n o u r o t h e r p u b l i c a t i o n s 9 ] 1 0 ] . S e c t i o n 3 p r e s e n t s

    A j a n t a ' s p r o g r a m m i n g m o d e l a n d A P I s . I n S e c t i o n s 4 , 5 , a n d 6 w e d e s c r i b e t h r e e a g e n t - b a s e d a p p l i c a t i o n s .

    F i n a l l y , i n S e c t i o n 7 w e p r e s e n t t h e c o n c l u s i o n s a n d t h e f u t u r e d i r e c t i o n s o f o u r w o r k .

    2 A n O v e r v i e w o f t h e A j a n t a S y s t e m

    A j a n t a p r o v i d e s f a c i l i t i e s t o b u i l d c u s t o m i z a b l e s e r v e r s t o h o s t m o b i l e a g e n t s , a n d a s e t o f p r i m i t i v e s f o r

    t h e c r e a t i o n a n d m a n a g e m e n t o f a g e n t s . P r o g r a m m i n g a b s t r a c t i o n s a r e p r o v i d e d t o s p e c i f y a n a g e n t ' s t a s k s

    a n d i t s t r a v e l p l a n s . R o b u s t n e s s o f t h e s y s t e m i s a l s o a n i m p o r t a n t c o n c e r n . A n a p p l i c a t i o n c a n m o n i t o r i t s

    a g e n t s ' s t a t u s , a n d c o n t r o l t h e m r e m o t e l y w h e n n e e d e d . S e c u r i t y i s a n o t h e r i m p o r t a n t r e q u i r e m e n t o f a n

    a g e n t i n f r a s t r u c t u r e . M a l i c i o u s a g e n t s c a n d a m a g e h o s t r e s o u r c e s , l e a k s e n s i t i v e d a t a , o r m o u n t \ d e n i a l o f

    s e r v i c e " a t t a c k s . S e c u r i t y m e c h a n i s m s a r e t h u s p r o v i d e d t o s a f e g u a r d h o s t r e s o u r c e s .

    I n A j a n t a , a g e n t s a r e m o b i l e o b j e c t s . A g e n t s e n c a p s u l a t e c o d e a n d e x e c u t i o n c o n t e x t a l o n g w i t h d a t a .

    I n i m p l e m e n t i n g a g e n t s a n d s e r v e r s , t h e A j a n t a a r c h i t e c t u r e m a k e s u s e o f s e v e r a l i m p o r t a n t f e a t u r e s o f t h e

    J a v a l a n g u a g e | s u c h a s o b j e c t s e r i a l i z a t i o n , s e c u r i t y a r c h i t e c t u r e , a n d r e e c t i o n .

    A n a p p l i c a t i o n e x t e n d s t h e s y s t e m - d e n e d A g e n t c l a s s t o d e n e a n e w a p p l i c a t i o n - s p e c i c a g e n t . T h e

    A g e n t c l a s s i m p l e m e n t s t h e g e n e r i c f u n c t i o n a l i t y o f a m o b i l e a g e n t . I t d e n e s t h e p r o t o c o l f o r h a n d l i n g t h e

    a r r i v a l a n d d e p a r t u r e e v e n t s o f a n a g e n t a t a s e r v e r . E a c h a g e n t i s b o u n d t o i t s e n v i r o n m e n t t h r o u g h a n

    o b j e c t r e f e r e n c e n a m e d h o s t . U s i n g t h i s , a n a g e n t c a n r e q u e s t v a r i o u s s e r v i c e s f r o m i t s l o c a l h o s t . T h e

    m o s t c o m m o n l y u s e d r e q u e s t s a r e m i g r a t i o n u s i n g t h e g o f u n c t i o n o r a c c e s s t o a h o s t r e s o u r c e s u s i n g t h e

    g e t R e s o u r c e f u n c t i o n .

    T h e A g e n t S e r v e r c l a s s d e n e s a n d i m p l e m e n t s t h e g e n e r i c f u n c t i o n a l i t y o f a n a g e n t s e r v e r . I t c a n b e

    e a s i l y e x t e n d e d t o c u s t o m i z e i t f o r s p e c i c s e r v i c e s b y c r e a t i n g a p p r o p r i a t e r e s o u r c e s ( o b j e c t s ) a n d m a k i n g

    t h e m a v a i l a b l e t o t h e v i s i t i n g a g e n t s t h r o u g h i t s r e s o u r c e R e g i s t r y . A v i s i t i n g a g e n t c a n r e q u e s t a c c e s s

    t o a r e s o u r c e t h r o u g h t h i s r e g i s t r y . T h e r e s o u r c e t h e n c o n s t r u c t s a s u i t a b l y r e s t r i c t e d p r o x y 1 0 ] , b a s e d o n

    i t s s e c u r i t y p o l i c y , a n d g i v e s t o t h e a g e n t a r e f e r e n c e t o t h i s p r o x y . T h e a g e n t c a n n o t a c c e s s t h e r e s o u r c e s

    d i r e c t l y , a n d t h e p r o x y o b j e c t e n s u r e s t h a t s e n s i t i v e o p e r a t i o n s a r e p r o t e c t e d . A j a n t a e n s u r e s t h a t t h e p r o x y

    c l a s s i s l o a d e d f r o m a t r u s t e d c o d e b a s e .

    2

  • 8/3/2019 Agent Applications

    3/10

    A j a n t a u s e s t h e U n i f o r m R e s o u r c e N a m e ( U R N ) 6 ] s c h e m e f o r n a m i n g g l o b a l e n t i t i e s s u c h a s a g e n t

    s e r v e r s , a g e n t s , u s e r s e t c . A U R N i s a p e r s i s t e n t , l o c a t i o n - i n d e p e n d e n t n a m e f o r a r e s o u r c e , w h i c h c a n

    b e u s e d f o r a c c e s s i n g t h e r e s o u r c e , o r i t s a t t r i b u t e s . T h e U R N o f a m o b i l e o b j e c t , s u c h a s a n a g e n t ,

    d o e s n o t c h a n g e o n m i g r a t i o n . T h e n a m e s e r v i c e f r a m e w o r k s u p p o r t s t h r e e s e c u r i t y r e q u i r e m e n t s : ( 1 )

    a c c e s s c o n t r o l o n t h e n a m e s e r v e r ' s r e g i s t r y e n t r i e s , ( 2 ) c l i e n t - s e r v e r a u t h e n t i c a t i o n , a n d ( 3 ) p r o t e c t i o n o f

    n a m e s p a c e s o f d i e r e n t p r i n c i p a l s ( u s e r s , a g e n t s , a g e n t s e r v e r s ) . A n e x a m p l e o f a U R N i n A j a n t a ' s n a m e s p a c e

    i s : u r n : a n s : c s . u m n . e d u / U s e r N a m e / R e s o u r c e N a m e . H e r e \ a n s " i s t h e A j a n t a N a m e s p a c e I d e n t i e r a n d

    \ c s . u m n . e d u / U s e r N a m e / R e s o u r c e N a m e " i s t h e n a m e s p a c e s p e c i c s t r i n g . W e u s e t h e e x i s t i n g r e s o l u t i o n

    f r a m e w o r k o f t h e D o m a i n N a m e S y s t e m ( D N S ) f o r U R N r e s o l u t i o n { t h e t r a n s l a t i o n o f U R N t o a U R L ,

    o r a n o t h e r U R N , o r o t h e r a t t r i b u t e s . I n t h e a b o v e U R N e x a m p l e , \ c s . u m n . e d u " i s t h e D N S d o m a i n w h e r e

    t h e o b j e c t w a s r s t c r e a t e d . W e r e f e r t o t h i s a s t h e c r e a t i o n d o m a i n , w h i c h i s u s e d a s a h i n t t o l o c a t e a n

    o b j e c t . W i t h i n t h i s d o m a i n , \ U s e r N a m e " i s a n a m i n g a u t h o r i t y o r a s u b d o m a i n , a n d \ R e s o u r c e N a m e " i s a

    u n i q u e s t r i n g i n t h i s s u b d o m a i n . T h i s h i e r a r c h i c a l s t r u c t u r e p r o v i d e s e a s e o f m a i n t e n a n c e a n d d e l e g a t i o n o f

    n a m e s p a c e s . A n e w n a m e c a n b e c r e a t e d b y a n a m i n g a u t h o r i t y o n l y i n i t s o w n n a m e s p a c e .

    3 A j a n t a P r o g r a m m i n g M o d e l a n d A P I s

    A n a g e n t i s u s u a l l y c r e a t e d b y a n a p p l i c a t i o n p r o g r a m o r a n o t h e r a g e n t { w e c a l l t h i s t h e c r e a t o r o f t h e

    a g e n t . A n a g e n t e x e c u t e s o n b e h a l f o f a u s e r , w h i c h i s i t s o w n e r . A n a p p l i c a t i o n c r e a t e s f o r i t s a g e n t s a

    g u a r d i a n o b j e c t , w h i c h i s t h e e x c e p t i o n h a n d l e r f o r t h e a g e n t . I f a n a g e n t e n c o u n t e r s a n y e x c e p t i o n s d u r i n g

    i t s e x e c u t i o n , i t i s t r a n s p o r t e d t o i t s g u a r d i a n , w h i c h t a k e s t h e a p p r o p r i a t e r e c o v e r y a c t i o n s . A n a g e n t ' s

    c r e a t o r c a n i t s e l f a c t a s i t s g u a r d i a n .

    E v e r y a g e n t c a r r i e s a c e r t i c a t e , c a l l e d c r e d e n t i a l , s i g n e d e i t h e r b y i t s o w n e r o r c r e a t o r . A n y t a m p e r i n g

    o f t h i s c e r t i c a t e c a n b e d e t e c t e d . I t c o n t a i n s t h e n a m e s o f t h e a g e n t , i t s o w n e r , c r e a t o r , a n d g u a r d i a n . I t

    a l s o i n c l u d e s t h e U R L f o r a g e n t ' s c o d e b a s e s e r v e r , w h i c h i s a s e r v e r t h a t p r o v i d e s t h e c o d e f o r t h e c l a s s e s

    r e q u i r e d b y t h e m o b i l e a g e n t . A l l c o d e m i g r a t i o n i n A j a n t a t a k e s p l a c e \ o n d e m a n d " d u r i n g t h e a g e n t ' s

    e x e c u t i o n . A n a g e n t s e r v e r a s s o c i a t e s a n e w s y s t e m - d e n e d c l a s s l o a d e r w i t h e a c h a g e n t t h a t i t h o s t s . T h i s

    c l a s s l o a d e r r s t l o o k s f o r t h e c l a s s e s o n t h e s e r v e r ' s c l a s s p a t h ; i f n o t f o u n d t h e r e , i t t h e n c o n t a c t s t h e

    a g e n t ' s c o d e b a s e s e r v e r .

    3 . 1 A g e n t C r e a t i o n a n d D i s p a t c h

    A n a g e n t c a n b e c r e a t e d b y i n s t a n t i a t i n g a s u b c l a s s o f t h e b a s e A g e n t c l a s s . I t i s g i v e n a u n i q u e n a m e

    ( i t s U R N ) a n d a C r e d e n t i a l s o b j e c t i s e m b e d d e d i n i t . E v e r y a g e n t a l s o c o n t a i n s a n A g e n t S t a t u s o b j e c t ,

    w h i c h d e s c r i b e s t h e s t a t u s o f i t s e x e c u t i o n . A n e w l y c r e a t e d a g e n t i s a c t i v a t e d b y d i s p a t c h i n g i t t o s o m e

    a g e n t s e r v e r f o r e x e c u t i o n , u s i n g t h e s t a r t p r i m i t i v e o f t h e b a s e a g e n t c l a s s . T h e a g e n t ' s c r e a t o r o p t i o n a l l y

    s p e c i e s a m e t h o d t o i n v o k e o n t h e a g e n t . I f t h i s i s o m i t t e d , t h e s e r v e r e x e c u t e s t h e ( p a r a m e t e r l e s s ) r u n

    m e t h o d b y d e f a u l t .

    F i g u r e 1 s h o w s a s i m p l e a g e n t w h i c h i s d e r i v e d f r o m t h e b a s e A g e n t c l a s s . O n c e c r e a t e d , t h i s a g e n t

    i s d i s p a t c h e d t o a n a g e n t s e r v e r u s i n g t h e s t a r t m e t h o d . W h e n r e l o c a t e d a t t h a t s e r v e r , t h e a g e n t w i l l

    e x e c u t e t h e r u n m e t h o d . T h i s m e t h o d p r i n t s a g r e e t i n g o n t h e c o n s o l e . I t o b t a i n s t h e a g e n t ' s n a m e f r o m t h e

    c r e d e n t i a l s o b j e c t , a n d i t o b t a i n s t h e n a m e o f i t s c u r r e n t h o s t s e r v e r u s i n g t h e a g e n t ' s e n v i r o n m e n t r e f e r e n c e

    h o s t a n d i t s m e t h o d g e t H o s t U R N . T h i s s i m p l e a g e n t w i l l t e r m i n a t e a t t h a t s e r v e r u n l e s s o n e d e n e s s o m e

    o t h e r m i g r a t i o n a c t i o n i n t h e a g e n t ' s c o d e .

    3 . 2 A r r i v a l a n d D e p a r t u r e A c t i o n s

    T h e A j a n t a c o m p u t a t i o n m o d e l s u p p o r t s e x e c u t i o n o f e n t r y a n d e x i t a c t i o n s w h e n e v e r a n a g e n t a r r i v e s a t a

    s e r v e r o r l e a v e s . T h e b a s e a g e n t c l a s s t r a n s p a r e n t l y e x e c u t e s t h e s y s t e m - d e n e d e n t r y a n d e x i t a c t i o n s .

    T h e a p p l i c a t i o n s p e c i c e n t r y a c t i o n i s d e n e d b y t h e a r r i v e m e t h o d o f t h e a g e n t . T h e b a s e A g e n t c l a s s

    d e n e s a n a b s t r a c t a r r i v e m e t h o d , w h i c h m u s t b e d e n e d i n t h e a p p l i c a t i o n s p e c i c a g e n t c l a s s i n h e r i t i n g

    3

  • 8/3/2019 Agent Applications

    4/10

    p u b l i c c l a s s H e l l o A g e n t e x t e n d s A g e n t

    {

    p u b l i c H e l l o A g e n t ( C r e d e n t i a l s c r e d e n t i a l ) {

    s u p e r ( c r e d e n t i a l ) ;

    }

    p u b l i c v o i d r u n ( ) {

    S y s t e m . o u t . p r i n t l n ( " A g e n t " + c r e d e n t i a l . n a m e + " s a y s H e l l o t o " + h o s t . g e t H o s t U R N ( ) ) ;

    }

    p u b l i c v o i d a r r i v e ( ) {

    }

    p u b l i c v o i d d e p a r t ( ) {

    }

    }

    F i g u r e 1 : E x a m p l e o f a S i m p l e A g e n t | H e l l o A g e n t

    f r o m t h e A g e n t c l a s s , t o e x e c u t e a n e n t r y p r o t o c o l a t e v e r y h o s t i t v i s i t s . T h e a g e n t t h r e a d r s t e x e c u t e s

    t h e a r r i v e m e t h o d , a n d i t t h e n i n v o k e s t h e m e t h o d s p e c i e d i n t h e a g e n t ' s m i g r a t i o n r e q u e s t . I n t h e a r r i v e

    m e t h o d a n a g e n t g e n e r a l l y e x e c u t e s s o m e r e s o u r c e a c q u i s i t i o n a c t i o n s . W h e n t h e a g e n t n i s h e s i t s t a s k a t a

    s e r v e r , i t s a p p l i c a t i o n s p e c i c e x i t a c t i o n , d e n e d b y t h e d e p a r t m e t h o d , i s e x e c u t e d . T h e b a s e a g e n t c l a s s

    d e n e s a n a b s t r a c t m e t h o d d e p a r t . I n a d e r i v e d c l a s s , t h e p r o g r a m m e r c a n a p p r o p r i a t e l y i m p l e m e n t t h i s

    m e t h o d t o c o n t r o l t h e c o u r s e o f t h e a g e n t b y s p e c i f y i n g m i g r a t i o n t o a n o t h e r h o s t .

    3 . 3 A g e n t M i g r a t i o n

    A n a g e n t c a n r e q u e s t m i g r a t i o n u s i n g t h e g o p r i m i t i v e . I t s p e c i e s t h e U R N o f t h e d e s i r e d d e s t i n a t i o n a g e n t

    s e r v e r , a l o n g w i t h t h e m e t h o d t o b e e x e c u t e d t h e r e . I f a n e r r o r o c c u r s d u r i n g t h e t r a n s f e r , g o m e t h o d t h r o w s

    a n e x c e p t i o n , a l l o w i n g t h e a g e n t t o h a n d l e t h e e r r o r . I n s o m e s i t u a t i o n s , t h e a g e n t m a y p r e f e r t o c o - l o c a t e

    i t s e l f w i t h a n o t h e r a g e n t o r r e s o u r c e t h a t i t n e e d s t o a c c e s s , o r a n o b j e c t i t n e e d s t o r e p o r t t o . I t c a n u s e

    t h e c o l o c a t e m e t h o d o f t h e b a s e A g e n t c l a s s , s p e c i f y i n g t h e U R N o f t h e t a r g e t t o c o - l o c a t e w i t h , a n d t h e

    m e t h o d t o i n v o k e o n i t .

    T h e c o n c e p t o f i t i n e r a r i e s i s b u i l t a b o v e t h e g o p r i m i t i v e . T h e g e n e r i c a g e n t a n d s e r v e r d o n o t e m b o d y

    t h i s c o n c e p t . W e h a v e p r o v i d e d a n I t i n A g e n t c l a s s w h i c h e x t e n d s t h e A g e n t c l a s s t o a b s t r a c t a n a g e n t ' s

    m o b i l i t y i n t o a n I t i n e r a r y o b j e c t . T h e I t i n A g e n t c l a s s a l s o i m p l e m e n t s t h e a r r i v e a n d d e p a r t m e t h o d s .

    T h e a r r i v e m e t h o d ' s i m p l e m e n t a t i o n i s e m p t y . T h e d e p a r t m e t h o d e x e c u t e s t h e n e x t m e t h o d o f t h e a g e n t ' s

    I t i n e r a r y o b j e c t t o m o v e t h e a g e n t t o t h e n e x t h o s t a c c o r d i n g t o i t s i t i n e r a r y .

    A n i t i n e r a r y i s b u i l t a s a s e q u e n c e o f m i g r a t i o n p a t t e r n s . A n i t i n e r a r y p r o v i d e s t h e n e x t m e t h o d , u s i n g

    w h i c h a n a g e n t c a n m i g r a t e t o t h e n e x t d e s t i n a t i o n i n t h e c u r r e n t p a t t e r n b e i n g t r a v e r s e d i n t h e i t i n e r a r y .

    F i g . 2 s h o w s t h e h i e r a r c h y o f p a t t e r n c l a s s e s d e n e d b y A j a n t a . T h e r o o t o f t h i s h i e r a r c h y i s a n a b s t r a c t

    c l a s s P a t t e r n . E v e r y p a t t e r n i s a s s o c i a t e d w i t h a n a c t i o n ( s p e c i e d b y t h e p r o g r a m m e r ) t h a t t h e a g e n t

    p e r f o r m s a t t h e h o s t s i t v i s i t s . T h i s c a n b e o v e r r i d d e n t o s p e c i a l i z e t h e a c t i o n p e r f o r m e d a t a s p e c i c h o s t .

    T h e p a t t e r n t r a v e r s a l i s d e t e r m i n e d b y t h e a b s t r a c t m e t h o d n e x t . I t c a p t u r e s t h e n o t i o n o f t h e n e x t h o p

    i n t h e m i g r a t i o n p a t h o f t h e a g e n t . E a c h p a t t e r n h a s i t s o w n s e m a n t i c s t o d e t e r m i n e t h e n e x t h o p . T h e

    b a s i c u n i t o f m i g r a t i o n i s a n I t i n E n t r y , w h i c h s p e c i e s a d e s t i n a t i o n s e r v e r t o m i g r a t e t o , a n d t h e a c t i o n t o

    b e p e r f o r m e d a t t h a t h o s t . I t s i m p l e m e n t a t i o n o f t h e n e x t m e t h o d a c t u a l l y m i g r a t e s t o t h e s p e c i e d s e r v e r

    u s i n g g o .

    T h e a b s t r a c t c l a s s P a t t e r n C o l l e c t i o n r e p r e s e n t s a n a g g r e g a t i o n o f p a t t e r n s . T h e n e x t m e t h o d c a n

    b e g i v e n d i e r e n t s e m a n t i c s , t o i m p l e m e n t v a r i o u s p a t t e r n s . M o r e d e t a i l e d d e s c r i p t i o n o f p a t t e r n s a n d

    t h e i r c o m p o s i t i o n c a n b e f o u n d i n a n o t h e r p a p e r 9 ] . T h e s e b a s i c p a t t e r n s i n c l u d e , t h e S e q u e n c e p a t t e r n f o r

    v i s i t i n g d e s t i n a t i o n s e r v e r s i n a g i v e n o r d e r , S e t f o r a n u n o r d e r e d t r a v e r s a l o f a s e t o f s e r v e r s , a n d S e l e c t i o n

    f o r v i s i t i n g a n y o n e i n a s e t o f s e r v e r s . T h e S p l i t p a t t e r n a l l o w s a n a g e n t t o c r e a t e a s e t o f c h i l d a g e n t s .

    S p l i t J o i n a l l o w s t h e p a r e n t t o w a i t f o r t h e c h i l d a g e n t s t o r e t u r n a n d s y n c h r o n i z e b y r e p o r t i n g t h e i r r e s u l t s .

    4

  • 8/3/2019 Agent Applications

    5/10

    Class

    ClassAbstract

    Key

    Pattern

    ItinEntry PatternCollection

    Sequence Selection Split Set

    SplitJoin

    SplitJoinAll SplitJoinAny

    F i g u r e 2 : H i e r a r c h y o f M i g r a t i o n P a t t e r n s

    A S p l i t J o i n A l l p a t t e r n c a u s e s t h e p a r e n t t o w a i t f o r a l l o f i t s c h i l d a g e n t s t o r e p o r t b a c k . I n c o n t r a s t , i n

    t h e e x e c u t i o n o f S p l i t J o i n A n y p a t t e r n t h e p a r e n t w a i t s o n l y u n t i l a n y o n e o f i t s c h i l d a g e n t s r e p o r t s b a c k .

    3 . 4 A g e n t C o n t r o l

    A j a n t a p r o v i d e s v a r i o u s p r i m i t i v e s t o c o n t r o l a n a g e n t . F o r s e c u r i t y r e a s o n s , t h e s e p r i m i t i v e s c a n o n l y b e

    i n v o k e d b y t h e a g e n t ' s o w n e r o r g u a r d i a n . T h e r e c a l l p r i m i t i v e a l l o w s t h e c a l l e r t o r e c a l l a n a g e n t b a c k t o

    i t s h o m e s i t e / g u a r d i a n , o r a n o t h e r l o c a t i o n . T h e r u n t i m e s y s t e m s e n d s a r e c a l l r e q u e s t t o t h e c u r r e n t h o s t .

    T h a t h o s t a u t h e n t i c a t e s t h e r e q u e s t e r , a n d i f p e r m i t t e d , t r a n s p o r t s t h e a g e n t t o t h e d e s i g n a t e d l o c a t i o n o n c e

    t h e a g e n t h a s c o m p l e t e d i t s c o m p u t a t i o n . T h e r e t r a c t p r i m i t i v e a l l o w s t h e c a l l e r t o r e c a l l a n a g e n t b a c k

    i m m e d i a t e l y , b y i n t e r r u p t i n g i t . T h e t e r m i n a t e p r i m i t i v e a l l o w s t h e c a l l e r t o k i l l t h e a g e n t i m m e d i a t e l y .

    3 . 5 C r e a t i o n o f A g e n t S e r v e r s

    T h e b a s e A g e n t S e r v e r c l a s s p r o v i d e s t h e g e n e r i c f u n c t i o n a l i t y t o h o s t a g e n t s , c r e a t e s a p r o t e c t e d e n v i r o n m e n t

    f o r t h e i r e x e c u t i o n , t r a n s f e r s a g e n t s f r o m o n e s e r v e r t o a n o t h e r u s i n g i t s A g e n t T r a n s f e r P r o t o c o l ( A T P ) ,

    a n d r e s p o n d s t o v a r i o u s a g e n t c o n t r o l f u n c t i o n s . T h e e x a m p l e H e l l o A g e n t s h o w n i n F i g u r e 1 c a n b e h o s t e d

    b y a n y g e n e r i c a g e n t s e r v e r b e c a u s e t h i s a g e n t d o e s n o t n e e d a n y a d d i t i o n a l s e r v i c e o r r e s o u r c e o t h e r t h a n

    t h e g e n e r i c o n e s p r o v i d e d b y t h e s e r v e r . A n a p p l i c a t i o n s p e c i c a g e n t s e r v e r i s i m p l e m e n t e d b y i n h e r i t i n g

    f r o m t h e b a s e A g e n t S e r v e r c l a s s . A d d i t i o n a l r e s o u r c e t y p e s a n d s e r v i c e s c a n b e p r o v i d e d t o t h e a g e n t s b y

    s i m p l y d e n i n g a n d c r e a t i n g a p p r o p r i a t e o b j e c t s , a n d r e g i s t e r i n g t h e m i n t h e b a s e s e r v e r ' s r e s o u r c e r e g i s t r y .

    U s i n g t h e g e t R e s o u r c e p r i m i t i v e , a n a g e n t c a n o b t a i n a p r o x y f o r a r e s o u r c e .

    U s i n g t h e d i s t r i b u t e d c a l e n d a r m a n a g e m e n t s y s t e m a s a n e x a m p l e , w e i l l u s t r a t e h e r e h o w a n a p p l i c a t i o n -

    s p e c i c s e r v e r i s c r e a t e d . F i g u r e 3 s h o w s t h e c o d e f o r C a l e n d a r S e r v e r , w h i c h i s d e r i v e d f r o m t h e g e n e r i c

    a g e n t s e r v e r . I t s c o n s t r u c t o r c r e a t e s a n e w C a l e n d a r D a t a b a s e o b j e c t a n d i n i t i a l i z e s i t s c o n t e n t s f r o m t h e

    d a t a b a s e l e . I t t h e n r e g i s t e r s t h i s d a t a b a s e o b j e c t a s a r e s o u r c e i n t h e s e r v e r ' s r e s o u r c e r e g i s t r y . T h e U R N

    a s s i g n e d t o t h i s r e s o u r c e i s t h e U R N o f t h e s e r v e r e x t e n d e d w i t h t h e s t r i n g \ C a l e n d a r D B " .

    4 D i s t r i b u t e d C a l e n d a r M a n a g e m e n t S y s t e m

    T h e m a i n f u n c t i o n o f t h i s d i s t r i b u t e d c a l e n d a r m a n a g e m e n t s y s t e m i s t o b e a b l e t o s c h e d u l e a p p o i n t m e n t s

    b a s e d o n t h e a v a i l a b i l i t y o f t h e v a r i o u s p a r t i c i p a n t s i n v o l v e d . W h e n a u s e r n e e d s t o s c h e d u l e a m e e t i n g , s h e

    c a n i n i t i a l i z e a m o b i l e a g e n t w i t h t h e s e t o f p o s s i b l e t i m e s f o r t h e m e e t i n g . T h e a g e n t t h e n v i s i t s t h e c a l e n d a r

    s e r v e r o f e v e r y p a r t i c i p a n t a n d t r i e s t o n d a p o s s i b l e t i m e - s l o t w h e n a l l t h e p a r t i c i p a n t s a r e a v a i l a b l e . I f

    5

  • 8/3/2019 Agent Applications

    6/10

    p u b l i c c l a s s C a l e n d a r S e r v e r e x t e n d s A g e n t S e r v e r {

    p r i v a t e C a l e n d a r D a t a B a s e c a l e n d a r ;

    p r i v a t e R e s o u r c e R e g i s t r y E n t r y r r E n t r y ;

    p u b l i c C a l e n d a r S e r v e r ( S t r i n g n ) {

    s u p e r ( n ) ;

    c a l e n d a r = n e w C a l e n d a r D a t a B a s e ( ) ;

    U R N c a l e n d a r U R N = n e w U R N ( m y U R N + " / C a l e n d a r D B " ) ;

    r r E n t r y = n e w R e s o u r c e R e g i s t r y E n t r y ( c a l e n d a r U R N , c a l e n d a r ) ;

    r e s o u r c e R e g i s t r y . p u t ( c a l e n d a r U R N , r r E n t r y ) ;

    / / r e a d s u s e r ' s c a l e n d e r e v e n t s f r o m d a t a b a s e f i l e

    r e a d C a l e n d a r D a t a B a s e ( c a l e n d a r ) ;

    }

    p u b l i c s t a t i c v o i d m a i n ( S t r i n g ] a r g s ) {

    / / C r e a t e t h e c a l e n d a r s e r v e r o b j e c t , a n d i t s U R N b e t h e s t r i n g g i v e n i n a r g 0 ]

    C a l e n d a r S e r v e r o b j = n e w C a l e n d a r S e r v e r ( a r g s 0 ] ) ;

    }

    }

    F i g u r e 3 : C a l e n d a r S e r v e r I m p l e m e n t a t i o n

    s u c h a t i m e - s l o t i s f o u n d , t h e a g e n t m u s t t h e n r e v i s i t t h e c a l e n d a r s e r v e r s t o i n s e r t a m e e t i n g e v e n t i n t h e

    p a r t i c i p a n t ' s c a l e n d a r d a t a b a s e .

    I n t h i s a p p l i c a t i o n , a u s e r m a i n t a i n s h e r p e r s o n a l c a l e n d a r o f a c t i v i t i e s . E a c h u s e r r u n s a c a l e n d a r s e r v e r

    w h i c h m a i n t a i n s a d a t a b a s e f o r t h e u s e r ' s c a l e n d a r e v e n t s . I t p r o v i d e s t w o m e t h o d s t o v i s i t i n g a g e n t s { o n e

    t o c h e c k f o r c o n i c t i n g e v e n t s w i t h a g i v e n e v e n t t o b e s c h e d u l e d , a n d t h e o t h e r f o r i n s e r t i n g a n e v e n t i n t h e

    d a t a b a s e . T h e d a t a b a s e o b j e c t s t o r e s e v e n t s i n t h e f o r m o f a h a s h - t a b l e . T h e c a l e n d a r d a t a b a s e n e e d s t o

    b e c o n c u r r e n t l y a c c e s s e d b y t h e u s e r a n d v i s i t i n g a g e n t s . S i n c e t h e a g e n t o r t h e u s e r s h o u l d a l w a y s s e e t h e

    l a t e s t c o p y o f t h e d a t a b a s e , a f t e r a n y u p d a t e t o t h e h a s h - t a b l e i t i s s e r i a l i z e d a n d w r i t t e n t o a l e . B e f o r e

    a n y a c c e s s t o t h e h a s h - t a b l e , t h i s l e i s c h e c k e d f o r i t s m o d i c a t i o n t i m e . I f t h e l e h a s b e e n m o d i e d s i n c e

    t h e h a s h - t a b l e w a s u p d a t e d , t h e h a s h - t a b l e i s r e l o a d e d f r o m t h e l e .

    T h e g r a p h i c a l i n t e r f a c e f o r t h i s c a l e n d a r m a n a g e m e n t s y s t e m a l l o w s a u s e r t o a d d , d e l e t e a n d e d i t a n e v e n t

    i n t o h e r c a l e n d a r d a t a b a s e . T h e u s e r c a n a l s o s c h e d u l e a n e v e n t f o r m o r e t h a n o n e p e r s o n b y l a u n c h i n g a g e n t s

    b a s e d o n S p l i t J o i n p a t t e r n a s d e s c r i b e d b e l o w . W e e x p e r i m e n t e d w i t h t w o i m p l e m e n t a t i o n s f o r a g e n t s t o

    s c h e d u l e m e e t i n g s , u s i n g t w o d i e r e n t m i g r a t i o n p a t t e r n s : S e q u e n c e a n d S p l i t J o i n . T h e s e a r e d e s c r i b e d

    b e l o w .

    S e q u e n c e B a s e d C a l e n d a r A g e n t : T h i s u s e s a s i n g l e a g e n t t o p e r f o r m t h e t a s k . A c a l e n d a r a g e n t i s

    c r e a t e d w i t h a l i s t o f p o s s i b l e o p t i o n s f o r m e e t i n g t i m e s . T h e a g e n t r s t v i s i t s a l l s e r v e r s t o c h e c k f o r c o n i c t s

    f o r e a c h o f t h e o p t i o n s a n d m a r k s a m e e t i n g t i m e a s b u s y i f i t c o n i c t s w i t h s o m e p r e v i o u s l y s c h e d u l e d e v e n t

    i n a n y p a r t i c i p a n t ' s d a t a b a s e . A t t h e e n d o f t h e r s t r o u n d i f a l l m e e t i n g t i m e s i n t h e o p t i o n s l i s t a r e m a r k e d

    a s b u s y , t h e n t h e r e i s n o c h o i c e s u i t e d f o r t h e m e e t i n g . O t h e r w i s e , t h e a g e n t p i c k s o n e o f t h e n o n - c o n i c t i n g

    o p t i o n s a n d r e v i s i t s t h e p a r t i c i p a n t s ' s e v e r s a g a i n t o s c h e d u l e t h a t e v e n t .

    T h e c a l e n d a r a g e n t u s i n g t h e S e q u e n c e p a t t e r n i s i m p l e m e n t e d b y e x t e n d i n g t h e I t i n A g e n t c l a s s . I n t h i s

    i m p l e m e n t a t i o n o f t h e c a l e n d a r a g e n t , a r r i v e a n d d e p a r t m e t h o d s o f t h e I t i n A g e n t c l a s s a r e o v e r r i d d e n .

    T h e a r r i v e m e t h o d o b t a i n s a r e f e r e n c e t o t h e c a l e n d a r d a t a b a s e o b j e c t o f t h e s e r v e r u s i n g t h e g e t R e s o u r c e

    p r i m i t i v e . T h e d e p a r t m e t h o d c h e c k s i f t h e r s t r o u n d f o r c h e c k i n g c o n i c t s i s o v e r . I f s o , i t r e v e r s e s a n d

    r e s e t s t h e i t i n e r a r y t o e x e c u t e t h e s e c o n d r o u n d o f v i s i t s b y t h e a g e n t t o s c h e d u l e t h e m e e t i n g ; o t h e r w i s e i t

    e x e c u t e s t h e n e x t m e t h o d o f t h e i t i n e r a r y .

    S p l i t - J o i n B a s e d C a l e n d a r A g e n t : I n t h e i m p l e m e n t a t i o n u s i n g t h e S p l i t J o i n p a t t e r n , t h e c a l e n d a r

    a g e n t c r e a t e s c h i l d a g e n t s t o v i s i t e a c h p a r t i c i p a n t ' s s e r v e r a n d c h e c k f o r c o n i c t s i n p a r a l l e l . E a c h c h i l d

    i s g i v e n t h e p a r e n t ' s l i s t o f o p t i o n s f o r m e e t i n g t i m e s . A f t e r v i s i t i n g t h e d e s i g n a t e d s e r v e r , a c h i l d a g e n t

    6

  • 8/3/2019 Agent Applications

    7/10

    r e t u r n s t o t h e p a r e n t a g e n t ' s h o s t a n d r e p o r t s b a c k d a t a o n c o n i c t s . T h e c a l e n d a r a g e n t ' s i t i n e r a r y c o n t a i n s

    t w o S p l i t J o i n A l l p a t t e r n s . W h e n t h e m e t h o d n e x t o f t h i s i t i n e r a r y i s c a l l e d f o r t h e r s t t i m e , t h e r s t

    S p l i t J o i n A l l p a t t e r n i s e x e c u t e d a n d i t c r e a t e s c h i l d a g e n t s t o c h e c k f o r c o n i c t s . O n c r e a t i n g a c h i l d

    a g e n t , t h e p a r e n t ' s l i s t o f o p t i o n s i s p a s s e d t o i t b y c a l l i n g s e t R e s o u r c e m e t h o d . A f t e r a c h i l d a g e n t h a s

    c h e c k e d f o r t h e c o n i c t i t r e t u r n s t o t h e p a r e n t a g e n t a n d e x e c u t e s i t s a c t i o n B e f o r e J o i n m e t h o d , w h i c h

    m e r g e s c h i l d a g e n t ' s s t a t u s o f m e e t i n g t i m e o p t i o n s w i t h t h a t o f t h e p a r e n t a g e n t . U p o n j o i n i n g o f a l l t h e

    c h i l d a g e n t s , t h e p a r e n t h a s t h e c o m p l e t e c o n i c t i n f o r m a t i o n o f a l l t h e p a r t i c i p a n t s . T h e p a r e n t a g e n t t h e n

    c h o o s e s a n o n - c o n i c t i n g o p t i o n , i f t h e r e i s o n e . I f n o s u c h o p t i o n i s f o u n d , t h e p a r e n t r a i s e s a n e x c e p t i o n

    a n d a b o r t s t h e n e x t p h a s e . I n t h e n e x t S p l i t J o i n A l l p a t t e r n , c h i l d a g e n t s a r e c r e a t e d a n d d i s p a t c h e d t o

    i n s e r t a m e e t i n g e v e n t i n e a c h p a r t i c i p a n t ' s c a l e n d a r d a t a b a s e .

    5 A D i s t r i b u t e d F i l e A c c e s s S y s t e m

    T h i s m i d d l e w a r e s y s t e m u s e s t h e a g e n t p a r a d i g m t o s u p p o r t s h a r i n g o f l e s b y a g r o u p o f u s e r s o v e r t h e

    I n t e r n e t . E a c h u s e r r u n s a F i l e A c c e s s S e r v e r , w h i c h i s a n a g e n t s e r v e r p r o v i d i n g s e c u r e a c c e s s t o a u s e r ' s

    l o c a l l e s . A n a g e n t , w o r k i n g o n b e h a l f o f a u s e r , c a n v i s i t t h i s s e r v e r , r e a d s o m e l e f r o m o r d e p o s i t a l e

    i n t h e s e r v e r ' s l e s y s t e m . I t c a n a l s o s e a r c h l e s u s i n g k e y w o r d s . H i g h e r l e v e l a p p l i c a t i o n s c a n b e b u i l t o n

    t o p o f t h i s m i d d l e w a r e ; e . g . , c o l l a b o r a t i v e a u t h o r i n g t o o l s , s h a r e d d a t a r e p o s i t o r i e s f o r c o l l a b o r a t i v e d e s i g n ,

    a g e n t - b a s e d r e m o t e s o f t w a r e i n s t a l l a t i o n s a n d u p g r a d e s e t c .

    T h e l e a c c e s s s y s t e m h a s t o s a t i s f y c e r t a i n s e c u r i t y r e q u i r e m e n t s s o t h a t o n l y v a l i d u s e r s a r e a l l o w e d

    t o a c c e s s t h e l e s a c c o r d i n g t o t h e i r c r e d e n t i a l s a n d t h e s e r v e r ' s c o n t r o l p o l i c i e s . H e n c e , i t a l s o m a k e s a

    g o o d t e s t b e d t o c h e c k t h e s e c u r i t y c a p a b i l i t i e s o f t h e A j a n t a S y s t e m . T h i s s y s t e m w a s d e s i g n e d t o m e e t t h e

    f o l l o w i n g r e q u i r e m e n t s . A u s e r s h o u l d b e a b l e t o m a k e a s e t o f i t s l o c a l l e s a v a i l a b l e t o o t h e r u s e r s . I t

    s h o u l d b e p o s s i b l e t o g r a n t a c c e s s t o t h e s e l e s s e l e c t i v e l y t o d i e r e n t u s e r s . T h e o w n e r s h o u l d b e a b l e t o

    e n f o r c e a n y d e s i r e d a c c e s s c o n t r o l .

    5 . 1 F i l e A c c e s s I n t e r f a c e t o A g e n t s

    T h e F i l e A c c e s s s y s t e m d e n e s A P I s a v a i l a b l e t o a n a g e n t t o d e p o s i t a l e , o b t a i n t h e c o n t e n t s o f s o m e l e s ,

    s e a r c h f o r l e s c o n t a i n i n g s o m e k e y w o r d e t c . T h e f o l l o w i n g p r i m i t i v e s a r e a v a i l a b l e t o a n a g e n t .

    T h e f e t c h F i l e m e t h o d r e q u e s t s t h e l e s y s t e m t o r e a d t h e c o n t e n t s o f t h e n a m e d l e . T h e r e s p o n s e

    o b j e c t t h a t i s r e t u r n e d e i t h e r c o n t a i n s t h e l e d a t a a s a b y t e a r r a y o r a n e x c e p t i o n i f t h e o p e r a t i o n f a i l e d .

    T h e t r a n s f e r F i l e o p e r a t i o n p r o v i d e s a n a l t e r n a t i v e t o f e t c h F i l e , e s p e c i a l l y f o r l a r g e l e s . T h e l e i s

    t r a n s f e r r e d t o t h e s p e c i e d h o s t / p o r t d i r e c t l y o v e r a T C P c o n n e c t i o n . T h u s , t h e a g e n t d o e s n o t n e e d t o

    c a r r y t h e l e d a t a w h i l e i t t r a v e r s e s i t s i t i n e r a r y . F o r a l e t r a n s f e r r e q u e s t , t h e a g e n t s p e c i e s t h e D N S

    h o s t n a m e a n d p o r t n u m b e r t o w h i c h t h e l e s h o u l d b e t r a n s f e r r e d . F o r t h i s , a s u s u a l l y t h e l e i s t r a n s f e r r e d

    t o t h e a g e n t ' s c r e a t o r , t h e c r e a t o r r u n s a l e t r a n s f e r t h r e a d t o r e c e i v e l e s o n t h e d e s i g n a t e d p o r t .

    T h e d e p o s i t F i l e o p e r a t i o n i s t h e c o n v e r s e o f t h e f e t c h F i l e - t h e a g e n t c a r r i e s s o m e d a t a t h a t i t w a n t s

    t o s t o r e o n a r e m o t e l e s y s t e m . T h e a g e n t m u s t h a v e t h e a p p r o p r i a t e p e r m i s s i o n s t o c r e a t e o r w r i t e a l e

    o n t h i s s e r v e r ' s l e s y s t e m .

    T h e s e a r c h o p e r a t i o n a l l o w s a g e n t s t o p e r f o r m f u l l - t e x t s e a r c h e s o n t h e i n d e x . W e u s e G l i m p s e

    3

    f o r

    i n d e x i n g a n d s e a r c h i n g . I f s u c c e s s f u l , t h e s e a r c h o p e r a t i o n s r e t u r n a l i s t o f t h e l e s t h a t c o n t a i n t h e s p e c i e d

    k e y w o r d s . T h e l e l i s t g e n e r a t e d i s l t e r e d t o c o n t a i n o n l y t h o s e l e s f o r w h i c h a g e n t ' s o w n e r h a s r e a d

    p e r m i s s i o n , o t h e r w i s e i t m a y l e a d t o a s e c u r i t y v i o l a t i o n . B a s e d o n t h e s e a r c h r e s u l t s , t h e a g e n t m a y t h e n

    c h o o s e t o f e t c h o r t r a n s f e r t h e c o n t e n t s o f t h o s e l e s , a s a p p r o p r i a t e .

    5 . 2 F i l e A c c e s s A g e n t s

    T h e F i l e A c c e s s A g e n t c l a s s i s d e r i v e d f r o m t h e I t i n A g e n t c l a s s . A l e a c c e s s a g e n t i s g i v e n a t a s k l i s t

    s p e c i f y i n g s e r v e r s t o v i s i t a n d t h e l e a c c e s s o p e r a t i o n s t o e x e c u t e t h e r e . T h e t a s k l i s t t r a n s l a t e s i n t o a n

    3

    G l i m p s e i s a s y s t e m f r o m t h e U n i v e r s i t y o f A r i z o n a f o r f u l l - t e x t s e a r c h o f l e s .

    7

  • 8/3/2019 Agent Applications

    8/10

    i t i n e r a r y f o r t h e a g e n t . A n e x a m p l e t a s k l i s t d e s c r i p t i o n i s s h o w n b e l o w .

    u r n : a n s : f o u r i e r . c s . u m n . e d u / r s i n g h f e t c h P r o j e c t R e p o r t R e p o r t F r o m S i n g h

    u r n : a n s : f o u r i e r . c s . u m n . e d u / t r i p a t h i d e p o s i t m e s s a g e . t x t m e s s a g e F o r T r i p a t h i

    u r n : a n s : f o u r i e r . c s . u m n . e d u / t a h m e d t r a n s f e r p a p e r . d o c t a h m e d . d o c

    E a c h l i n e i n d i c a t e s a t a s k f o r t h e a g e n t . F o r e x a m p l e , t h e r s t l i n e d i r e c t s t h e a g e n t t o f e t c h f r o m

    u s e r r s i n g h ' s s e r v e r t h e l e n a m e d P r o j e c t R e p o r t , a n d s t o r e i t l o c a l l y a s R e p o r t F r o m S i n g h . T h e a g e n t ,

    w h e n l a u n c h e d , v i s i t s t h e s e r v e r s o n t h i s l i s t p e r f o r m s t h e r e q u e s t e d o p e r a t i o n s . T h e c l i e n t p r o g r a m , w h i c h

    e x t e n d s t h e g e n e r i c a g e n t s e r v e r , c r e a t e s a n d l a u n c h e s a n a g e n t . A n a g e n t i s c r e a t e d w i t h t h e t a s k l i s t a n d

    t h e c r e d e n t i a l s i d e n t i f y i n g i t s c r e a t o r , o w n e r a n d t h e g u a r d i a n . T h i s s y s t e m p r o v i d e s b o t h a t e x t - b a s e d a n d

    a g r a p h i c a l i n t e r f a c e f o r c r e a t i n g a n a g e n t .

    5 . 3 F i l e S e r v e r A r c h i t e c t u r e

    A l e a c c e s s s e r v e r e x t e n d s g e n e r i c a g e n t s e r v e r p r o v i d e d b y A j a n t a . I t t h u s i n h e r i t s b a s i c a g e n t h o s t i n g

    c a p a b i l i t i e s f r o m t h e A g e n t S e r v e r c l a s s . I t i m p l e m e n t s a F i l e S y s t e m r e s o u r c e w h o s e p r o x y i s g i v e n t o

    t h e a g e n t s t o b e u s e d t o a c c e s s t h e l e s . W h e n t h e s e r v e r s t a r t s e x e c u t i n g , i t c r e a t e s a n i n s t a n c e o f t h e

    F i l e S y s t e m r e s o u r c e a n d i n s e r t s i t i n t o t h e r e s o u r c e r e g i s t r y . T h e u s e r c o n g u r e s t h e l e a c c e s s s e r v e r b y

    s p e c i f y i n g a t o p - l e v e l d i r e c t o r y , w h i c h a c t s a s t h e r o o t o f t h e l e s y s t e m v i s i b l e t o a g e n t s . T h e r o o t d i r e c t o r y

    c o n t a i n s a f u l l - t e x t i n d e x o f t h e c o n t e n t s o f a l l t h e l e s i n t h a t d i r e c t o r y a n d i t s s u b d i r e c t o r i e s . A l l l e s a r e

    p r o t e c t e d b y a s s o c i a t i n g a c c e s s c o n t r o l l i s t s w i t h l e s a n d d i r e c t o r i e s . T h e a c c e s s c o n t r o l l i s t c a n s p e c i f y a

    u s e r ' s a c c e s s p r i v i l e g e s f o r a l e o r d i r e c t o r y .

    T h e l e s y s t e m i m p l e m e n t a t i o n i n c l u d e s a s e p a r a t e t h r e a d r u n n i n g u n d e r t h e a g e n t s e r v e r ' s p r o t e c t i o n

    d o m a i n t h a t p r o v i d e s t h e a c t u a l a c c e s s t o t h e u n d e r l y i n g l o c a l l e s . F i g u r e 4 s h o w s t h e n a t u r e o f t h e

    i n t e r a c t i o n s t h a t o c c u r w h e n a n a g e n t m a k e s a s e r v i c e r e q u e s t . F o r e x a m p l e , w h e n t h e a g e n t i n v o k e s t h e

    f e t c h F i l e m e t h o d o n i t s l e s y s t e m p r o x y , t h e a g e n t t h r e a d m e r e l y r e q u e s t s t h e l e s y s t e m t h r e a d t o

    p e r f o r m t h i s o p e r a t i o n . T h i s c o m m u n i c a t i o n b e t w e e n t h e t w o t h r e a d s i s i m p l e m e n t e d u s i n g a s h a r e d b u e r ,

    t h r o u g h w h i c h t h e s e t w o t h r e a d s e x c h a n g e r e q u e s t s a n d r e s p o n s e s . T h i s s t r u c t u r e e n s u r e s t h a t t h e a g e n t

    t h r e a d ( a n d t h u s a g e n t c o d e ) n e v e r h a s d i r e c t a c c e s s t o t h e h o s t l e s y s t e m . T h e l e s e r v e r t h r e a d , w h i c h

    r e c e i v e s r e q u e s t s f r o m a v i s i t i n g a g e n t , p e r f o r m s t h e r e q u e s t e d o p e r a t i o n i f p e r m i t t e d b y t h e a c c e s s c o n t r o l

    l i s t , a n d r e t u r n s a r e s p o n s e o b j e c t t o t h e a g e n t .

    6 A n A g e n t - B a s e d W e b - S e a r c h S y s t e m

    T h i s a g e n t - b a s e d W e b S e a r c h s y s t e m i s b u i l t u p o n t h e F i l e A c c e s s s y s t e m d e s c r i b e d a b o v e . T h e m a i n

    f u n c t i o n o f t h i s W e b S e a r c h s y s t e m i s t o a l l o w a n a g e n t t o p e r f o r m f u l l - t e x t k e y w o r d s e a r c h e s o n t h e l e s

    i n s o m e r e m o t e u s e r ' s w e b d i r e c t o r y . T h e s y s t e m s h o u l d a l l o w a c l i e n t t o d i s p a t c h a n a g e n t t o a r e m o t e

    u s e r ' s l e a c c e s s s e r v e r , p e r f o r m t h e s e a r c h a n d r e t u r n t h e l e n a m e s a s U R L s . W e w a n t e d t o e x p l o i t t h e

    i n h e r e n t a s y n c h r o n y p r o v i d e d b y t h e a g e n t - b a s e d p a r a d i g m . W e a l s o w a n t e d t o r e s t r i c t t h e i n f o r m a t i o n

    s e a r c h / l t e r i n g a t t h e s e r v e r s i d e a s m u c h a s p o s s i b l e . T h i s s y s t e m h a s b e e n d e s i g n e d t o f a c i l i t a t e s e a r c h i n g

    o f w e b p a g e s o f s p e c i c u s e r s . T h e m o t i v a t i o n i n p u r s u i n g t h i s p r o j e c t w a s t o h e l p s t u d e n t s a t t h e U n i v e r s i t y

    o f M i n n e s o t a n d i f t h e i r c o u r s e w e b p a g e s h a v e b e e n u p d a t e d i n t h e p a s t f e w h o u r s . T h i s k i n d o f s e a r c h i s

    n o t p o s s i b l e w i t h t h e e x i s t i n g s e a r c h u t i l i t i e s

    A u s e r h a s t o r u n t h e F i l e A c c e s s s e r v e r t o f a c i l i t a t e s e a r c h o f h i s w e b - p a g e s . T h e l e s e r v e r r s t c o n s t r u c t s

    a n i n d e x f o r t h e u s e r ' s w e b d i r e c t o r y a n d s t o r e s t h e i n d e x i n t h e r o o t d i r e c t o r y o f t h e s h a r e d l e s y s t e m . T h e

    i n d e x i n g i s d o n e u s i n g t h e G l i m p s e u t i l i t y . V i s i t i n g a g e n t s c a n t h e n s e a r c h t h i s w e b i n d e x w i t h a n y d e s i r e d

    c o m b i n a t i o n o f k e y w o r d s p e r m i t t e d b y G l i m p s e .

    T o r e n e t h e g r a n u l a r i t y o f s e a r c h a n d t o m a k e i t m o r e e e c t i v e , w e i n t r o d u c e s o m e l t e r i n g c o n s t r a i n t s

    i n t h e W e b S e a r c h s y s t e m . T h i s l t e r i n g i s d o n e o n t h e s e r v e r s i d e . T h e F i l e A c c e s s S y s t e m t a k e s c a r e o f

    t h e l t e r i n g b a s e d o n t h e l t e r i n g a r g u m e n t s p r o v i d e d . T h e u s e r c a n s p e c i f y a c o m b i n a t i o n o f s e a r c h w o r d s

    u s i n g t h e a n d a n d o r o p e r a t o r s , a s p e r t h e G l i m p s e s y n t a x . A n o p t i o n c a n b e u s e d t o s p e c i f y i f t h e u s e r

    8

  • 8/3/2019 Agent Applications

    9/10

    Buffer

    OS FILE SYSTEM

    FileSystem Thread Agent Thread

    FILE SYSTEM

    File System proxyJob

    FILE SERVER

    RESOURCE

    Access Control List

    AGENT

    F i g u r e 4 : F i l e A c c e s s S e r v e r A r c h i t e c t u r e

    w a n t s a c a s e - i n s e n s i t i v e s e a r c h . A n o t h e r o p t i o n s p e c i e s t h e f r e q u e n c y c o u n t l t e r . O n l y t h o s e l e s t h a t

    h a v e k e y w o r d s o c c u r r i n g w i t h m o r e t h a n t h i s f r e q u e n c y w i l l b e r e t u r n e d . I t i s a l s o p o s s i b l e t o s e a r c h f o r

    o n l y t h o s e w e b d o c u m e n t s t h a t h a v e b e e n m o d i e d i n t h e p a s t o v e r s o m e p e r i o d o f t i m e . T h u s , o n l y t h o s e

    l e s t h a t w e r e m o d i e d a f t e r t h e s p e c i e d d a t e ( a n d h a v i n g t h e k e y w o r d ) w i l l b e r e t u r n e d . T h e o p t i o n t o

    o b t a i n a b r i e f a b s t r a c t ( 5 0 w o r d s ) i s a l s o v e r y h e l p f u l . T h i s o p t i o n s p e c i e s w h e t h e r t h e u s e r w a n t s t h e r s t

    5 0 w o r d s o f t h e l e t o b e b r o u g h t b a c k . T h i s w o r k s l i k e a p r e v i e w . I f t h e u s e r d i s a b l e s t h i s o p t i o n , t h e n o n l y

    t h e l e n a m e s a n d f r e q u e n c y c o u n t a r e b r o u g h t b a c k .

    T h e r e s u l t s o f a s e a r c h a r e b r o u g h t b a c k b y t h e a g e n t t o i t s c r e a t o r . A P e r l s c r i p t i s t h e n e x e c u t e d o n

    t h i s d a t a t o c o n v e r t i t i n t o a n H T M L d o c u m e n t , w h i c h i s t h e n o p e n e d b y a b r o w s e r f o r t h e u s e r t o p r e v i e w .

    T h e u s e r c a n s e l e c t a m o n g s e v e r a l p o s s i b l e o p t i o n s f o r v i e w i n g t h e r e s u l t s .

    S e c u r i t y a n d p r i v a c y a r e o b v i o u s l y i m p o r t a n t c o n c e r n s i n t h i s k i n d o f w e b s e a r c h . E v e n t h o u g h a w e b

    d i r e c t o r y i s m a d e f o r o t h e r s t o v i e w t h e i n f o r m a t i o n o n e p r o v i d e s , t h e r e a r e t i m e s w h e n o n e d o e s w a n t

    t h e w o r l d t o v i e w a c e r t a i n l e i n t h e w e b d i r e c t o r y . C o m m o n e x a m p l e s a r e d a t a l e s a i d i n g C G I s c r i p t s

    a n d o t h e r l e s . T h e r e f o r e , t h e W e b s e a r c h s y s t e m o n l y r e t u r n s t h o s e l e s t h a t h a v e U N I X \ w o r l d r e a d "

    p e r m i s s i o n s o n t h e m .

    7 C o n c l u s i o n s a n d F u t u r e W o r k

    W e h a v e d e s c r i b e d t h e A j a n t a p r o g r a m m i n g m o d e l a n d h o w i t i s u s e d t o b u i l d t h r e e a g e n t b a s e d d i s t r i b u t e d

    a p p l i c a t i o n s . I n t h i s p a p e r w e h a v e d e s c r i b e d o n e m i d d l e w a r e a p p l i c a t i o n ( a d i s t r i b u t e d l e a c c e s s s y s t e m )

    a n d t w o u s e r - l e v e l a p p l i c a t i o n s ( a d i s t r i b u t e d c a l e n d a r m a n a g e r a n d a w e b s e a r c h s y s t e m ) . T h e s e s y s t e m s

    t e s t , e v a l u a t e a n d d e m o n s t r a t e t h e c a p a b i l i t i e s o f A j a n t a ' s p r o g r a m m i n g m o d e l , A P I s a n d s e c u r i t y a r c h i t e c -

    t u r e . D i s t r i b u t e d c a l e n d a r m a n a g e r d e m o n s t r a t e s h o w d i e r e n t m i g r a t i o n p a t t e r n s c a n b e u s e d t o p r o g r a m

    a n a p p l i c a t i o n a n d t o s i m p l i f y t h e t a s k o f c r e a t i n g c o m p l e x a g e n t i t i n e r a r i e s . S p l i t J o i n p a t t e r n a l l o w s i t

    t o p a r a l l e l i z e t h e t a s k o f s c h e d u l i n g e v e n t s a t m u l t i p l e s e r v e r s . W e h a v e u s e d t h e D i s t r i b u t e d F i l e A c c e s s

    s y s t e m t o t e s t a n d d e m o n s t r a t e t h e c a p a b i l i t i e s o f t h e A j a n t a s e c u r i t y a r c h i t e c t u r e . I n f u t u r e w e w o u l d

    i n c l u d e s e c u r i t y f e a t u r e s i n t h e c a l e n d a r m a n a g e m e n t s y s t e m t o f u r t h e r t e s t A j a n t a ' s s e c u r i t y m e c h a n i s m s .

    T h e W e b S e a r c h s y s t e m r u n n i n g o n t o p o f t h e F i l e A c c e s s s y s t e m d e m o n s t r a t e s t h e b e n e t s o f t h e a g e n t

    p a r a d i g m f o r r e m o t e p r o c e s s i n g a n d i n f o r m a t i o n l t e r i n g .

    I n o u r f u t u r e w o r k w e i n t e n d t o i m p l e m e n t a n d s t u d y a p p l i c a t i o n s i n v o l v i n g a g e n t - g r o u p m a n a g e m e n t

    a n d c o m m u n i c a t i o n . A n o t h e r c l o s e l y r e l a t e d a r e a t h a t i n t e r e s t s u s i s c o l l a b o r a t i v e s y s t e m s . C u r r e n t l y w e

    a r e a l s o i n v e s t i g a t i n g u s e o f t h e m o b i l e a g e n t p a r a d i g m i n a s s i s t i n g o u r s y s t e m a d m i n i s t r a t o r s i n m o n i t o r i n g

    o u r d e p a r t m e n t a l c o m p u t i n g f a c i l i t i e s f o r i n t r u s i o n d e t e c t i o n .

    9

  • 8/3/2019 Agent Applications

    10/10

    R e f e r e n c e s

    1 ] R o b e r t S . G r a y . A g e n t T c l : A e x i b l e a n d s e c u r e m o b i l e - a g e n t s y s t e m . I n P r o c e e d i n g s o f t h e F o u r t h

    A n n u a l T c l / T k W o r k s h o p ( T C L 9 6 ) , J u l y 1 9 9 6 .

    2 ] C o l i n G . H a r r i s o n , D a v i d M . C h e s s , a n d A a r o n K e r s h e n b a u m . M o b i l e A g e n t s : A r e t h e y a g o o d i d e a ?

    T e c h n i c a l r e p o r t , I B M R e s e a r c h D i v i s i o n , T . J . W a t s o n R e s e a r c h C e n t e r , M a r c h 1 9 9 5 . A v a i l a b l e a t U R L

    h t t p : / / w w w . r e s e a r c h . i b m . c o m / m a s s d i s t / m o b a g . p s .

    3 ] D a g J o h a n s e n , R o b b e r t v a n R e n e s s e , a n d F r e d B . S c h n e i d e r . A n I n t r o d u c t i o n t o t h e T A C O M A D i s -

    t r i b u t e d S y s t e m . T e c h n i c a l R e p o r t 9 5 - 2 3 , D e p a r t m e n t o f C o m p u t e r S c i e n c e , U n i v e r s i t y o f T r o m s , J u n e

    1 9 9 5 .

    4 ] N e e r a n M . K a r n i k a n d A n a n d R . T r i p a t h i . D e s i g n I s s u e s i n M o b i l e A g e n t P r o g r a m m i n g S y s t e m s . I E E E

    C o n c u r r e n c y , 6 ( 6 ) : 5 2 { 6 1 , J u l y { S e p t e m b e r 1 9 9 8 .

    5 ] M . R a n g a n a t h a n , A n u r a g A c h a r y a , S h a m i k S h a r m a , a n d J o e l S a l t z . N e t w o r k - a w a r e M o b i l e P r o g r a m s .

    I n P r o c e e d i n g s o f U S E N I X ' 9 7 , W i n t e r 1 9 9 7 .

    6 ] K a r e n S o l l i n s a n d L a r r y M a s i n t e r . R F C 1 7 3 7 : F u n c t i o n a l R e q u i r e m e n t s f o r U n i f o r m R e s o u r c e N a m e s .

    A v a i l a b l e a t U R L h t t p : / / w w w . c i s . o h i o - s t a t e . e d u / h t b i n / r f c / r f c 1 7 3 7 . h t m l , D e c e m b e r 1 9 9 4 .

    7 ] M a r k u s S t r a e r , J o a c h i m B a u m a n n , a n d F r i t z H o h l . M o l e - A J a v a B a s e d M o b i l e A g e n t S y s t e m . I n

    P r o c e e d i n g s o f t h e 2 n d E C O O P W o r k s h o p o n M o b i l e O b j e c t S y s t e m s , 1 9 9 6 .

    8 ] J o s e p h T a r d o a n d L u i s V a l e n t e . M o b i l e A g e n t S e c u r i t y a n d T e l e s c r i p t . I n P r o c e e d i n g s o f C O M P C O N

    S p r i n g ' 9 6 , p a g e s 5 8 { 6 3 . I E E E , 1 9 9 6 .

    9 ] A n a n d T r i p a t h i , N e e r a n K a r n i k , M a n i s h V o r a , T a n v i r A h m e d , a n d R a m S i n g h . M o b i l e A g e n t P r o g r a m -

    m i n g i n A j a n t a . I n P r o c e e d i n g s o f t h e 1 9 t h I n t e r n a t i o n a l C o n f e r e n c e o n D i s t r i b u t e d C o m p u t i n g S y s t e m s ,

    M a y 1 9 9 9 .

    1 0 ] A n a n d R . T r i p a t h i a n d N e e r a n M . K a r n i k . P r o t e c t e d R e s o u r c e A c c e s s f o r M o b i l e A g e n t - b a s e d D i s -

    t r i b u t e d C o m p u t i n g . I n P r o c e e d i n g s o f t h e 1 9 9 8 I C P P W o r k s h o p o n W i r e l e s s N e t w o r k s a n d M o b i l e

    C o m p u t i n g , p a g e s 1 4 4 { 1 5 3 . I E E E C o m p u t e r S o c i e t y , A u g u s t 1 9 9 8 .

    1 1 ] D a v i d W o n g , N o e m i P a c i o r e k , a n d D a n a M o o r e . J a v a - b a s e d M o b i l e A g e n t s . C o m m u n i c a t i o n s o f t h e

    A C M , 4 2 ( 3 ) : 9 2 { 1 0 2 , M a r c h 1 9 9 9 .

    1 0