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 NumbersWe 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 RegistriesName 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 WebThe 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 HTMLA 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.
EvolutionAs the web matures, its users demand more dynamic functional sites.
CGIThis 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 EvolutionNetscape 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.
JAVAJAVA 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 ServeletsInstead 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 PagesJSPs are based on servelets, they allow for more functionality by using the servers power. JSP’s code cannot be accessed.
Other Interactive FrameworksThese 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 StuffOn lands end’s site
www.landsend.com : My virtual Model is an example of all of today’s discussion in use.
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 AttributesIt 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 AgentsBenefits 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 LatencyIt 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 TimeIt 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 OperationThe agent is sent out and comes back to report complete results.
Reason 5: Load BalancingSeveral 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 DeploymentDisparate information can be requested and assimilated in a timely fashion to facilitate action.
Threats posed by (or to) mobile agentsBecause 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 agentsCredentials 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 AgentsAgents 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.
ConclusionAgents 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