You are on page 1of 11

CNG NGH A TC T DI NG

V NG DNG THNG LNG TRONG


THNG MI IN T
MOBILE AGENT TECHNOLOGY AND
APPLICATION IN NEGOTIATION IN E-COMMERCE

PGS.TS on Vn Ban(1), CN Quch Xun Trng(2)

(1) Vin Cng ngh thng tin - Vin KH&CN Vit Nam
(2) Khoa Cng ngh thng tin - i hc Thi nguyn
Abstract: Mobile agent is the model where agents have the properties of autonomy and mobility
in traveling from one host to another in order to complete tasks. Primarily, mobile agent aims at
transferring execution nearby data sources, which help to reduce network load, overcome network
latency, support asynchronous execution, and create strong adaptability in unhomogeneous
environments. With these advantages, mobile agent commits a new, effective, and easy-to-use method
in developing network applications, especially distributed applications. This report is about the mobile
agent model, some mobile agent development tools, and one application of mobile agent in e-
commercial negotiation which is one of online service attracting attentions in the process of Vietnam
economic integration in particular.
1. Gii thiu
Cng vi s pht trin ca cc k thut tin tin v my tnh, k thut truyn tin v cc lnh vc tin
hc hin i (nh h thng phn tn, AI & Khoa hc nhn dng, my hc, m di ng, truy tm thng
tin, c s d liu v c s tri thc ..). Kt hp vi phng php lp trnh hng i tng to ra
mt phng php pht trin mi. Phng php lp trnh hng tc t.
Tc t di ng l mt thnh phn phn mm c kh nng di chuyn mt cch t tr t nt mng
ny sang nt mng khc v thc hin cc x l thay th cho con ngui thc hin cc cng vic c
giao. Khi di chuyn, cc tc t di ng ng gi m ngun, d liu v c th c trng thi thi hnh.
Nh vy, tc t di ng c th dng vic thi hnh ang thc hin ti my ny, di chuyn sang my
khc v khi phc li s thi hnh ti my ch.
1.1. Mt s tnh cht c trng ca tc t di ng
Tnh di ng: L kh nng di chuyn t mi trung thi hnh ny sang mi trng khc ca
mt tc t. Kh nng di ng ca mt tc t c phn thnh hai loi. Di ng mnh l kh
nng m h thng c th di chuyn c m chng trnh v trng thi thi hnh ca tc t n
mt mi trng khc. Di ng yu l kh nng ca h thng ch c th di chuyn m
chng trnh gia cc mi trng thi hnh vi nhau, m ngun c th mang km theo mt
s d liu khi to nhng trng thi thi hnh th khng th di chuyn.
Tnh t tr: L kh nng t kim sot nhng hot ng ca chnh n v thi hnh cc tc v
c lp vi ngi dng hoc ca tc t khc. C nhiu hng nh gi v s t tr ca tc t,
trong hai c tnh: hng ch v ch ng thng c dng nh gi mc t tr
ca tc t. Kh nng t tr ca tc t ch yu c quyt nh bi tri thc trang b cho tc t
[9].
Tnh thch nghi : L kh nng ca tc t c th thc thi trn nhng mi trng l v bit
cch hc v thay i hnh vi ca n theo cc tri thc thu c t mi trng.
Kh nng cng tc: L kh nng lin lc, phi hp hot ng ca cc tc t vi cc tc t
khc ca cng mi trng hay vi cc loi i tng trong nhng mi trng khc.
Tnh ng v bn vng: L c lp vi cc phn mm tc t khc v c kh nng tn ti
bn vng trong mi trng hot ng.
1.2. Nguyn l hot ng
1.2.1. Vng i ca mt tc t di ng

Mi tc t di ng u thc hin tun t theo logic: u tin, tc t c to ra, di tr t host ny


sang host khc theo lch trnh, thc hin cc nhim v c giao v cui cng b hu sau khi hon
thnh nhim v.

Hnh 1.1. Vng i ca mt tc t di ng.


1.2.2. C ch di chuyn ca tc t di ng.
Tc t s t quyt nh ng gi
v di tr n mi trng khc thc thi
l c im ni bt ca tc t di ng.
Khi c nhu cu di tr tc t s tm dng
thc thi m, thc hin lu trng thi ca
i tng (c th c kh nng lu li c
trng thi thi hnh). Sau khi m ho d
liu tc t s c truyn i trn h
thng mng. Khi n ch, tc t s thc
hin cc bc ngi li vi bn gi
khi phc li trng thi ca tc t v tip
tc thc hin nhim v. Hnh 1.2. C ch di chuyn ca mobile agent
1.3. Kin trc ca h thng tc t di ng.

Agent Giao tip Agent Agent Agent


logic

Giao tip Giao tip


thc thc

Phn mm c bn Phn mm c bn C s d liu

H iu hnh H iu hnh
Di tr

Hnh 1.3. Kin trc ca mt h thng tc t di ng

H iu hnh ca cc h thng my tnh cung cp cc phn mm c bn thc hin vic tch


hp cc tc t di ng vo h thng v cung cp y cc chc nng c bn cho tc t di ng hot
ng. Phn mm c bn l giao din gia tc t di ng v h iu hnh ca my tnh [11].
Mt tc t di ng c th giao tip trc tip vi cc phn mm c bn bng cch yu cu mt
th tc m phn mm c bn cung cp v nhn cu tr li bng cc tham s tr v. Cc tc t ang
cng hot ng ti mt h thng cng c th giao tip vi nhau. Vic truyn thng ny c th c
thc hin theo hai cch:
1. Cch th nht: giao tip thc - hai tc t giao tip trc tip vi nhau bng cch gi cho
nhau cc thng ip hoc yu cu cc th tc. Cch ny linh hot v cho php tc t mc t do
cao. Tuy nhin, phn mm c bn (cng l cc server) kh theo di v iu khin cc hot ng ca
cc tc t.
2. Cch th hai: giao tip logic - hai tc t giao tip vi nhau thng qua phn mm c bn.
Cc tc t ch giao tip trc tip vi phn mm c bn. Cch giao tip gia hai tc t ny bao gm hai
kt ni thc gia cc tc t cn giao tip vi phn mm c bn. Cch ny hn ch hn v d b thay
i hn.
Nu mt tc t mun truy xut thng tin t mt c s d liu bn ngoi th tc t phi thng
qua phn mm c bn. Phn mm c bn s truy xut n c s d liu v thc hin cc cng vic m
tc t yu cu (nh tm kim,) sau tr kt qu v cho tc t.
Phn mm c bn ca cc h thng tc t di ng gm c ba tng: tng tc t, tng an ninh,
tng truyn thng:

Tng tc t cung cp cc tc v chnh cho vic thi hnh v kim tra ca tt c cc tc t trn
my. Ngoi ra, n cung cp cho tt c cc tc t mi trng lm vic v s thi hnh cc tc
t c lp vi nhau. Tng tc t cn cung cp cc chc nng c bn cho hot ng ca cc
tc t.

Tng an ninh cung cp cc chc nng cho php truyn cc thng ip v cc i tng trn
mng mt cch an ton.

Tng truyn thng bao gm cc c t cho cc giao thc truyn, cc nh dng ti liu, i
tng.
1.4. Chun ho
Cc h tc t di ng khc nhau c th khc nhau v kin trc v s thc thi iu ny gy cn
tr khng t cho kh nng cng vn hnh gia cc phn v s trin khai nhanh chng ca cng ngh
tc t di ng trn th trng. Trc nhu cu , OMG pht trin chun MASIF (Mobile agent
System Interoperability Facility) - cho php cc tc t cng vn hnh [20]. MASIF a ra cc giao
din gia cc h thng tc t, gia cc ng dng tc t v cc h thng tc t. Trong , giao din gia
cc h thng tc t thch hp cho cc nh pht trin ng dng cn giao din gia cc ng dng tc t
v h thng tc t cho php cc tc t di ng di chuyn qua nhiu host trong mi trng m. MASIF
khng phi l ngn ng cho kh nng cng vn hnh, n nh ngha cc giao din mc h thng tc
t hn mc tc t.
Bn cnh MASIF, FIPA (Foundation for Intelligent Physical Agent) l t chc cc chun cho
cc tc t vt cht c tnh thng minh. FIPA y mnh cng ngh da trn tc t v kh nng cng vn
hnh ca cc chun ca n vi cc cng ngh khc [5]. FIPA c thnh lp nm 1996 vi mc ch
a ra cc c t cho cc h thng tc t v da trn tc t khng thun nht v tng tc ln nhau.
FIPA ng vai tr ch yu trong s pht trin ca cc chun ca cc tc t v y mnh cc sng kin
v cc s kin gp phn vo s pht trin ca cng ngh tc t. Hn na nhiu tng c bt u
v c pht trin trong FIPA ang hnh thnh tiu im mi trong th h mi ca cng ngh
Web/Internet v cc c t c lin quan.
FIPA, t chc cc chun cho cc h thng tc t v a tc t c IEEE (Institute of Electrical
and Electronic Engineers) chp nhn chnh thc vo ngy 08/06/2005. Hin nay, cc chun cho cc h
thng tc t v da trn tc t ang c a vo ng cnh ln hn ca s pht trin phn mm,
cng ngh tc t cn c lm vic v tch hp vi cc cng ngh khc [28].
FIPA v MASIF hp tc ln nhau trong FIPA tp trung vo tnh thng minh cn MASIF th
li tp trung vo tnh di ng ca tc t.
2. Cng c pht trin tc t di ng.
Hin nay c nhiu h thng tc t di ngs c cc cng ty, t chc danh ting xy dng
nh Aglets ca IBM, Voyager ca Object Space, Mole ca i hc Stuttgart (c), Telescript ca
General Magic, JADE ca Telecom Italia Lab, Concordia ca Mitsubishi Electric Lab, mi h
thng u c s dng cho cc mc ch ring, trong cc lnh vc ng dng khc nhau. a s cc h
tc t di ngs s dng Java h tr pht trin ng dng nhng mi h thng c c th ring ca
n.
2.1. Java ngn ng hiu qu dng pht trin tc t
C nhiu yu cu v cng ngh ci t cc h tc t di ng. C bn bao gm cc yu cu
v cu trc ca phng tin tnh ton, mi trng m cc tc t hot ng. Cc host phi c thit
k, ci t v trin khai khng ch cho php cc tc t thc hin m cn phi thc hin mt cch an
ton. Hin nay, cha c mt h thng no c th p ng c hon ton cc yu cu ra cho mt h
tc t di ngs [13]. Java do Sun Microsystem pht trin c xem l mi trng tt nht hin nay
cha nhng c tnh cn thit cho vic xy dng cc h thng tc t di ngs [5] [13]. Java l mt
ngn ng lp trnh hng i tng cho mng hay c gi l ngn ng ca Internet [2] [5] [13]. Mt
s c im (nh c lp vi mi trng, np lp ng, lp trnh a lung, h tr i tng phn tn,
tun t ho i tng, thi hnh an ton, ) cho thy Java l mt ngn ng hiu qu dng cho lp trnh
cc tc t.
2.2. Cng c pht trin Aglets Workbench.
Aglets Workbench c xy dng v pht trin bi D.B.Lange v IBM Tokyo Research
Laboratory. Aglets Workbench bao gm: b cng c pht trin aglets (ASDK) v platform cc aglet
thi hnh trn . Hin nay b Aglets Software Development Kit (ASDK) do IBM pht trin dng
li phin bn 1.1beta3 trn nn JDK1.1. Phin bn mi nht ca ASDK l 2.0.2 do SourceForge
pht trin trn nn JDK1.3
Cc thnh phn c bn ca Aglets
- Aglet: l mt i tng Java, c kh nng di chuyn n cc host trn mng.
- Proxy: L i tng i din cho Aglet. C nhim v bo v Aglet trnh khi cc truy cp trc
tip n cc phng thc public. Ngoi ra, n c th n i v tr thc ca Aglet.
- Context: L workplace ca Aglet, cung cp cc dch v duy tr v qun l cc hot
ng ca cc Aglet. Bo v host trnh khi cc aglet c hi.
- Message: L i tng dng trao i thng tin gia cc aglet. Aglet trao i
thng tin vi nhau bng cch truyn cc thng ip. cc thng ip ny c th c
truyn ng b hoc khng ng b.
Cc hot ng c bn ca Aglet
Lp ibm.com.aglet.Aglet cung cp cc chc nng c bn cho mt i tng mobile v mi aglet
phi l th hin hoc lp con ca n. s dng mt aglet, trc ht phi to ra th hin (Instantiated) ca
n. C hai cch lm iu ny:
Cch 1: to mt aglet hon
Context A Context B
To bn
ton mi t nh ngha lp bng sao Gi
(Clone) Hu
cch gi hm Agle Agle
Nhn
AgletContext.createAglet(URL
Codebase, String name, Object To Ngng kch Kch
(Creat hot hot
init). Hm ny to ra mt th hin e) (Deactivate) (Activa
mi trong context v khi ng n
Class B nh
nu cn thit. file th cp

Cch 2: To ra mt bn
sao ca mt aglet tn ti bng Hnh 3.2. M hnh vng i v hot ng
ca Aglet
cch dng hm Aglet.Clone(). Aglets c sao chp ra c cng trng thi nh aglets gc nhng c aglets
ID khc.
Khi c to ra, mt i tng aglet c th c gi i n v/hoc nhn v t mt server khc,
ngng hot ng v c lu tr ri li c ti kch hot.
Mt aglet c th t gi chnh n n mt server khc bng cch gi hm nguyn gc
Aglet.dispatch(URL dest). Aglet lu tr trong mt context v c th di chuyn t context ny n
context khc trong sut qu trnh hot ng. Do server c th phc v nhiu context trong cng mt
my o Java (JVM). V mt host c th phc v nhiu server nn context c t tn vi nhng
thuc tnh sau:
- a ch ca host, thng l a ch IP.
- Port m server dng nghe.
- Tn context trong server
V d: atp://aglets.ibm.com:1434/context_name
Aglet c b th vin cc hm API, bao gm cc hm chuyn bit dnh cho vic pht trin cc tc
t. Khi aglet c to ra, n s chy trn mi my c h tr aglet API m khng quan tm n ngun gc
ca h iu hnh v phn cng bn di.
3. ng dng tc t di ng trong thng mi in t
Cng ngh tc t di ng rt thch hp cho s pht trin ca thng mi in t. N ph hp
cho cc ng dng i hi mt s lng ln cc tng tc ng v truyn thng trn mng. Mt tng
tc thng mi in t i hi nhiu tng tc gia client site (ngi bn) v server site (ngi mua).
V vy, m hnh tc t di ngs cung cp mt m hnh thch hp cho thng mi in t trn Internet.
lm c iu , cc tc t s t ng ho mt phn hay ton b cc hot ng kinh doanh trong
thng mi in t. Trong , cc tc t c th ng vai tr l ngi mua, ngi bn, ngi mi gii,
ngi cung cp thng tin, thc hin cc giao dch.
3.1. M hnh thng mi in t s dng tc t di ng thng lng.
Da trn m hnh tc t di
H thng H thng
ngs, mt h thng thng mi bn bn
CSDL
Agent Agent CSDL
in t c bn bao gm hai module gi

chnh: H thng bn v H thng Agent Agent


CSDL
mua. Cc tc t bn a ra cc sn gi
Gi
phm v dch v ca nh cung cp. (Dispat Cc
H thng mua
tc t ny tnh v nm bn trong site
Agent
ca nh cung cp.Cc tc t mua thu
Agent iu khin
H thng
thp thng tin t cc tc t bn. bn
CSDL
Agent
Chng c kh nng di ng di Nhn
(Retract
chuyn t site ca nh cung cp Agent ny
sang site ca nh cung cp khc. Cc
Hnh 3.1. M hnh TMT s dng mobile agents.
tc t mua c kh nng giao tip vi
cc tc t bn bng cc truy vn SQL n CSDL thng qua giao din JDBC.
3.2. Xy dng ng dng minh ho tc t thng lng
V d c xy dng bng ngn ng Java da trn nn tng Aglet Workbench m phng theo m
hnh trn (hnh 3.1).
H thng bn bao gm
hai lp GuiShop.class v
DataProcessing.class. Lp
GuiShop l mt tc t tnh hot
ng ti host bn, lm nhim
v giao tip vi cc tc t t ni
khc n. Lp
DataProcessing cha cc
phng thc cho php tc t bn
tng tc vi c s d liu.
Hnh 3.2. S hot ng ca h thng
H thng mua bao gm
cc lp: Abstract Itinerary: nh ngha mt m hnh lch trnh ca tc t vi hai phng thc tru
tng l go() v hasMoreDestinations(). Lp Itinerary ci t giao din Java.io.Serializable. Lp
Serializable gip cho vic qun l i tng m mun lu trng thi ca i tng s dng li.
- SepItinerary: K tha v ci t cc phng thc ca lp tru tng Itinerary v lu gi du vt ti
ch hin ti ca tc t di ng. Phng thc go() c khai bo chng (overloaded), go(URL) s c gi
tc t gi (dispatch) n n ch tip theo trong lc trnh. Phng thc go() s dng tnh cht quy
iu khin cuc hnh trnh, cho php tc t b qua cc host khng c hiu lc trong lch trnh. Cc host
khng c hiu lc s l nguyn nhn phng thc dispatch c gi trong phng thc go(URL) nm
ra mt ngoi l, N s b qua v gi li phng thc go().
- Abstract Childrens: l mt lp tru tng cho php k tha ci t cc lp tc t di ng c th.
- BuyerChild v GetListChild l hai lp k tha lp tru tng Childrens ci t hai tc t di ng
lm nhim v thng lng gi sn phm v tm kim thng tin danh sch sn phm. GetListChild s n
ln lt cc host trong lch trnh, tng tc vi tc t bn v gi v BuyerMaster thng tin cc sn phm c
bn ti host bn. BuyerChild l tc t thng lng, n i n cc host trong lch trnh v thc hin vic
thng lng gi sn phm m BuyerMaster yu cu vi tc t bn, n s lu gi li thng tin v gi thp
nht v ni bn gi thp nht v tip tc thc hin thng lng trn cc host khc cho n khi ht lch
trnh. Kt thc lch trnh n s gi v BuyerMaster thng tin v gi v a ch ni bn c gi thp nht. Cc
tc t ny s s dng phng thc go() ca lp Itinerary t n di truyn n cc host trong lch trnh.
Sau khi hon thnh nhim v cc tc t ny s t ng hu.
- BuyerMaster l mt tc t hot ng ti host mua, lm nhim v khi to cc tc t di ng v
cung cp cho cc tc t lch trnh v cc thng tin cn thit cho cc tc t thc thi nhim v. Sau khi cc tc
t c gi i n cc host, thc hin cc nhim v ca mnh v gi tr kt qu v BuyerMaster .
4. Kt lun
Trong bi bo ny chng ti gii thiu v m hnh tc t di ng, mt hng pht trin mi cho
cc ng dng phn tn. N a ra mt phng php lp trnh mi, hng tc t gn gi hn vi cch t
duy v hot ng ca con ngi. Tuy cn nhiu kh khn trong vic trin khai h thng tc t di ng
trong thc t, nhng m hnh ny c nhiu tim nng trong mt s ng dng. c bit l ng dng trn
mng my tnh, trong cc ng dng trong lnh vc thng mi in t c xem l rt thch hp vi m
hnh ny. Do vic nghin cu gi quyt nhng vn cn tn ti ca m hnh trn l rt cn thit v
cn c u t nghin cu.

TI LIU THAM KHO

TING VIT

1. on Vn Ban, Lp trnh hng i tng vi Java, Nh xut bn Khoa hc v K thut, 2003.


2. Hong Ngc Giao, Java v ng dng mng, Nh xut bn Thng k, 2000.
3. Nguyn Phng Lan, Hong c Hi, Java lp trnh mng, Nh xut bn Gio Dc, 2001.
4. Trn nh Qu, Nguyn Mnh Sn, Nguyn Mnh Hng, Nghin cu pht trin k thut v
kin trc h phn mm da trn agent cho thng lng t ng trong thng mi in t th
h th 2, Bo co ti nghin cu 58-04-KHKT-RD, Tng Cng Ty Bu Chnh Vin
Thng, 2005.
5. H Dng Tun, Ghi ch v chun CORBA, chun XML, ngn ng Java v cng ngh tc t,
Hi ngh h 2000.

TING ANH

6. Y. Aridor, Mitsuru Oshima, Infrastructure for Mobile Agents: Requirements and Design,
Proceeding of the 2th international workshop on Mobile Agents, Springer-Verlag, 1998.
7. R.Ashi, I.Rahwan et al, Architectures for negotiation agents, In V.Marik et al. Editors, MAS
and Application III, Proceedings of CEEMAS2003, Vol. 2691, Lecture Note in AI, Springer
Verlag, 2003.
8. C. Bartolini, C. Preist, N.R. Jennings, Architecting for Reuse: A Software Framework for
Automated Negotiation, in F. Giunchiglia, J. Odell, G. Wei (Eds.) Agent-Oriented Software
Engineering III, Springer-Verlag, 2003.
9. J. Bradshaw, An Introduction to Software Agents, In Software Agents ed. J. Bradshaw. Menlo
Park, Calif.: AAAI/ The MIT Press, 1997.
10. W. Brenner, R. Zarnekow, H. Wittig, Intelligent Software Agent Foundations and Applications,
Springer, 1998.
11. W.R. Cockayne, M. Zyda, Mobile agents: Explanations and Examples, Manning, 1997.
12. L. Cogoi et al, Seamless Access to Databases through KQML in an Agent-enriched Web,
Workshop Dagli oggetti agli agenti: tendenze evolutive dei sistemi software, Parma, Maggio,
2000.
13. J. Conde, Mobile agents in Java, CERN Particle Physics Laboratory, Technical Report
CERN/IT/ASD/RD45/98/12, 1998.
14. A. Corradi, R. Montanari, C. Stefanelli, Mobile agents Integrity in E-Commerce Applications,
Proceedings of the 1999 ICDCS Workshop on Electronic Commerce and Web-Based Applications,
Institute of Electrical and Electronics Engineers, 1999.
15. A. Fuggetta, G.P. Picco, G. Vigna, Understanding Code Mobility, IEEE transactions on
software engineering, Vol. 24 (5), 1998.
16. M. Greenstein, M. Vasarhelyi, Electronic commerce: Security, Risk Management and Control,
McGraw-Hill, 2002.
17. W. Jansen, T. Karygiannis, Mobile Agent Security, National Institute of Standards and
Technology, Special Publication 800-19, 1999.
http://csrc.nist.gov/mobilesecurity/Publications/sp800-19.pdf
18. N.R. Jennings, M. Woolridge, Applications of Intelligent Agents, Springer Verlag/ Berlin/
Heidelberg, 1998.
19. M. Knappik, J. Johnson, Developing Intelligent Agents for Distributed Systems, McGraw-Hill,
1998.
20. D. B. Lange, Mobile Objects and Mobile Agents: The Future of Distributed Computing?, In
Programming and Deploying Java Mobile Agents with Aglets, Addison-Wesley, 1998.
21. D. B. Lange, M. Oshima, Seven Good Reasons for Mobile Agents. Communications of the
ACM, 42(3): 88 89, 1999.
22. R. Lomuscio, M. Wooldridge, N. R. Jenning, A Classification Scheme for Negotiation in
Electronic Commerce, International Journal of Group Decision and Negotiation, 2003.
23. D.S. Milojicic, W. LaForge, D. Chauhan, Mobile Objects and Agents (MOA), Distributed
Systems Engineering, 1998.
24. Vu Anh Pham, Ahmed Karmouch, Mobile Software Agents: An Overview, IEEE
Communications Magazine, July 1998: 26 37, 1998.
25. J.E. White, Mobile Agents, In Software Agents ed. J. Bradshaw. Menlo Park, Calif.: AAAI/ The
MIT Press, 1997.
26. D. Zeng, K. Sycara, Bayesian Learning in Negotiation, International Journal of Human
Computer System, Vol. 48, pp 125 141, 1998.
27. http://aglets.sourceforge.net

You might also like