Technetra

Archive for April, 2004

“Open Source Technologies and Careers” seminar at Delhi College of Engineering

Friday, April 30th, 2004

Seminar: Open Source Technologies and Careers

Delhi College of Engineering, Delhi, India

Technetra conducted a one day seminar for about 100+ faculty and students of DCE’s Department of Computer Science and Electrical Engineering. Various tools and techniques for developing good open source software as well as careers in developing, managing, testing and inventing open source applications were topics at this seminar. Demos of Knoppix and open source applications such as Open Office were well received.

Elitex 2004: “Open Source in High Performance Computing”

Sunday, April 25th, 2004

ELITEX 2004

April 26-27, 2004
India Habitat Centre, New Delhi, India

Talk: Open Source in High Performance Computing

In his presentation, Robert Adkins of Technetra explained why Linux is likely to become the world’s de facto supercomputer operating system. He also presented a survey of some of the important open source HPC technologies such as the MPI/MPICH message passing interface, the OpenMosix Cluster Management System, CPlant and Beowulf clustering technologies, and the Globus toolkit for building grids.

BitTorrent: A Peer-to-Peer File Sharing Protocol

Sunday, April 25th, 2004

Online content providers are facing an explosion in demand for data as more and more people turn to the Internet for dynamic and personalized information. As a result, the search for technologies to optimize the use of network bandwidth has become a vital part of many content distribution strategies. Peer-to-peer protocols like BitTorrent are being adopted by content providers to distribute data more efficiently without increasing network bandwidth costs.

BitTorrent is a peer-to-peer file distribution protocol written in Python. Its source code is covered by an open source MIT license. It was developed over the course of 2 years by Bram Cohen and subsequently released at the 2002 CodeCon conference in San Francisco. The basic goal of BitTorrent is to enable the primary content source to distribute one or more static files to a large number of concurrent downloaders (clients) without incurring massive network loads. It does so by using the unused upload bandwidth of each client, making it possible for clients to share parts of the source file with each other.

An Example

As a demonstration of BitTorrent in action, let’s walk through the process of downloading a file. I assume you have downloaded and installed a BitTorrent client program on your system at this point. For the purposes of this example, we will download an ISO CD image (fedora-cd1.iso) for the Fedora Linux distribution.

In order for us to use BitTorrent to download, the file’s distributor has to place a static file with the ‘.torrent’ extension on its Web server. Note that the Web server should be configured in such a way that files with the .torrent extension are associated with the ‘application/x-bittorrent‘ mimetype. The meta data (.torrent) file can be linked to any other file available on the Web. In our example the link would be http://www.somesite.com/fedora-cd1.iso.torrent.

The meta data file (fedora-cd1.iso.torrent) contains information describing the actual source file (fedora-cd1.iso), and the URL for the “tracker” (see Figure 1). Specifically, the meta information fields are file name, file length, individual piece length, hash codes for each piece and DNS name or IP address of the tracker. The tracker plays an important role by helping clients find each other. It does so by providing each client with a random list of other peer clients, using a simplified protocol on top of HTTP. Clients report their progress to the tracker periodically during the download process, but the tracker has no knowledge of the contents of the file being distributed.

BitTorrent does not centrally manage resource allocation. Instead, each client attempts to maximise its download rate by controlling various protocol parameters. Clients make direct connections (using ports 6881-6889 by default) to one or more of the clients in the list, to exchange parts of the file. Direct connections between clients are duplex (bi-directional), and every client tries to maintain the greatest number of active connections. A client’s refusal to upload temporarily is known as choking. Connections are choked to prevent leeching a situation where another client is downloading, but not uploading.

To maximize the number of duplex connections, clients reward each other by reciprocating uploads. So clients unwilling to upload will find their download rate dropping as other clients choke in response. Clients decide which connections to choke or unchoke by calculating the current download rate of each connection, once every ten seconds. The connection is left choked or unchoked until the next ten-second period is up. This fixed interval cycle prevents clients from rapidly choking and unchoking, causing network resources to be wasted. Finally, a client does an “optimistic” unchoke, once every 30 seconds, to try out unused connections to determine if they might offer better transfer rates than current ones.

To start off the download process, a client who already possesses the entire file introduces it into the network by supplying other clients joining the torrent with random pieces of the source file. This client is referred to as the “seed.” The source file is split into fixed-size pieces (named so that clients can keep track of which parts of the file they have or don t have). Hash codes (SHA1) for each piece are provided to clients via the meta data (.torrent) file. A successful download of an individual piece can only be reported by a client after the corresponding hash code has been verified locally. To further optimize data transfer, delays between individual piece transfers are avoided by splitting each fixed-size piece into smaller fixed-size sub-pieces. This enables several sub-piece requests to be pipelined at once, keeping the TCP connection saturated. The order in which a client selects a piece to download, plays an important role in download performance. Initially, when download begins, clients request pieces that they need, in random order. This reduces the total download time for a particular piece because it allows each client to download sub-pieces from multiple clients as opposed to everyone trying to get the same piece from a single client. After the first piece has been successfully downloaded by a client, the piece selection order changes to what is known as “rarest first.” Using this method clients request pieces that are possessed by the least number of peer clients. “Rarest first” performs well by making sure that clients have pieces, which all the other peers want, and reducing the chances of a peer not having anything to upload.

After you finish downloading the file, you should allow the client to continue uploading for the benefit of other downloaders. After all, it is this idea of sharing that makes BitTorrent so successful.

BitTorrent is quickly becoming a viable option for many content providers. Recently, Lindows.com (now known as Linspire) announced a 50 percent discount for customers who download their copy of Lindows OS using BitTorrent. Not only does this technology have a future in computing but it is also enabling organizations in the fields of bioinformatics and high-energy physics to efficiently share large amounts of data amongst an ever-growing community of researchers worldwide. Perhaps future enhancements could include an option for encryption of data streams, enabling organizations to share sensitive data. As an open source project BitTorrent will continue to offer compelling features to meet the challenges of large-scale data distribution.

You can find out more about BitTorrent on the Web at www.bittorrent.com.

The Visible Hand of OSS

Thursday, April 22nd, 2004

The philosophy and practice of collaboration in open source software forms a win-win model for developers, vendors and users alike. Fundamental economic drivers are changing the nature of competition in the software industry. The competitive landscape is transforming from a few high peaks where monopoly product vendors dominate the market to a more varied terrain of participants collaborating on basic technologies and tools while competing on value-added services.

This transformation to the new economy of the information age is a kind of digital remix of old fashioned capitalism and progressive social experimentation.

The classic capitalist model for free market activity has been one of Darwinian competition between individuals, organizations, and groups. Workers compete for jobs. Companies compete for business. Labor and management compete for control of resources. Adam Smith’s “Invisible Hand” guides a happy coincidence of the aggregation of self-interests: a kind of 17th century trickle-down hypothesis – what benefits each of us, especially the wealthiest and most powerful, ultimately benefits all of us. Today, in our emerging information economy, some would argue that we share the trickle-down benefits from free market giants like Microsoft who combine innovation with commodity computing. The main problem, as we are learning from the SCO money-trail, is that the “Invisible Hand” belongs not to providence but to a convicted monopolist.

What’s more, Adam Smith’s providential “Invisible Hand” becomes a gloomy handicap in a rival argument known as “The Tragedy of the Commons”. This theory predicts that economic ruin is the inevitable result of unregulated privatization and competition: a kind of trickle-away hypothesis – after reaching certain resource limits, that which benefits each of us actually overtaxes and subtracts from the common good.

Modern progressive economic thinking tries to balance these extremes by considering economic activity as an ecosystem of complex partnerships and competitions; a non-zero sum game of sharable rewards. So companies do compete for business, but they also cooperate to make the entire market healthy and grow. Workers compete for jobs but join unions or guilds to protect their collective or professional interests. Labor and management compete for resources but partner in profit sharing schemes and even in wage or benefits reductions when needed. The trick is to avoid destroying the common frameworks which allow parties to compete.

The collaboration inherent in open source technologies provides a framework for parties to compete in the information economy. It is the “Visible Hand” that resupplies the resources and vitality of the commons. Openly sharing knowledge continuously replenishes technology standards, tools, and, in the open source world, the programming code itself. The full availability of programming code is essential to maximizing the health and growth of the technology commons. Standards, together with proprietary tools, cannot alone sustain the commons in the long run. Standards, of course,Th are not physical; they require implementers to build concrete realizations. If standards are public, but their implementations are private, then the commons is fragmented into competing and non-reusable components. Initially only the richest or the most innovative can compete and great wealth can be accumulated as long as profit margins can be maintained. Inevitably, however, when the market matures, shrinking margins and commoditization occasions a replacement tier of cheaper providers and even imitators. This is what is happening in open source today and explains the pressure open source is putting on high-margin companies like Microsoft, Oracle, Sun and SCO.

As the software market matures and commoditizes, high-margin companies are incented to fight to recover value. Some attempt to destroy the growing commons either through litigation or through embrace and extend campaigns. Litigation strikes fear in the entire software community whereas embrace and extend strategies divide the commons and poison the well for all competitors.

Ultimately, the only high-margin business in a mature, commoditized software market is services. Open source, instead of dividing the commons, extends the value of the infrastructure for all to compete in a growing services industry. Open collaboration is the visible hand that deepens the well of information services. In the complex world of the information economy, open source can provide the technology commons needed to sustain the true economic engine.

Technetra at SA’PERE 2004

Sunday, April 18th, 2004

SA’PERE 2004

April 17, 2004
PHD Chamber of Commerce and Industry (PHDCCI), New Delhi, India

Jagan Institute of Management Studies (JIMS) held SA’PERE 2004, a seminar discussing the benefits of open source software on April 17th, 2004 at the PHD Chamber of Commerce in New Delhi. The chief guest was Dr. S.N. Jindal (Director STPI, Delhi), Dr. M. Moni, Deputy Director General, NIC and Dr. H.K. Suhas, Sr. Technical Director, NIC. Eminent speakers included Robert Adkins (CTO, Technetra) and Alolita Sharma (CEO, Technetra).

Alolita Sharma presented two sessions, one on “Making money with open source” and the other on “Careers with open source”. Robert Adkins talked about current and upcoming “LAMP technologies” in his presentation.

Intellectual Property in OSS

Saturday, April 10th, 2004

What is IP?

Intellectual Property (IP) is any work or product of the human intellect. Copyrights and patents are two prominent examples of IP. Trademarks and trade secrets are two other examples. Copyrights and patents play an important role in the vitality of the Open Source software market whereas trademarks and trade secrets are mostly used by proprietary software vendors.

Copyrights protect the expression of an idea or other work. An expression is an original writing, performance, depiction, or software program. Copyright is intended to protect the expression of an idea, but not the idea itself. Patents can be used to protect the idea.

Patents protect inventions. An invention is an idea or method that is new and useful. The complete details of an invention are published when a patent is awarded. Patents try to balance the inventor’s rights with the benefits to society of publicly knowing the details behind the invention. In return, the inventor is granted exclusive control over the use of the invention.

How is IP used in Open Source?

In the software world, copyrights are aggressively used to prevent anyone except the owner from using or copying the software. Software is considered property in the form of expression. It can be transferred, sold or relinquished. Copyright of software is used to enforce a range of ownership prerogatives. Ownership prerogatives typically establish a license or even a contract in return for the right to use the covered software in specific ways. At minimum, recognition and attribution are required, as exemplified in the traditional MIT or BSD licenses. More frequently today, copyright is employed to ensure that the covered work remains an active agent of the collaborative software community. This is exemplified in the GPL, LGPL, and MPL licenses. Proprietary vendors usually demand a “click-through” contract requiring the user to agree to even greater restrictions on the use of the software.

The use of patents is not as prevalent as the use of copyrights in Open Source software. However, patents covering technologies expressed in Open Source, are also being applied for. The intent is to build a war chest that can be used to protect the technologies behind Open Source either directly or through a bargaining strategy of reciprocal patent licensing. Companies like Red Hat are acquiring patents today for Open Source technologies as a leverage to bargain in case of attack by proprietary vendors. Companies like IBM already have thousands of patents - three of which were used to deflate SCO’s attack on Open Source software.

Making Money using IP

The financial value of Open Source IP is almost entirely derived from services related to the support of the software, and not the software itself. Services include support contracts or enhancements and customizations sold separately. In certain cases, the Open Source IP can be multiply licensed, at least by the original owner of the IP, in order to generate revenue through commercial licensing.

The right strategy of using IP in an Open Source product depends on the extent of ownership of IP. If an author owns all the software both open source and commercial proprietary strategies can be pursued simultaneously. If the IP ownership in a product or project is shared, then IP can instead be used for enforcing a level playing field of collaboration amongst all players. In this case, IP is used in the same way that cross-licensing is used in proprietary software. Individuals or organizations that have the ability to perform technology services can benefit enormously by ensuring a level playing field. Services can then be layered on top with additional tools and integration facilities, used as market differentiators.

49ers and the Gold Rush

As the news of prosperity spreads, prospectors will rush in to find the IP nuggets of Open Source. While there is gold to be found, the real wealth is in the infrastructure that Open Source creates – the hardware, the packages and the services built up to support the IP ownership that is at the heart of Open Source software.

© 2000-2009 Technetra. All rights reserved. Contact | Terms of Use

WordPress