Online Programz

Archive for the ‘Internet Concepts’ Category

Microblogging drives mobile Internet usage

If you’re in any doubt that adding geotagging to Twitter is a good idea, the latest survey from Novarra has found that microblogging services are driving the use of the mobile Internet.

In the past year, mobile usage of URL shortening services such as bit.ly and tinyurl.com — near-essential for sharing links on Twitter — has leapt by 1,068%, while page views of Twitter grew by 3,500% in the first half of 2009.

VP of marketing at Novarra, Randy Cavaiani, said that Twitter was a great viral tool for exposing consumers to new and interesting content.

These statistics are bound to be encouraging for those pushing uptake of the mobile Internet, and it’s not too surprising that Twitter is particularly popular given that interesting things generally happen when users are mobile.

Increased functionality, such as geotagging, more interesting third-party apps, and more mobile operators opening up Twitter via SMS, should propel Twitter usage even further.

The CRU hack

As many of you will be aware, a large number of emails from the Climate Research Unit (CRU) at the University of East Anglia webmail server were hacked recently (Despite some confusion generated by Anthony Watts, this has absolutely nothing to do with the Hadley Centre which is a completely separate institution). As people are also no doubt aware the breaking into of computers and releasing private information is illegal, and regardless of how they were obtained, posting private correspondence without permission is unethical. We therefore aren’t going to post any of the emails here. We were made aware of the existence of this archive last Tuesday morning when the hackers attempted to upload it to RealClimate, and we notified CRU of their possible security breach later that day.

Nonetheless, these emails (a presumably careful selection of (possibly edited?) correspondence dating back to 1996 and as recently as Nov 12) are being widely circulated, and therefore require some comment. Some of them involve people here (and the archive includes the first RealClimate email we ever sent out to colleagues) and include discussions we’ve had with the CRU folk on topics related to the surface temperature record and some paleo-related issues, mainly to ensure that posting were accurate.

Since emails are normally intended to be private, people writing them are, shall we say, somewhat freer in expressing themselves than they would in a public statement. For instance, we are sure it comes as no shock to know that many scientists do not hold Steve McIntyre in high regard. Nor that a large group of them thought that the Soon and Baliunas (2003), Douglass et al (2008) or McClean et al (2009) papers were not very good (to say the least) and should not have been published. These sentiments have been made abundantly clear in the literature (though possibly less bluntly).

Internet With Tcp/Ip Protocols

The Internet is probably the most complex system ever devised by humans. As such, understanding how it works can be a challenge. Most of us would rather not think about what happens between the sending and receiving of an email, or between typing in a Web address and seeing information on the screen. Fortunately, the Internet is based on a few simple core principles.

At its most basic, the Internet is a collection of thousands of computer networks, all of which have to cooperate and allow data to pass among them using defined communication protocols. The most important thing to understand is that the Internet is not a giant computer run by a giant corporation.

In fact, nobody “runs” the Internet or owns it. The Internet is completely decentralized, and it was designed that way from the beginning. However, it wasn’t always meant to be available to the public. The idea of the Internet came from the U.S. military, which wanted to create a computer network that would remain stable even in the event of a catastrophe like a nuclear attack against key communication centers. The key to developing such an invulnerable network was to develop a packet-switched network.

In a packet-switched network, data is broken into tiny pieces (about 1500 characters each) called “packets” and the packets are sent along their way. Each packet contains a header that includes (among other things) the sender’s address, the recipient’s address, and the packet order. When the data arrives at its destination, the packets are reassembled and made available for the recipient 10 use.

The common languages of the Internet are known as Transmission Control Protocol (TCP), which breaks apart and reassembles data packets, and Internet Protocol (IP), which routes data. Collectively they are known as TCP/IP. This protocol tells packets how to split apart, properly find their way to their destination, and get reassembled.

Basic Network Concepts

A network is a communication system that allows users to access resources on other computers and exchange messages with one another. It allows users to share resources on their own system or access shared resources on other systems. Obviously, it is the topic of this entire book, so this section will guide you to the appropriate sections that discuss networking technology. See “Data Communication Concepts” for a similar outline of basic communication concepts.

Before networks, there were centrally controlled mainframe computers built by IBM and other vendors. See “Mainframe” and “SNA (Systems Network Architecture).”

In the late 1960s and early 1970s, a community of researchers started developing the concept of connecting computers together and using packets and packet switches to exchange information. They were creating the early Internet by connecting large mainframes and minicomputers. See “Internet.”

In the late 1970s, microcomputer systems began to appear. They soon dominated small offices and workgroups everywhere. It made sense to connect them together so users could communicate with one another and share network resources like printers and disks. The LAN concept took hold in corporations. See “LAN (Local Area Network).” Also refer to the related entries in the LAN section.

Actually, the LAN concept was developed by Robert Metcalfe, who was working with the Internet engineers. He developed the idea after running across a paper describing a satellite communication system called ALOHA at a friend’s house. Metcalfe applied the concept to a cabled system and called it Ethernet. Internet engineers loved UNIX and soon connected their systems with Ethernet. In turn, these networks were connected to the Internet via routers.

Meanwhile, LANs (primarily PC and Macintosh LANs) were being installed everywhere. While Ethernet is the dominant LAN technology today, ARCNET had its day and IBM made token ring popular, although it didn’t catch on like Ethernet. In the mid-1980s, most LANs were still confined to workgroups and departments. Some organizations connected these LANs to their mainframes and allowed users to exchange e-mail using mainframe e-mail systems. But soon it just made sense to interconnect the entire organization. For a while, this was attempted by joining LANs with bridges, but bridged networks have scalability and security problems. See “Bridges and Bridging.”

Fortunately, the Internet engineers had already developed an internetworking device called the router. Routers were developed as gateways devices for the Internet. They interconnect different types of networks while providing a secure barrier between them. This is critical on the Internet, where interconnected networks are autonomous systems operated by different authorities. See “Routers,” “Routing,” and “Routing on the Internet.”

Basic Internet Concepts

The Internet is a network of computer networks. It makes it possible for any computer connected to it to send and receive data from any other computer connected to it.

America Online, Comcast, Earthlink, etc. are examples of Internet service providers. They make it physically possible for you to send and access data from the Internet. They allow you to send and receive data to and from their computers or routers which are connected to the Internet.

World Wide Web is an example of an information protocol/service that can be used to send and receive information over the Internet. It supports:

* Multimedia Information (text, movies, pictures, sound, programs . . . ).
* HyperText Information (information that contains links to other information resources).
* Graphic User Interface (so users can point and click to request information instead of typing in text commands).

The World Wide Web is an example of an information protocol/service that works using a Client/Server software design. (Client/Server is an ADJECTIVE that describes the software, not a noun!) A service that uses Client/Server design requires two pieces of software to work: Client software which you use to request information, and Server software which an Information Provider (like Fermilab or a museum) uses to answer requests and provide their information. Most Internet information protocol/services are designed this way.

The Client/Server relationship is similar to the relationship between the TV in your house and the TV stations you can select. Your TV acts as a client by tuning in (requesting information) from a TV station which acts as a server by broadcasting (serving) the information.

The Global IP Internet

The global IP Internet is the most famous and successful implementation of an internet. It has existed in one form or another since 1969. While the internal architecture of the Internet is complex and constantly changing, the organization of client-server applications has remained remarkably stable since the early 1980s.

Each Internet host runs software that implements the TCP/IP protocol (Transmission Control Protocol/Internet Protocol), which is supported by almost every modern computer system. Internet clients and servers communicate using a mix of sockets interface functions and Unix I/O functions.The sockets functions are typically implemented as system calls that trap into the kernel and call various kernel-mode functions in TCP/IP.

TCP/IP is actually a family of protocols, each of which contributes different capabilities. For example, the IP protocol provides the basic naming scheme and a delivery mechanism that can send packets, known as datagrams, from one Internet host to any another host. The IP mechanism is unreliable in the sense that it makes no effort to recover if datagrams are lost or duplicated in the network. UDP (Unreliable Datagram Protocol) extends IP slightly, so that packets can be transfered from process to process, rather than host to
host. TCP is a complex protocol that builds on IP to provide reliable full duplex (bidirectional) connections between processes. To simplify our discussion, we will treat TCP/IP as a single monolithic protocol. We
will not discuss its inner workings, and we will only discuss some of the basic capabilities that TCP and IP provide to application programs.

Basic Structure OF CGI

There are three steps in CGI processing,

  • Initialization
  • Processing
  • Termination.

Initialization :

Script determines the input, environment and state. Each time it acts like as it was invoked for the first time. The method of Invoking script can be determined using Request_Method variable.

The input can be retrieved using the following variables.

  1. If request method is GET, Query_STRING variable can be used to determine the input.
  2. If request method is POST, STDIN and CONTENT_LENGTH variable can be used to determine the input.

Processing:

Processing phase is further divided into 2 phases or steps.

Processing Input data:

Transform the data which differentates it from all other CGI programs.

Output the results:

Output is usually a header and some html in case of simple CGI scipts. More complex scripts, output graphics, graphics with text etc.

Termination :

  1. Termination refers to cleaning up resources after processing and quitting.
  2. All files, memory allocated must be freed or releases for other useful purpose. Failure to do this will report an error.
  3. An error exit routine can be used to check whether the script resources are cleaned up as thoroughly as possible.

Broad Steps Of CGI Process

  • Browser shows the document containing the form.
  • User enters the data into form and click submit button.
  • Script in browser will perform client side validation.
  • Browser decodes URL and contacts server.
  • Server translates the URL into a path and a file name.
  • Server realizes that URL point to a program.
  • Server prepares its environment variables and launch the scripts.
  • Script executes and reads environment variables and STDIN.
  • script sends appropriate MIME header to STDOUT for content.
  • Server send rest of its output to STDOUT and terminates.
  • Server will notify the termination of script and closes the connection to browser.
  • Browser displays the output from the script.

CGI normally resides in a directory called CGI-bin.

When a script is invoked by a server, the server passes the information to script via environment variables.

MIME and Its Applications

MIME stands for Multipurpose Internet mail extension used in RFC 2045. It is a open standard for sending multipart, multimedia through internet email.It can be send either binary, multiple ASCII or non ASCII characters sets.It also supports almost a hundred predefined types of content.

Types of content are classified into two levels

type  ->what kind of data is contained(picture,text,movie)

subtype -> specific type of data(html, plain, GIF,JPEG)

Applications:

  • The data returned by an HTTP1.0 or 1.1 web browser is sent in MIME format.
  • MIME is also used for posting forms to web servers, a  common way for an applet to communicate with the server.
  • Java relies on MIME types to pick the appropriate content handler for a particular stream of data.

URI And Their Types

URI stands for Uniform Resource Identifier. URI is a string of characters in a particular syntax that identifies a resource. The resource may be a file on a server, email address, a news message, a book, person’s name, Internet host or something else.

Syntax :

Scheme: Scheme-specific_part.

Types Of URI :

  • Uniform Resource Identifier.
  • Uniform Resource Name.

URN :

URN is a name for a particular resource but without reference to a particular location.

Ex: urn:isbn:1565928709 is a URN referring to a book.

The main goal of URN’s is to handle resources that are mirrorred in many different locations. They identify the resource itself, not the place where the resource lives.

Syntax :

URN : name : resource_name

namespace  -> name of a collection of certain resource contained by some authority.

resource_name -> name of the resource within that collection.

URL :

URL stands for uniform resource locator.Url identifies the location of the resource in the internet. It specifies protocol used, name of the server, location of file on that server.

Syntax :

protocol://username@hostname:port/path/filename#fragment?query.