IBM DB2


DB2 is one of IBM's families of relational database management system (RDBMS) (or, as IBM now calls it, data server) software products within IBM's broader Information Management Software line. Although there are different "editions" and "versions" of DB2 which run on devices ranging from handhelds to mainframes, most often DB2 refers to DB2 Enterprise Server Edition or the top-of-the-line DB2 Data Warehouse Edition (DB2 DWE), which runs on Unix (AIX), Windows or Linux servers; or DB2 for z/OS. Alongside DB2 is another RDBMS: Informix, which was acquired by IBM in 2001.

History

DB2 has a long history and is considered by many to have been the first database product to use SQL (also first developed by IBM).

The name DB2 was first given to the Database Management System or DBMS in 1983 when IBM released DB2 on its MVS mainframe platform. Prior to this, a similar product was named SQL/DS on the VM mainframe. The earlier System 38 platform also contained a relational DBMS. System Relational, or System R, was a research prototype developed in the 1970s. DB2 has its roots back to the beginning of the seventies when Dr. E.F. Codd, working for IBM, described the theory of relational databases and in June 1970 published the model for data manipulation. To apply the model Codd needed a relational database language which he named Alpha. At the time IBM didn't believe in the potential of Codd's ideas, leaving the implementation to a group of programmers not under Codd's supervision, who violated several fundamentals of Codd's relational model; the result was Structured English QUEry Language or SEQUEL. When IBM released its first relational database product, they wanted to have a commercial-quality sublanguage as well, so it overhauled SEQUEL and renamed the basically new language SQL to differentiate it from SEQUEL. SQL, contrary to popular belief, does not stand for Structured Query Language as "it breaks the cardinal rule of structured languages by allowing branches to remote locations."(Allen G. Taylor, 2004) This leads the reader to speculate as to what the "true" meaning of SQL might be.

Historically, it is interesting to note that when Informix acquired Illustra and made their database engine an object-SQL DBMS by introducing their Universal Server, both Oracle and IBM followed suit by changing their database engines to be capable of object-relational extensions. Moreover, in 2001, IBM bought Informix and in the following years incorporated Informix technology into the DB2 product suite. Today, DB2 can technically be considered to be an object-SQL DBMS.

For some years DB2, as a full-function DBMS, was exclusively available on IBM mainframes. Later IBM brought DB2 to other platforms, including OS/2, UNIX and Windows servers, then Linux (including Linux on zSeries) and PDAs. This process was mainly undertaken through the 1990s. The inspiration for the mainframe version of DB2's architecture came in part from IBM DL/1 and IBM IMS, both initially hierarchical and then later network (or CODASYL) databases. DB2 is also embedded in the i5/OS operating system for IBM System i (iSeries, formerly the AS/400), and versions are available for z/VSE and z/VM.

An earlier version of the code that would become DB2 LUW (Linux, Unix, Windows) was part of an Extended Edition component of OS/2 called Database Manager. IBM extended the functionality of Database Manager a number of times, including the addition of distributed database functionality that allowed shared access to a database in a remote location on a LAN. Eventually IBM declared that insurmountable complexity existed in the Database Manager code, and took the difficult decision to completely rewrite the software in their Toronto Lab. The new version of Database Manager, called DB2 like its mainframe parent, ran on the OS/2 and RS/6000 platforms, was called DB2/2 and DB2/6000 respectively. Other versions of DB2, with different code bases, followed the same '/' naming convention and became DB2/400 (for the AS/400), DB2/VSE (for the DOS/VSE environment) and DB2/VM (for the VM operating system). IBM lawyers stopped this handy naming convention from being used and decided that all products needed to be called "product FOR platform" (for example, DB2 for OS/390). The next iteration of the mainframe and the server-based products were named DB2 Universal Database (or DB2 UDB), with the introduction of widespread confusion over which version (mainframe or server) of the DBMS was being referred to. At this point, the mainframe version of DB2 and the server version of DB2 were coded in entirely different languages (PL/S for the mainframe and C++ for the server), but shared very similar functionality and used a common architecture for SQL optimization: the Starburst Optimizer.

Over the years DB2 has both exploited and driven numerous hardware enhancements, particularly on IBM System z with such features as Parallel Sysplex data sharing. In fact, DB2 UDB Version 8 for z/OS now requires a 64-bit system and cannot run on earlier processors, and DB2 for z/OS maintains certain unique software differences in order to serve its sophisticated customers. Although the ultimate expression of software-hardware co-evolution is the IBM mainframe, to some extent that phenomenon occurs on other platforms as well, as IBM's software engineers collaborate with their hardware counterparts.

In the mid-1990s, IBM released a clustered DB2 implementation called DB2 Parallel Edition, which initially ran on AIX. This edition allowed scalability by providing a shared nothing architecture, in which a single large database is partitioned across multiple DB2 servers that communicate over a high-speed interconnect. This DB2 edition was eventually ported to all Linux, UNIX, and Windows (LUW) platforms and was renamed to DB2 Extended Enterprise Edition (EEE). IBM now refers to this product as the Database Partitioning Feature (DPF) and sells it as an add-on to their flagship DB2 Enterprise product.

In mid 2006, IBM announced "Viper," which is the codename for DB2 9 on both distributed platforms and z/OS. DB2 9 for z/OS was announced in early 2007. IBM claims that the new DB2 will be the first relational database to store XML "natively". Other enhancements include OLTP-related improvements for distributed platforms, business intelligence/data warehousing-related improvements for z/OS, more self-tuning and self-managing features, additional 64-bit exploitation (especially for virtual storage on z/OS), stored procedure performance enhancements for z/OS, and continued convergence of the SQL vocabularies between z/OS and distributed platforms.

DB2 9 on distributed platforms began shipping worldwide on July 28, 2006, with pricing starting at $4,874 per processor or $165 per user (minimum of 5 users) for DB2 9 Express, including one year of support.[1] DB2 for z/OS pricing starts at about $4,450 per month, including support.


Editions

DB2 is available in several "editions," or licensing arrangements. By opting for a reduced-feature "edition," IBM allows customers to avoid paying for database features which they do not need. Sample editions include the Express, Workgroup, and Enterprise Edition. The most sophisticated edition for Linux/UNIX/Windows is DB2 Data Warehouse Enterprise Edition, or DB2 DWE for short. This edition is intended for mixed workload (OLTP and data warehousing) or business intelligence (BI) implementations. DB2 DWE includes several "BI" features such as ETL, data mining, OLAP acceleration, and in-line analytics.

DB2 for z/OS is available under its own licensing terms. Starting with Version 8, IBM brought DB2 for z/OS and for the other platforms into much closer alignment. (Previously there were significant differences in SQL vocabularies, for example.) DB2 for z/OS has some exclusives — notably Multi-Level Security (MLS), extremely large table sizes, and hardware-assisted compression — owing to its special environment and the demanding needs of its customers. DB2 for z/OS has always been known for its leading OLTP performance and capabilities, and for its reliability and availability to support mission-critical business operations, but the z/OS version is now starting to acquire BI features as well, such as materialized query tables (MQTs) and star schema. Oracle's CEO Larry Ellison commented that DB2 for z/OS is the one competitive database he respects and admires.

On January 30, 2006, IBM released a no-charge version of DB2 called DB2 Express-C. This was an expected response to the recently announced free versions of Oracle 10g and Microsoft SQL Server. Unlike Microsoft or Oracle's free editions, Express-C has no limit on number of users or on database size. While versions 8.2 and 9.1 of DB2 Express-C imposed hardware limits on the server on which it ran, DB2 Express-C 9.5 can run on Windows and Linux machines of any size, but the database engine will not utilize more than two CPU cores and 2GB RAM. In 2007, IBM introduced a yearly support subscription called the Fixed Term License (FTL), which offers a year of telephone support for Express-C for US$3000 per server. Purchasing the FTL also allows the DB2 Express-C engine to use up to four CPU cores and 4GB RAM. Users of DB2 Express-C who don't purchase an FTL subscription can receive support and assistance on a free, public web forum staffed by IBM technicians and other DB2 users.


Competition

Since the mid 1980s, prime position in the database management software market has been held by Oracle. On May 3, 2004, IBM's head of database development and sales, Janet Perna, claimed their main competitors were Oracle in the context of advanced transaction handling and Teradata in the context of decision support systems (e.g. data warehousing). However, there are competitors in smaller markets, including Microsoft SQL Server (which is only available for Microsoft Windows), open source products such as Firebird, PostgreSQL and MySQL, and niche players such as Sybase and MaxDB.

In the clustered DBMS arena, where databases can grow to many terabytes, IBM's Database Partitioning Feature (DPF) is often pitted against Oracle Real Application Clusters (RAC), a shared-disk implementation formerly known as Oracle Parallel Server (OPS).

DB2 for z/OS arguably has fewer direct competitors, but Oracle is attracting customers to its Linux on zSeries products, although apparently not at the expense of DB2. CA-Datacom and Software AG's ADABAS are competing relational databases for z/OS, and there are certain niche products as well (Model 204, SUPRA SQL[3], NOMAD, etc.) Oracle has a 31-bit RDBMS available for z/OS. Non-relational databases that "compete" include IMS, and CA-IDMS, among others.

IBM and DB2 are frequently at or near the top of the TPC-C[4] and TPC-H[5] industry benchmarks published on the Transaction Processing Performance Council's website.

In 2006 IBM stepped up its competition in the emerging data warehouse appliance market by releasing a product line of pre-configured hardware/software systems combining DB2 Data Warehouse Edition with either IBM system p (AIX) or IBM system x (Linux) servers. This family of "warehouse appliance-like" systems was given the name IBM Balanced Configuration Unit, or BCU, and is aimed at the warehouse appliance market typified by Netezza and DATAllegro, but it differentiates itself in that it uses the full-featured version of DB2 instead of a single-purpose warehouse-oriented RDBMS.


Technical information

DB2 can be administered from either the command-line or a GUI. The command-line interface requires more knowledge of the product but can be more easily scripted and automated. The GUI is a multi-platform Java client that contains a variety of wizards suitable for novice users. DB2 supports both SQL and XQuery. DB2 has native implementation of XML data storage, where XML data is stored as XML(not as relational data or CLOB data) for faster access using XQuery.

DB2 has APIs for .NET CLI, Java, Python, Perl, PHP, Ruby, C++, C, REXX, PL/I, COBOL, RPG, FORTRAN, and many other programming languages. DB2 also supports integration into the Eclipse and Visual Studio .NET integrated development environments.

Error processing:

An important feature of DB2 computer programs is error handling. The SQL communications area (SQLCA) structure was once used exclusively within a DB2 program to return error information to the application program after every SQL statement was executed. The primary, but not singularly useful, error diagnostic is held in the field SQLCODE within the SQLCA block.

The SQL return code values are:
0 means successful execution.
A positive number means successful execution with one or more warnings. An example is +100 which means no rows found.
A negative number means unsuccessful with an error. An example is -911 which means a lock timeout (or deadlock) has occurred, triggering a rollback.

Later versions of DB2 added functionality and complexity to the execution of SQL. Multiple errors or warnings could be returned by the execution of an SQL statement; it may, for example, have initiated a Database Trigger and other SQL statements. Instead of the original SQLCA, error information should now be retrieved by successive executions of a GET DIAGNOSTICS statement.

Training and Certification

Currently, IBM offers various training options and certification paths, with their offerings stated on their web site.


User Groups

IDUG is the International DB2 Users Group, an independent, not-for-profit association of IT professionals who use IBM’s leading relational database management system (RDBMS), DB2. IDUG provides education, technical resources, peer networking opportunities, online resources and other programs that enable DB2 users to enhance their ability to leverage DB2 to achieve personal and professional objectives.


Database abstraction layer

A database abstraction layer is an application programming interface which unifies the communication between a computer application and databases such as MySQL, PostgreSQL, Oracle or SQLite. Traditionally, all database vendors provide their own interface tailored to their products which leaves it to the application programmer to implement code for all database interfaces he would like to support. Database abstraction layers reduce the amount of work by providing a consistent API to the developer and hide the database specifics behind this interface as much as possible. There exist many abstraction layers with different interfaces in numerous programming languages.


API level abstraction

Libraries like OpenDBX unify access to databases by providing a single low-level programming interface to the application developer. Their advantages are most often speed and flexibility because they are not tied to a specific query language (subset) and only have to implement a thin layer to reach their goal. The application developer can choose from all language features but has to provide configurable statements for querying or changing tables. Otherwise his application would also be tied to one database.

Popular use for database abstraction layers are among object-oriented programming languages, which are similar to API level abstraction layers. In an object oriented language like C++ or Java, a database can be represented through an object, whose methods and members (or the equivalent thereof in other programming languages) represent various functionalities of the database. They also share the same advantages and disadvantages as API level interfaces.


Language level abstraction

An example of a database abstraction layer on the language level would be ODBC. ODBC is a platform-independent implementation of a database abstraction layer. The user installs specific driver-software, through which ODBC can communicate with a database or set of databases. The user then has the ability to have programs communicate with ODBC, which then relays the results back and forth between the user programs and the database. The downside of this abstraction level is the increased overhead to transform statements into constructs understood by the target database.

Network analysis (electrical circuits)


A network, in the context of electronics, is a collection of interconnected components. Network analysis is the process of finding the voltages across, and the currents through, every component in the network. There are a number of different techniques for achieving this. However, for the most part, they assume that the components of the network are all linear. The methods described in this article are only applicable to linear network analysis except where explicitly stated.

Definitions::

Component:: A device with two or more terminals into which, or out of which, charge may flow.
Node:: A point at which terminals of more than two components are joined. A conductor with a substantially zero resistance is considered to be a node for the purpose of analysis.
Branch:: The component(s) joining two nodes.
Mesh:: A group of branches within a network joined so as to form a complete loop.
Port ::Two terminals where the current into one is identical to the current out of the other.
Circuit:: A current from one terminal of a generator, through load component(s) and back into the other terminal. A circuit is, in this sense, a one-port network and is a trivial case to analyse. If there is any connection to any other circuits then a non-trivial network has been formed and at least two ports must exist.
Transfer function:: The relationship of the currents and/or voltages between two ports. Most often, an input port and an output port are discussed and the transfer function is described as gain or attenuation.
Component transfer function:: For a two-terminal component (i.e. one-port component), the current and voltage are taken as the input and output and the transfer function will have units of impedance or admittance (it is usually a matter of arbitrary convenience whether voltage or current is considered the input). A three (or more) terminal component effectively has two (or more) ports and the transfer function cannot be expressed as a single impedance. The usual approach is to express the transfer function as a matrix of parameters. These parameters can be impedances, but there is a large number of other approaches, see two-port network.

Equivalent circuits


A useful procedure in network analysis is to simplify the network by reducing the number of components. This can be done by replacing the actual components with other notional components that have the same effect. A particular technique might directly reduce the number of components, for instance by combining impedances in series. On the other hand it might merely change the form in to one in which the components can be reduced in a later operation. For instance, one might transform a voltage generator into a current generator using Norton's theorem in order to be able to later combine the internal resistance of the generator with a parallel impedance load.

A resistive circuit is a circuit containing only resistors, ideal current sources, and ideal voltage sources. If the sources are constant (DC) sources, the result is a DC circuit. The analysis of a circuit refers to the process of solving for the voltages and currents present in the circuit. The solution principles outlined here also apply to phasor analysis of AC circuits.

Two circuits are said to be equivalent with respect to a pair of terminals if the voltage across the terminals and current through the terminals for one network have the same relationship as the voltage and current at the terminals of the other network.

If V2 = V1 implies I2 = I1 for all (real) values of V1, then with respect to terminals ab and xy, circuit 1 and circuit 2 are equivalent.

The above is a sufficient definition for a one-port network. For more than one port, then it must be defined that the currents and voltages between all pairs of corresponding ports must bear the same relationship. For instance, star and delta networks are effectively three port networks and hence require three simultaneous equations to fully specify their equivalence.

Source transformation::




A generator with an internal impedance (ie non-ideal generator) can be represented as either an ideal voltage generator or an ideal current generator plus the impedance. These two forms are equivalent and the transformations are given below. If the two networks are equivalent with respect to terminals ab, then V and I must be identical for both networks. Thus,
 or 
Norton's theorem states that any two-terminal network can be reduced to an ideal current generator and a parallel impedance.
Thévenin's theorem states that any two-terminal network can be reduced to an ideal voltage generator plus a series impedance.



Social Network Services

Social network services allow people to come together online around shared interests, hobbies, or causes. For example, some sites provide dating services where users post personal profiles, locations, ages, gender, etc, and are able to search for a partner. Other services enable business networking (Ryze, XING, and LinkedIn) and social event meetups (Meetup).

Some large wikis effectively become social network services by encouraging user pages and portals.

Anyone can create their own social networking service using hosted offerings like Ning or rSitez, or more flexible, installable software like Elgg.


Social network search engines::

Social network search engines are a class of search engines that use social networks to organize, prioritize, or filter search results. There are two subclasses of social network search engines: those that use explicit social networks, and those that use implicit social networks:
Explicit social network search engines allow people to find each other according to explicitly stated social relationships such as XFN social relationships. XHTML Friends Network, for example, allows people to share their relationships on their own sites, thus forming a decentralized/distributed online social network, in contrast to centralized social network services listed in the previous section.
Implicit social network search engines allow people to filter search results based upon classes of social networks they trust, such as a shared political viewpoint. This was called an epistemic filter in a United Nations University report from 1993 which predicted that this would become the dominant means of search for most users.

Lacking trustworthy explicit information about such viewpoints, this type of social network search engine mines the web to infer the topology of online social networks. For example, the NewsTrove search engine infers social networks from content - sites, blogs, pods, and feeds - by examining, among other things, subject matter, link relationships, and grammatical features to infer social networks.

Deliberative social networks

Deliberative social networks are webs of discussion and debate for decision-making purposes. They are built for the purpose of establishing sustained relationships between individuals and their government. They rely upon informed opinion and advice that is given with a clear expectation of outcomes.


Commercial social networks

Commercial social networks are designed to support business transaction and to build a trust between an individual and a brand, which relies on opinion of product, ideas to make the product better, enabling customers to participate with the brands in promoting development, service delivery, and a better customer experience.[citation needed]. an example of these networks is Dell IdeaStorm.


Social guides

A social guide recommending places to visit or contains information about places in the real world such as coffee shops, restaurants, and wifi hotspots, etc. One such application is WikiTravel.


Social bookmarking
Main article: Social bookmarking

Some Web sites allow users to post their list of bookmarks or favorites websites for others to search and view them. These sites can also be used to meet others sharing common interests. Examples include digg, del.icio.us, StumbleUpon, reddit, Netvouz, and furl.


Social cataloging

In Social cataloging much like social bookmarking, this software is aimed towards academics, and allows the user to post a citation for an article found on the internet or a website, online database like Academic Search Premier or LexisNexis Academic University, a book found in a library catalog, and so on. These citations can be organized into predefined categories or a new category defined by the user through the use of tags. This allows academics researching or interested in similar areas to connect and share resources. Examples for those services include CiteULike, Connotea, BibSonomy and refbase.


Social libraries

This applications allows visitors to keep track of their collectibles, books, records, and DVDs. Users can share their collections. Recommendations can be generated based on user ratings, using statistical computation and network theory. Some sites offer a buddy system, as well as virtual "check outs" of items for borrowing among friends. Folksonomy or tagging is implemented on most of these sites. Examples include discogs.com, imdb.com and LibraryThing.


Virtual worlds
Main article: Virtual world

Virtual Worlds are services where it is possible to meet and interact with other people in a virtual environment reminiscent of the real world. Thus the term virtual reality. Typically, the user manipulates an avatar through the world, interacting with others using chat or voice chat.


Massively Multiplayer Online Games (MMOGs)
Main article: Massively Multiplayer Online Games

MMOGs are virtual worlds that add various sorts of point systems, levels, competition, and winners and losers to virtual world simulation. Commercial MMOGs (or, more accurately, massively multiplayer online role-playing games or MMORPGs,) include Everquest and World of Warcraft. The Dotsoul Cyberpark is one of the more innovative non-commercial worlds, with the look and feel of Second Life and Active Worlds, but an adamantly anti-corporate stance. Other open-source and experimental examples include Planeshift, Croquet project, VOS and Solipsis.


Non-game worlds

Another development are the worlds that are less game-like, or not games at all. Games have points, winners, and losers. Instead, some virtual worlds are more like social networking services like MySpace and Facebook, but with 3D simulation features. Examples include Second Life, ActiveWorlds, The Sims Online, and There.


Economies

Very often a real economy emerges in these worlds, extending the non-physical service economy within the world to service providers in the real world. Experts can design dresses or hairstyles for characters, go on routine missions for them, and so on, and be paid in game money to do so. This emergence has resulted in expanding social possibility and also in increased incentives to cheat. In the case of Second Life, the in-world economy is one of the primary features of the world.


Other specialized social applications

There are many other applications with social software characteristics that facilitate human connection and collaboration in specific contexts. Project management and e-learning applications are among these.




Emerging technologies

Emerging technological capabilities to more widely distribute hosting and support much higher bandwidth in real time are bypassing central content arbiters in some cases.


Peer-to-peer social networks

A hybrid of web-based social networks, instant messaging technologies and peer-to-peer connectivity and file sharing, peer-to-peer social networks generally allow users to share blogs, files (especially photographs) and instant messages. Some examples are imeem, SpinXpress, Bouillon, Wirehog, and Soulseek. Also, Groove, WiredReach and Kerika have similar functionality, but with more of a work-based, collaboration bias.


Virtual presence

Widely viewed, virtual presence means being present via intermediate technologies, usually radio, telephone, television, or the internet. In addition, it can denote apparent physical appearance, such as voice, face, and body language.

More narrowly, the term virtual presence denotes presence on World Wide Web locations which identified by URLs. People who are browsing a web site are considered to be virtually present at web locations. Virtual presence is a social software in the sense that people meet on the web by chance or intentionally. The ubiquitous(in the web space) communication transfers behavior patterns from the real world and virtual worlds to the web. Research  has demonstrated effects  of online indicators

Social software

Social software encompasses a range of software systems that allow users to interact and share data. This computer-mediated communication has become very popular with social sites like MySpace and Facebook, media sites like Flickr and YouTube, and commercial sites like Amazon.com and eBay. Many of these applications share characteristics like open APIs, service oriented design, and the ability to upload data and media. The terms Web 2.0 and (for large-business applications) Enterprise 2.0 are also used to describe this style of software.

The more specific term collaborative software applies to cooperative information sharing systems, and is usually narrowly applied to the software that enables collaborative work functions. Distinctions among usage of the terms "social", "trusted", and "collaborative" are in the applications or uses, not the tools themselves, although there are some tools that are only rarely used for work collaboration.

Social technologies or Conversational technologies used in organizations, in particular a network-centric organization, are other terms used to describe knowledge creation and storage that is carried out through collaborative writing. Constructivist learning theorists such as Vygotsky; Leidner & Jarvenpaa explained that the process of expressing knowledge aids its creation and conversations benefits the refinement of knowledge. Conversational KM fulfills this purpose because conversations, e.g. questions and answers, become the source of relevant knowledge in the organization. Conversational technologies are seen as tools to support work units and the individual knowledge worker.

Many advocates of using these tools believe (and actively argue or assume) that they create actual communities, and have adopted the term "online communities" to describe the resulting social structures.


Tools for online communication::

The tools used in social software applications include communication tools and interactive tools. Communication tools typically handle the capturing, storing, and presentation of communication, usually written but increasingly including audio and video also. Interactive tools handle mediated interactions between a pair or group of users. They differ from communication tools in their focus on establishing and maintaining a connection among users, facilitating the mechanics of conversation and talk. Communication tools are generally asynchronous. Interactive tools are generally synchronous, allowing users to communicate in real time (phone, Net phone, video chat) or near-synchronous (IM, text chat).

We can add to this distinction one that describes the primary user experience of each: communication involves the content of talk, speech, or writing; interaction involves the interest users establish in one another as individuals. In other words, a communication tool may want to make access and searching of text both simple and powerful. An interactive tool may want to present as much of a user's expression, performance, and presence as possible. The organization of texts, and providing access to archived contributions differs from the facilitation of interpersonal interactions between contributors enough to warrant the distinction in media

WEB SEEDING

BitTorrent (protocol)::BitTorrent is a peer-to-peer file sharing protocol used to distribute large amounts of data. The initial distributor of the complete file or collection acts as the first seed. Each peer who downloads the data also uploads them to other peers. Relative to standard internet hosting, this provides a significant reduction in the original distributor's hardware and bandwidth resource costs. It also provides redundancy against system problems and reduces dependence on the original distributor.

Programmer Bram Cohen designed the protocol in April 2001 and released a first implementation on 2 July 2001. It is now maintained by Cohen's company BitTorrent, Inc. Usage of the protocol accounts for significant Internet traffic, though the precise amount has proven difficult to measure. There are numerous BitTorrent clients available for a variety of computing platforms. According to isoHunt the size of the torrents is currently more than 1.1 Petabytes.

OPERATION:

A BitTorrent client is any program that implements the BitTorrent protocol. Each client is capable of preparing, requesting, and transmitting any type of computer file over a network, using the protocol. A peer is any computer running an instance of a client.

To share a file or group of files, a peer first creates a small file called a "torrent" (e.g. MyFile.torrent). This file contains metadata about the files to be shared and about the tracker, the computer that coordinates the file distribution. Peers that want to download the file must first obtain a torrent file for it, and connect to the specified tracker, which tells them from which other peers to download the pieces of the file.

Though both ultimately transfer files over a network, a BitTorrent download differs from a classic full-file HTTP request in several fundamental ways:
BitTorrent makes many small data requests over different TCP sockets, while web-browsers typically make a single HTTP GET request over a single TCP socket.
BitTorrent downloads in a random or in a "rarest-first"[3] approach that ensures high availability, while HTTP downloads in a sequential manner.

Taken together, these differences allow BitTorrent to achieve much lower cost, much higher redundancy, and much greater resistance to abuse or to "flash crowds" than a regular HTTP server. However, this protection comes at a cost: downloads can take time to rise to full speed because it may take time for enough peer connections to be established, and it takes time for a node to receive sufficient data to become an effective uploader. As such, a typical BitTorrent download will gradually rise to very high speeds, and then slowly fall back down toward the end of the download. This contrasts with an HTTP server that, while more vulnerable to overload and abuse, rises to full speed very quickly and maintains this speed throughout.

In general, BitTorrent's non-contiguous download methods have prevented it from supporting "progressive downloads" or "streaming playback". But comments made by Bram Cohen in January 2007 suggest that streaming torrent downloads will soon be commonplace and ad supported streaming appears to be the result of those comments.

FCS Software Solutions

FCS Software Solutions Ltd. provides information technology services like application management, application hosting and application user support. It is listed on the Bombay Stock Exchange and the National Stock Exchange of India. It is a leading provider of IT services. In the past one decade of its existence, it has carved out a niche for itself in core IT areas like e-learning, digital content services, IT consultancy and product engineering services.


Business Focus

Technology Features
Fully Internet-enabled development center, using T1 data link, with backup supports of 256 K and 64 K links.
384 K Internet Private Leased circuit from Noida, India to California that can act as a virtual extension of any team in the USA.
24 hour Voice / data (call to check voice quality) connectivity.
Toll free US number for Indian teams.
Video conferencing facility to discuss crucial project issues.
Offshore development, maintenance, and technical support capability 24 hours a day, 7 days a week, 365 days a year.

Infrastructure & Manpower Scalability
Fully equipped and secure operational development center in Noida, India.
Flexibility to scale up or down, according to your needs.
Ready-to-deploy, similar size development facility in Gurgaon, India.
On-the-fly manpower recruitment capabilities to enhance and ramp up existing teams.

Manpower Selection and Allocation
Strong recruitment capability.
Mapping of major talent resources in India.
Constantly growing manpower database.
Reduced turnover rates.

Ability to Serve Globally
Facility in the US to serve clients.
Alliance partners to service any onshore requirements.
Operational contact center available around the clock.


Corporate Governance
Code of Conduct for Insider Trading
Code of Corporate Governance
Quarterly Corporate Governance Report
Code of Ethics for Directors
Code of Ethics for Senior Management

COMPUTER NETWORKING

     Computer networking is the engineering discipline concerned with communication between computer systems or devices. Networking, routers, routing protocols, and networking over the public Internet have their specifications defined in documents called RFCs. Computer networking is sometimes considered a sub-discipline of telecommunications, computer science, information technology and/or computer engineering. Computer networks rely heavily upon the theoretical and practical application of these scientific and engineering disciplines.

A computer network is any set of computers or devices connected to each other with the ability to exchange data.Examples of different networks are:
Local area network (LAN), which is usually a small network constrained to a small geographic area.
Wide area network (WAN) that is usually a larger network that covers a large geographic area.
Wireless LANs and WANs (WLAN & WWAN) are the wireless equivalent of the LAN and WAN.

All networks are interconnected to allow communication with a variety of different kinds of media, including twisted-pair copper wire cable, coaxial cable, optical fiber, and various wireless technologies.The devices can be separated by a few meters (e.g. via Bluetooth) or nearly unlimited distances (e.g. via the interconnections of the Internet.