Mobile Code: Excitement on a Barren Internet Landscape

| | TrackBacks (0)


 
MobileCode0.png
Mobile cod
e is software transferred across a network, downloaded and executed on the target local system by some pre-existing plugin, framework, etc.  Scripts (JavaScript, VBScript), Java Applets, ActiveX controls, Flash animations (and Extras) and macros embedded in Microsoft Office documents are some examples of the ubiquitous presence of mobile code on the Internet and intranets.  Mobile code is also downloaded and run via email.  

The Internet as we know it would be a barren landscape without mobile code.  Yet, in most situations mobile code goes about its business quietly, efficiently and invisibly.  So there is not a lot of awareness about the actual existence of mobile code except on the part of software engineers and such.  

Mobile code has major technological paradigms.

    (1) Code on demand, 
    (2) Remote evaluation, and 
    (3) Mobile agents.  

Internet browsers are an example of code on demand.  You have used a browser: Internet Explorer, Firefox, Netscape, Safari, etc.  You are using a browser right now.  Your browser has various plugins and modules that allow it to enrich beyond simple presentations of words with markup.  WIthout mobile code, a browser reads HTML (hypertext markup language) and is text bound.  The Internet without mobile code would be like Prometheus without fire.

Grid computing is an example of remote evaluation.  The Human Genome Project is an example of grid computing doing what otherwise would have been a somewhat intractable problem.  All of you who let your home computers be used for this or other projects did so as remote evaluators for your part of the huge task.  Thanks from all of us to all of you.  And, thanks to mobile code.

Mobile agents, nonetheless, are the paradigm that makes mobile code not only ubiquitous and helpful but immensely exciting.  We will have many blogs on this technology.

Topia Technology's mobile objects technology (K-MOT) includes the Kolona mobile object runtime environment (K-MORE) and is an example of the mobile agent technological paradigm for mobile code.  Topia talks about mobile objects rather than mobile agents because Topia focuses on the movement rather than the intelligence of the agents.  (K-MORE is like the plugin on your browser that allows you to run JavaScript.  The browser reads a tag in the HTML that says that some JavaScript must be sent off to a plugin to process the scripted mobile code.  When a Kolona mobile object arrives at a destination, K-MORE does the same thing as the JavaScript plugin.)

Mobile objects have diverse uses.[1]  Here is a partial list of uses:

1.    Mobile objects reduce network traffic by transforming network conversations to local conversations making ongoing connections and data transfers unnecessary (reducing chatter).

2.     Mobile objects reduce network load by going to where the data is rather than sending the data to where the processing is (reducing throughput).

3.     Data exchange in distributed systems involves protocols that evolve.  Mobile code can provide evolving adapters that handle legacy protocol channels without disturbing the network system.

4.      Mobile devices rely on fragile networks.  Mobile objects operate asynchronously and autonomously.  Loss of connections does not affect the viability of mobile object code.

5.      Mobile objects can sense their execution environment and react autonomously to changes.  Multiple mobile objects, for example, can configure themselves in a network to optimally provide a solution.

6.     Since mobile objects are computer and transport independent (they live within the mobile object runtime environment), they provide for seamless system integration.

7.     Mobile objects ability to react dynamically to unfavorable situations make it easier to build robust and fault-tolerant systems. 

8.     There are no “killer mobile object applications” but merely applications that use mobile objects, or mobility, to their advantage.  Mobility is a facet, not a defining feature, of applications that use mobility as a solution.  The addition of a mobile object runtime environment brings potential to a distributed system not otherwise present.

9.      Mobile objects are well suited to eCommerce because they (and no other distributed functionality) give real-time access to remote resources.

10.    Mobile objects make excellent network assistants on behalf of their creators.  For example, six mobile object representatives of six businessmen can meet at some common host and agree upon a time to meet.

11.    If there are collaborators that do not trust one another, the mobile objects can so with a secure, trusted, third party host for collaborative purposes.

12.    You can dispatch mobile objects to large volumes of data to create search indexes over time periods when the original machine may be down.

13.    In large-scale networks requiring reconfiguration and user customization, mobile objects are useful as glue keeping the system together.

14.    As workflow items, mobile objects embody the information and behavior they need to move through an organization independent of any particular application.

15.    A mobile object can monitor a host without a need to stay in contact with its origins.

16.    Mobile objects life spans can exceed that of their creator processes, e.g., for monitoring hosts.

17.    Mobile objects incorporate a push model of communication and can be used to disseminate information (new, software updates).  This is done independent of the originating process.

18.    Mobile objects can clone themselves for purposes of parallel computing jobs.

There are many more uses we will discuss eventually on this blog.  Here is the symbol for a mobile object.


 

mo-reg.png
Looks like a jockey's head, doesn't it?

Next on the Mobile Landscape: How can you make mobile objects work for you? 


[1] Danny B. Lange , Oshima Mitsuru, Programming and Deploying Java Mobile Agents Aglets, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1998.






0 TrackBacks

Listed below are links to blogs that reference this entry: Mobile Code: Excitement on a Barren Internet Landscape.

TrackBack URL for this entry: http://blogadmin.topiatechnology.com/mt-tb.cgi/12

About this Entry

This page contains a single entry by MG published on January 15, 2008 9:39 AM.

Hello World was the previous entry in this blog.

Distributed Computing with Mobile Objects is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.01