Notes for Lecture on 15/2/01 Brion Tingler Ecommerce 701

Today’s lecture has two topics. The first, led by rob Lindeman, is an enlightened explanation of what makes the internet the functional, usable thing that we know. It provides an explanation of the name/number system that guides traffic on the net and the languages/tools that are used to provide the information and functions that the net offers. Olga Gelbart leads the second, an equally informative discussion of a new area in web functionality: agents. Titles of selected slides are in italics for easy reference to PowerPoint presentations with slide specific notes below slide titles. Some slides are not specifically covered if their meaning is self explanatory or their issues have already been addressed.

What is the Internet?

The Internet is an network of networks. It arose as individual networks realized the need to communicate.

This gave rise to the need for a locational logic. Thus, we came up with Internet Protocol (IP) Addresses. The System is almost overfilled. Addresses are broken down into various class level domains. For Example: Class Domains are reserved only for very large organizations, like IBM or Microsoft with many devices that need IP Addresses. Every single device on the internet has an IP address: desktops, laptops, as well as mobile phones and PDAs with web access.

Mapping Names to Numbers

We provide names for various locations on the net because people do not remember numbers as easily as lettered names. Computers work well with either. Thus, we have Domain Name Servers which reference domain names like: www.gwu.edu with IP addresses like :123.456.255.255 to direct queries along the net.

DomainNameWhitePages.com provides a wealth of information about any domain name on the net. It can show the entire trace route that a query may travel to get from your computer to the desired destination.

Name Registries

Name space on the net is limited and thus becoming scarce. There are name registries that register new names, match them with available IP Addresses, and keep track of existing ones. Some also provide tools to help you build your site and will host it as well on their servers.

The internet, as a network of networks, is multi layered and domain names are the top level of this layering. It provides a framework for many different protocols. The almost universal one today is HTTP protocol. A protocol is simply an established methodology of communication. It dictates how communication will take place.

The Web

The web is just another layer of the IP Address network. HTML is the main language of the web, it is transferred using the HTTP protocol. On the web servers provide their own content and functionality. Hyperlinks allow for cross referencing of information from different servers.

Simple HTML

A simple language used to document a pages layout and translating that into code which is muck more quickly transferred across the internet. It merely specified what was on the page, the interpretation was left up to the computer and its browsing software.

Netscape capitalized on this by adding many non-standard functionalities to their browsers capability inorder to capture more developers and users. The web merely links servers together, it does not interpret content, this is up to the browsers.

Evolution

As the web matures, its users demand more dynamic functional sites.

CGI

This allowed programs to be executed not just on the browser, but also on the server. Code was imbedded into the HTML to invocate or execute these new functions.

HTML Evolution

Netscape added frames to its browsers interpretation capability. This provided for much more ease in navigation of content.

JAVA Script- Has nothing to do with JAVA the language. It allows code to be executed on the client side. It was invented by Anderson when he left sun. It is not very functional and has long since been surpassed by its distant cousin, JAVA.

JAVA

JAVA is a platform neutral programming language. It runs on a "JAVA Virtual Machine" (JVM) which is a piece of software that sits on top of the hardware and interprets the language to the machine. The JVM is like an interpreter for hardware. The code is not executed on your machine, it is actually processed on the JVM. This is one reason why JAVA is so slow, it has to communicate through another layer instead of just one. JVMs exist inside your browser, similar to an applet.

Java is usually more interactive, check out : smartmoney.com.

JAVA Servelets

Instead of running on the client, like an applet, the run on the server, servlets. It shuttles HTML to the client and actually can be more interactive because it uses the processing power of the sever. It doesn’t have a GUI, it just spits code back to the client.

JAVA Server Pages

JSPs are based on servelets, they allow for more functionality by using the servers power. JSP’s code cannot be accessed.

Other Interactive Frameworks

These are all examples of tools used to provide more dynamic content on the net. Inorder to develop with these frameworks developers must have special development tools to construct content.

E-Commerce Stuff

On lands end’s site www.landsend.com : My virtual Model is an example of all of today’s discussion in use.

 

MOBILE AGENTS

What is an agent?
An agent is a program that performs some specific task with out direct constant communication with the client. On the web they are used to gather information about a pre-specified subject. An example of this type of an agent is www.MySimon.com , but agents could also be used to gather stock info or do research for an assignment. Agents are different form search engines in that they do not have constant communications with the computer which retained their service. They are given criteria, sent out, they return (at a specified time that is programmed into the commands given to them by the user) with the specific information requested. Much research is being done on the feasibility for agents to be used with battle field communications. This is an obvious application for this technology because of the possibility of periodic ruptures in communication due to the nature of warfare.

Is everything an agent?

No not all programs agents. Agents are set apart because they do not have open continuous communications with the computer. They are set free on the net to do their specified job.

What’s is a mobile agent?

An agent is mobile if it can migrate across the net according to its own specifications and on its own timing

Agents can also replicate themselves and join up before coming back to the host user and to assimilate information into organized format in order to save time.

Mobile Agent Attributes

It is important to know that and agent is a mobile program that has code which it can execute or not execute (in multiple locations) according to the state it is in. The Execution state is where the code is executed that is, after initial parameters have been saved, it goes out on to the net and executes its commands. It then returns with the info to the original host, the object state.

Security is a major concern. Many people are weary of a mobile piece of code that may or may not be malicious that has the freedom to dig deep into their website for information.

Benefits of Mobil Agents

Benefits are listed on this slide in order of importance. The load balancing aspect of agents is particularly helpful in eliminating speed concerns at bottlenecks.

Some argue that the bandwidth consideration will become a non issue with the advent of a broadband internet.

Reason 2: Reduce Latency

It reduces lime delay by finding the fastest paths to travel on the network and by using faster nodes to reside on while it executes its responsibilities.

Reason 3: Reduces Completion Time

It accomplishes this by communicating its full payload of information at the hosts location instead of attempting to do this over the network.

Reason 4: Disconnected Communication and Operation

The agent is sent out and comes back to report complete results.

Reason 5: Load Balancing

Several Agents can be sent out with identical commands with instructions to return with info in the same format at the right time in the right location.

Reason 6: Dynamic Deployment

Disparate information can be requested and assimilated in a timely fashion to facilitate action.

Threats posed by (or to) mobile agents

Because of their high payload of code they could wear-out or destroy hardware. If they penetrate into a database there are very bad security implications. Also, if activity cannot be traced agents could become tools of cyber terrorists.

Protection methods against malicious agents

Credentials could be located within agent’s code. If one is using a sandbox or Fault Isolation based protection the server can restrict the execution space for the agent.

Threats to Mobil Agents

Agents can be blocked by Denial of Service. Agents integrity could be compromised if a server accesses the payload that the agent is supposed to deliver and destroys it or makes it malicious, in an attempt to turn the tables.

Protection of Mobile Agents What agents can to protect themselves…

Encryption of the code and payload are possibilities, but this may dramatically slow the agent down.

Conclusion

Agents can applied to many fields, ecommerce, military command and communications, and technical reports to name a few. The term "bot" uses to be an appellation for agents, but with their sophistication has come a name change. The way complex queries tax networks makes agents ideal solutions for many problems, however there are many concerns to be addresses such as security, compatibility and performance

 

See Also:

http://agent.cs.dartmouth.edu military applications

http://www.tryllian.com check out this demo

http://www.trl.ibm.co.jp/aglets which uses java in the creation of agents