Jump to content


Most Liked Content


#80 NAT (Network Address Translation)

Posted by Stefan Rusu on 26 August 2011 - 01:29 PM

In computer networking, the process of network address translation (NAT, also known as network masquerading or IP-masquerading) involves re-writing the source and/or destination addresses of IP packets as they pass through a router or firewall. Most systems using NAT do so in order to enable multiple hosts on a private network to access the Internet using a single public IP address. According to specifications, routers should not act in this way, but many network administrators find NAT a convenient technique and use it widely. Nonetheless, NAT can introduce complications in communication between hosts.

Overview

NAT first became popular as a way to deal with the IPv4 address shortage and to avoid the difficulty of reserving IP addresses. Use of NAT has proven particularly popular in countries other than the United States, which (for historical reasons) have fewer address-blocks allocated per capita. It has become a standard feature in routers for home and small-office Internet connections, where the price of extra IP addresses would often outweigh the benefits.

In a typical configuration, a local network uses one of the designated "private" IP address subnets (the RFC 1918 Private Network Addresses are 192.168.x.x, 172.16.x.x through 172.31.x.x, and 10.x.x.x), and a router on that network has a private address (such as 192.168.0.1) in that address space. The router is also connected to the Internet with a single "public" address (known as "overloaded" NAT) or multiple "public" addresses assigned by an ISP. As traffic passes from the local network to the Internet, the source address in each packet is translated on the fly from the private addresses to the public address(es). The router tracks basic data about each active connection (particularly the destination address and port). When a reply returns to the router, it uses the connection tracking data it stored during the outbound phase to determine where on the internal network to forward the reply; the TCP or UDP client port numbers are used to demultiplex the packets in the case of overloaded NAT, or IP address and port number when multiple public addresses are available, on packet return. To a system on the Internet, the router itself appears to be the source/destination for this traffic.

Drawbacks

Hosts behind a NAT-enabled router do not have true end-to-end connectivity and cannot participate in some Internet protocols. Services that require the initiation of TCP connections from the outside network, or stateless protocols such as those using UDP, can be disrupted. Unless the NAT router makes a specific effort to support such protocols, incoming packets cannot reach their destination. Some protocols can accommodate one instance of NAT between participating hosts ("passive mode" FTP, for example), sometimes with the assistance of an Application Layer Gateway (see below), but fail when both systems are separated from the internet by NAT. Use of NAT also complicates security protocols such as IPsec.

End-to-end connectivity has been a core principle of the Internet, supported for example by the Internet Architecture Board. Some people thus regard NAT as a detriment to the Public Internet. Some internet service providers (ISPs) only provide their customers with "local" IP addresses. Thus, these customers must access services external to the ISP's network through NAT. As a result, some may argue that such companies do not properly provide "Internet" service.

Depending on one's point of view, another drawback of NAT is that it greatly slowed the acceptance of IPv6, relegating it to research networks and limited public use.

Benefits

In addition to the convenience and low cost of NAT, the lack of full bidirectional connectivity can be regarded in some situations as a "feature", rather than a "limitation". To the extent that NAT depends on a machine on the local network to initiate any connection to hosts on the other side of the router, it prevents malicious activity initiated by outside hosts from reaching those local hosts. This can enhance the reliability of local systems by stopping worms and enhance privacy by discouraging scans. Many NAT-enabled firewalls use this as the core of the protection they provide.

The greatest benefit of NAT is that it is a practical solution to the impending exhaustion of IPv4 address space. Networks that previously required a Class B IP range or a block of Class C network addresses can now be connected to the Internet with as little as a single IP address (many home networks are set up this way). The more common arrangement is having machines that require true bidirectional and unfettered connectivity supplied with a 'real' IP addresses, while having machines that do not provide services to outside users (e.g. a secretary's computer) tucked away behind NAT with only a few IP addresses used to enable Internet access.

Basic NAT vs port number translation

Two kinds of network address translation exist. The type often popularly called simply "NAT" (also sometimes named "Network Address Port Translation" or "NAPT") refers to network address translation involving the mapping of port numbers, allowing multiple machines to share a single IP address. The other, technically simpler, form - also called NAT or "one-to-one NAT" or "basic NAT" or "static NAT" - involves only address translation, not port mapping. This requires an external IP address for each simultaneous connection. Broadband routers often use this feature, sometimes labelled "DMZ host", to allow a designated computer to accept all external connections even when the router itself uses the only available external IP address.

NAT with port-translation comes in two sub-types: source address translation (source NAT), which re-writes the IP address of the computer which initiated the connection; and its counterpart, destination address translation (destination NAT). In practice, both are usually used together in coordination for two-way communication.

Applications affected by NAT

Some higher-layer protocols (such as FTP and SIP) send network layer address information inside application payloads. FTP in active mode, for example, uses separate connections for control traffic (commands) and for data traffic (file contents). When requesting a file transfer, the host making the request identifies the corresponding data connection by its layer 3 and layer 4 addresses. If the host making the request lies behind a simple NAT firewall, the translation of the IP address and/or TCP port number makes the information received by the server invalid.

An Application Layer Gateway (ALG) can fix this problem. An ALG software module running on a NAT firewall device updates any payload data made invalid by address translation. ALGs obviously need to understand the higher-layer protocol that they need to fix, and so each protocol with this problem requires a separate ALG.

Another possible solution to this problem is to use NAT traversal techniques using protocols such as STUN or ICE or proprietary approaches in a session border controller. NAT traversal is possible in both TCP- and UDP-based applications, but the UDP-based technique is simpler, more widely understood, and more compatible with legacy NATs. In either case, the high level protocol must be designed with NAT traversal in mind, and it does not work reliably across symmetric NATs or other poorly-behaved legacy NATs.

Yet another possibility is UPnP (Universal Plug and Play) or Bonjour but this requires the cooperation of the NAT device.

Most traditional client-server protocols (FTP being the main exception), however, do not send layer 3 contact information and therefore do not require any special treatment by NATs. In fact, avoiding NAT complications is practically a requirement when designing new higher-layer protocols today.

NATs can also cause problems where IPsec encryption is applied and in cases where multiple devices such as SIP phones are located behind a NAT. Phones which encrypt their signalling with IPsec encapsulate the port information within the IPsec packet meaning that NA(P)T devices cannot access and translate the port. In these cases the NA(P)T devices revert to simple NAT operation. This means that all traffic returning to the NAT will be mapped onto one client causing the service to fail. There are a couple of solutions to this problem, one is to use TLS which operates at level 4 in the OSI Reference Model and therefore does not mask the port number, or to Encapsulate the IPsec within UDP - the latter being the solution chosen by TISPAN to achieve secure NAT traversal.

Different types of NAT

Applications that deal with NAT sometimes need to characterize NAT by type. The STUN protocol proposed to characterize Network address translation as Full cone NAT, restricted cone NAT, port restricted cone NAT or symmetric NAT. Note that it is indeed called "cone" and not possibly a type of "clone".

With full cone NAT, also known as one-to-one NAT, all requests from the same internal IP address and port are mapped to the same external IP address and port. An external host can send a packet to the internal host, by sending a packet to the mapped external address.

With restricted cone NAT, all requests from the same internal IP address and port are mapped to the same external IP address and port. Unlike a full cone NAT, an external host can send a packet to the internal host only if the internal host had previously sent a packet to it.

Port restricted cone NAT or symmetric NAT is like a restricted cone NAT, but the restriction includes port numbers. Specifically, an external host can send a packet to a particular port on the internal host only if the internal host had previously sent a packet from that port to the external host.

With symmetric NAT all requests from the same internal IP address and port to a specific destination IP address and port are mapped to a unique external source IP address and port. If the same internal host sends a packet with the same source address and port to a different destination, a different mapping is used. Only an external host that receives a packet can send a UDP packet back to the internal host.

This classification is now abandoned, because many NAT implementations oscillate between the various types. For example, many NAT follow a port preservation design. For most communications, they will use the same values as internal and external port numbers. However, if two internal hosts attempt to communicate with the same external hosts using the same port number, the external port number used by the second host will be chosen at random. Such NAT will be sometimes perceived as restricted cone NAT and other times as symmetric NAT.

Other examples of use

  • Load Balancing: Destination NAT can redirect connections pointed at some server to randomly selected servers.
  • Fail over: Destination NAT can be used to set up a service requiring high availability. If a system involves a critical server accessed through a router, and if the router detects that that server has gone down, it could use destination NAT to transparently re-route a connection to arrive on a backup server.
  • Transparent proxying: NAT can redirect HTTP connections targeted at the Internet to a special HTTP proxy which can cache content and filter requests. Some internet service providers use this technique to reduce bandwidth usage without requiring their clients to configure their web browser for proxy support.



#79 UPnP (Universal Plug-and-Play)

Posted by Stefan Rusu on 26 August 2011 - 01:26 PM

Universal Plug and Play (UPnP) is a set of computer network protocols promulgated by the UPnP Forum. The goals of UPnP are to allow devices to connect seamlessly and to simplify the implementation of networks in the home (data sharing, communications, and entertainment) and corporate environments. UPnP achieves this by defining and publishing UPnP device control protocols built upon open, Internet-based communication standards.

The term UPnP is derived from Plug-and-play, a technology for dynamically attaching devices to a computer directly.

Overview

The UPnP architecture offers pervasive peer-to-peer network connectivity of PCs, intelligent appliances, and wireless devices. The UPnP architecture is a distributed, open networking architecture that uses TCP/IP and HTTP to enable seamless proximity networking in addition to control and data transfer among networked devices in the home, office, and everywhere in between.

It enables data communication between any two devices under the command of any control device on the network.

  • Media and device independence. UPnP technology can run on any medium including phone lines, power lines (PLC), Ethernet, IR (IrDA), RF (Wi-Fi, Bluetooth), and FireWire. No device drivers are used; common protocols are used instead.
  • Common base protocols. Base protocol sets are used, on a per-device basis.
  • User interface (UI) Control. UPnP architecture enables vendor control over device user interface and interaction using the web browser.
  • Operating system and programming language independence. Any operating system and any programming language can be used to build UPnP products. UPnP does not specify or constrain the design of an API for applications running on control points; OS vendors may create APIs that suit their customer's needs. UPnP enables vendor control over device UI and interaction using the browser as well as conventional application programmatic control.
  • Internet-based technologies. UPnP technology is built upon IP, TCP, UDP, HTTP, and XML, among others.
  • Programmatic control. UPnP architecture also enables conventional application programmatic control.
  • Extendable. Each UPnP product can have value-added services layered on top of the basic device architecture by the individual manufacturers.

Protocol

Discovery

Given an IP address, the first step in UPnP networking is discovery. When a device is added to the network, the UPnP discovery protocol allows that device to advertise its services to control points on the network. Similarly, when a control point is added to the network, the UPnP discovery protocol allows that control point to search for devices of interest on the network. The fundamental exchange in both cases is a discovery message containing a few, essential specifics about the device or one of its services, for example, its type, identifier, and a pointer to more detailed information. The UPnP discovery protocol is based on the Simple Service Discovery Protocol (SSDP).

Description

The next step in UPnP networking is description. After a control point has discovered a device, the control point still knows very little about the device. For the control point to learn more about the device and its capabilities, or to interact with the device, the control point must retrieve the device's description from the URL provided by the device in the discovery message. The UPnP description for a device is expressed in XML and includes vendor-specific, manufacturer information like the model name and number, serial number, manufacturer name, URLs to vendor-specific web sites, etc. The description also includes a list of any embedded devices or services, as well as URLs for control, eventing, and presentation. For each service, the description includes a list of the commands, or actions, to which the service responds, and parameters, or arguments, for each action; the description for a service also includes a list of variables; these variables model the state of the service at run time, and are described in terms of their data type, range, and event characteristics.

Control

The next step in UPnP networking is control. After a control point has retrieved a description of the device, the control point can send actions to a device's service. To do this, a control point sends a suitable control message to the control URL for the service (provided in the device description). Control messages are also expressed in XML using the Simple Object Access Protocol (SOAP). Like function calls, in response to the control message, the service returns any action-specific values. The effects of the action, if any, are modeled by changes in the variables that describe the run-time state of the service.

Event Notification

The next step in UPnP networking is event notification, or "eventing". A UPnP description for a service includes a list of actions the service responds to and a list of variables that model the state of the service at run time. The service publishes updates when these variables change, and a control point may subscribe to receive this information. The service publishes updates by sending event messages. Event messages contain the names of one or more state variables and the current value of those variables. These messages are also expressed in XML and formatted using the General Event Notification Architecture (GENA). A special initial event message is sent when a control point first subscribes; this event message contains the names and values for all evented variables and allows the subscriber to initialize its model of the state of the service. To support scenarios with multiple control points, eventing is designed to keep all control points equally informed about the effects of any action. Therefore, all subscribers are sent all event messages, subscribers receive event messages for all "evented" variables that have changed, and event messages are sent no matter why the state variable changed (either in response to a requested action or because the state the service is modeling changed).

Presentation

The final step in UPnP networking is presentation. If a device has a URL for presentation, then the control point can retrieve a page from this URL, load the page into a web browser, and depending on the capabilities of the page, allow a user to control the device and/or view device status. The degree to which each of these can be accomplished depends on the specific capabilities of the presentation page and device.

UPnP AV (Audio and Video) standards

UPnP AV stands for UPnP Audio and Video, and is a grouping within the UPnP standards supervised by the DLNA (Digital Living Network Alliance), (formely: Digital Home Working Group), which is a forum of vendors and manufacturers who work in the home entertainment industry, and offer a "DLNA CERTIFIEDâ„¢" branding for those products which follow their Networked Device Interoperability Guidelines. The DLNA forum members "share a vision of a wired and wireless interoperable network of Personal Computers (PC), Consumer Electronics (CE) and mobile devices in the home enabling a seamless environment for sharing and growing new digital media and content services", and is "DLNA is focused on delivering an interoperability framework of design guidelines based on open industry standards to complete the cross-industry digital convergence". On the 12th of July 2006 the UPnP Forum announced the release of 'Enhanced AV Specifications', this release was version 2 of the UPnP Audio and Video specifications (UPnP AV v2), with new MediaServer version 2.0 and MediaRenderer version 2.0 classes. These enhancements are created by adding capabilities to the UPnP AV MediaServer and MediaRenderer device classes that allow a higher level of interoperability between MediaServers and MediaRenderers from different manufacturers.

UPnP AV components:

  • UPnP MediaServer DCP - which is the UPnP-server (a 'slave' device) that share/stream media-data (like audio/video/picture/files) to UPnP-clients on the network).
  • UPnP MediaServer ControlPoint - which is the UPnP-client (a 'master' device) that can auto-detect UPnP-servers on the network to browse and stream media/data-files from them.
  • UPnP Remote User Interface (RUI) client/server - which sends/receives control-commands between the UPnP-client and UPnP-server over network, (like record, schedule, play, pause, stop, etc.).
  • UPnP MediaRenderer DCP - which is a 'slave' device that can render content.
  • UPnP RenderingControl DCP - control MediaRenderer settings; volume, brightness, RGB, sharpness, and more).

NAT traversal

UPnP comes with a solution for Network Address Translation (NAT) traversal: Internet Gateway Device (IGD) protocol.

Problems with UPnP

  • UPnP uses HTTP over UDP (known as HTTPU and HTTPMU for unicast and multicast), even though this is not standardized and is specified only in an Internet-Draft that expired in 2001.
  • UPnP does not have a lightweight authentication protocol, while the available security protocols are complex. As a result, many UPnP devices ship with UPnP turned off by default as a security measure.



#75 RSS/Atom

Posted by Stefan Rusu on 26 August 2011 - 12:03 PM

RSS is a family of web feed formats. The initialism "RSS" is variously used to refer to the following standards:

  • Really Simple Syndication (RSS 2.0)
  • Rich Site Summary (RSS 0.91, RSS 1.0)
  • RDF Site Summary (RSS 0.9 and 1.0), where RDF means Resource Description Framework.

RSS formats are specified in XML (a generic specification for data formats). RSS delivers its information as an XML file called an "RSS feed", "webfeed", "RSS stream", or "RSS channel".

Usage

RSS is a simple XML-based system that allows users to subscribe to their favorite websites. Using RSS, a webmaster can put their content into a standardized format, which can be viewed and organized through a RSS-aware software.

A program known as a feed reader or aggregator can check a list of feeds on behalf of a user and display any updated articles that it finds. It is common to find web feeds on major websites and many smaller ones. Some websites let people choose between RSS or Atom formatted web feeds; others offer only RSS or only Atom.

RSS-aware programs are available for various operating systems. Client-side readers and aggregators are typically constructed as standalone programs or extensions to existing programs such as web browsers. Many browsers have integrated support for RSS feeds. There also are other applications that can convert a RSS feed into several usenet articles, viewable through the major newsreader software such as Mozilla Thunderbird or Forté Agent: an example of such applications are nntp//rss, a Java coded program, or RSS Feed Converter a script for the popular mail-newsserver Hamster.

Web-based feed readers and news aggregators such as YourLiveWire require no software installation and make the user's "feeds" available on any computer with Web access. Some aggregators combine existing web feeds into new feeds, e.g., taking all football related items from several sports feeds and providing a new football feed. There are also search engines for content published via web feeds like Feedster or Blogdigger.

On Web pages, web feeds (RSS or Atom) are typically linked with the word "Subscribe", an orange rectangle, a feed icon, or with the letters XML or RSS. Many news aggregators such as My Yahoo! publish subscription buttons for use on Web pages to simplify the process of adding news feeds.

RSS is also beginning to be used as the delivery system of choice for sending desktop alerts.

Incompatibilities

As noted above, there are several different versions of RSS, falling into two major branches (RDF and 2.*). The RDF, or RSS 1.* branch includes the following versions:

1) RSS 0.90 was the original Netscape RSS version. This RSS was called RDF Site Summary, but was based on an early working draft of the RDF standard, and was not compatible with the final RDF Recommendation.

2) RSS 1.0 is an open format by the RSS-DEV Working Group, again standing for RDF Site Summary. RSS 1.0 is an RDF format like RSS 0.90, but not fully compatible with it, since 1.0 is based on the final RDF 1.0 Recommendation.

3) RSS 1.1 is also an open format and is intended to update and replace RSS 1.0. The specification is an independent draft not supported or endorsed in any way by the RSS-Dev Working Group or any other organization.

The RSS 2.* branch (initially UserLand, now Harvard) includes the following versions:

1) RSS 0.91 is the simplified RSS version released by Netscape, and also the version number of the simplified version championed by Dave Winer from Userland Software. The Netscape version was now called Rich Site Summary, this was no longer an RDF format, but was relatively easy to use. It remains the most common RSS variant.

2) RSS 0.92 through 0.94 are expansions of the RSS 0.91 format, which are mostly compatible with each other and with Winer's version of RSS 0.91, but are not compatible with RSS 0.90. In all Userland RSS 0.9x specifications, RSS was no longer an acronym.

3) RSS 2.0.1 has the internal version number 2.0. RSS 2.0.1 was proclaimed to be "frozen", but still updated shortly after release without changing the version number. RSS now stood for Really Simple Syndication. The major change in this version is an explicit extension mechanism using XML Namespaces.

For the most part, later versions in each branch are backward-compatible with earlier versions (aside from non-conformant RDF syntax in 0.90), and both versions include properly documented extension mechanisms using XML Namespaces, either directly (in the 2.* branch) or through RDF (in the 1.* branch). Most syndication software supports both branches. Mark Pilgrim's article "The Myth of RSS Compatibility" discusses RSS version compatibility in more detail.

The extension mechanisms make it possible for each branch to track innovations in the other. For example, the RSS 2.* branch was the first to support enclosures, making it the current leading choice for podcasting, and as of mid-2005 is the format supported for that use by iTunes and other podcasting software; however, an enclosure extension is now available for the RSS 1.* branch, mod_enclosure. Likewise, the RSS 2.* core specification does not support providing full-text in addition to a synopsis, but the RSS 1.* markup can be (and often is) used as an extension. There are also several common outside extension packages available, including a new proposal from Microsoft for use in Internet Explorer 7.

The most serious compatibility problem is with HTML markup. Userland's RSS reader—generally considered as the reference implementation—did not originally filter out HTML markup from feeds. As a result, publishers began placing HTML markup into the titles and descriptions of items in their RSS feeds. This behaviour has become widely expected of readers, to the point of becoming a de facto standard, though there is still some inconsistency in how software handles this markup, particularly in titles. The RSS 2.0 specification was later updated to include examples of entity-encoded HTML, however all prior plain text usages remain valid.

Atom

In reaction to recognized issues with RSS (and because RSS 2.0 is frozen), a third group began a new syndication specification, Atom, in June 2003, and their work was later adopted by Internet Engineering Task Force (IETF) leading to the publication of a specification (RFC 4287) for the Atom Format in 2005. Work on the Atom Publishing Protocol, a standards-based protocol for posting to publishing tools is ongoing.

The relative benefits of Atom in comparison to the two RSS branches are a matter of debate within the Web-syndication community. Supporters of Atom claim that it improves on RSS by relying on standard XML features, by specifying a payload container that can handle many different kinds of content unambiguously, and by having a specification maintained by a recognized standards organization. Critics claim that Atom unnecessarily introduces a third branch of syndication specifications, further confusing the marketplace.

BitTorrent and RSS

The peer-to-peer application BitTorrent has also announced support for RSS. Such feeds (also known as Torrent/RSS-es) will allow client applications to download files automatically (also known as Broadcatching). Most common BitTorrent clients already offer RSS support.


#73 Open Source Software (OSS)

Posted by Stefan Rusu on 26 August 2011 - 12:00 PM

Open source describes the principles and methodologies to promote open access to the production and design process for various goods, products, resources and technical conclusions or advice. The term is most commonly applied to the source code of software that is made available to the general public with either relaxed or non-existent intellectual property restrictions. This allows users to create user-generated software content through either incremental individual effort, or collaboration.

Some consider open source as one of various possible design approaches, while others consider it a critical strategic element of their operations. Before open source became widely adopted, developers and producers used a variety of phrases to describe the concept; the term open source gained popularity with the rise of the Internet and its enabling of diverse production models, communication paths, and interactive communities. Subsequently, open source software became the most prominent face of open source practices.

Open-source software is computer software whose source code is available under a license (or arrangement such as the public domain) that permits users to study, change, and improve the software, and to redistribute it in modified or unmodified form. It is often developed in a public, collaborative manner. It is the most prominent example of open source development and often compared to user generated content.

The Open Source Definition, notably, presents an open-source philosophy, and further defines a boundary on the usage, modification and redistribution of open-source software. Software licenses grant rights to users which would otherwise be prohibited by copyright. These include rights on usage, modification and redistribution. Several open-source software licenses have qualified within the boundary of the Open Source Definition. The most prominent example is the popular GNU General Public License (GPL). While open source presents a way to broadly make the sources of a product publicly accessible, the open-source licenses allow the authors to fine tune such access.


#67 DHT (Distributed Hash Table)

Posted by Stefan Rusu on 26 August 2011 - 11:41 AM

Distributed hash tables (DHTs) are a class of decentralized distributed systems that partition ownership of a set of keys among participating nodes, and can efficiently route messages to the unique owner of any given key. Each node is analogous to an array slot in a hash table. DHTs are typically designed to scale to large numbers of nodes and to handle continual node arrivals and failures. This infrastructure can be used to build more complex services, such as distributed file systems, peer-to-peer file sharing systems, cooperative web caching, multicast, anycast, domain name services, and instant messaging.

Background

DHT research was originally motivated, in part, by peer-to-peer systems such as Napster, Gnutella, and Freenet, which took advantage of resources distributed across the Internet to provide a single useful application. In particular, they took advantage of increased bandwidth and hard disk capacity to provide a file sharing service.

These systems differed in how they found the data their peers contained. Napster had a central index server: each node, upon joining, would send a list of locally held files to the server, which would perform searches and refer the querier to the nodes that held the results. This central component left the system vulnerable to attacks and lawsuits. Gnutella and similar networks moved to a flooding query model — in essence, each search would result in a message being broadcast to every other machine in the network. While avoiding a single point of failure, this method was significantly less efficient than Napster. Finally, Freenet was also fully distributed, but employed a heuristic key based routing in which each file was associated with a key, and files with similar keys tended to cluster on a similar set of nodes. Queries were likely to be routed through the network to such a cluster without needing to visit many peers. However, Freenet did not guarantee that data would be found.

Distributed hash tables use a more structured key based routing in order to attain both the decentralization of Gnutella and Freenet, and the efficiency and guaranteed results of Napster. One drawback is that, like Freenet, DHTs only directly support exact-match search, rather than keyword search, although that functionality can be layered on top of a DHT.

The first four DHTs—CAN, Chord, Pastry, and Tapestry—were introduced about the same time in 2001. Since then this area of research has been quite active. Outside academia, DHT technology has been adopted as a component of BitTorrent and in the Coral Content Distribution Network

Properties

DHTs characteristically emphasize the following properties:

  • Decentralisation: the nodes collectively form the system without any central coordination.
  • Scalability: the system should function efficiently even with thousands or millions of nodes.
  • Fault tolerance: the system should be reliable (in some sense) even with nodes continuously joining, leaving, and failing.

A key technique used to achieve these goals is that any one node needs to coordinate with only a few other nodes in the system -- most commonly, Θ(logn) of the n participants (see below) -- so that only a limited amount of work needs to be done for each change in membership.

Some DHT designs seek to be secure against malicious participants and to allow participants to remain anonymous, though this is less common than in many other peer-to-peer (especially file sharing) systems; see anonymous P2P.

Finally, DHTs must deal with more traditional distributed systems issues such as load balance, data integrity, and performance (in particular, ensuring that operations such as routing and data storage or retrieval complete quickly).

Structure

A DHT is built around an abstract keyspace, such as the set of 160-bit strings. Ownership of the keyspace is split among the participating nodes according to a keyspace partitioning scheme. The overlay network connects the nodes, allowing them to find the owner of any given key in the keyspace. (This design decomposition has been suggested in (Naor and Wieder, 2003) and (Manku, 2004).)

Once these components are in place, a typical use of the DHT for storage and retrieval might proceed as follows. Suppose the keyspace is the set of 160-bit strings. To store a file with given filename and data in the DHT, the SHA1 hash of filename is found, producing a 160-bit key k. Thereafter, a message put(k,data) may be sent to any node participating in the DHT. The message is forwarded from node to node through the overlay network until it reaches the single node responsible for key k as specified by the keyspace partitioning, where the pair (k,data) is stored. Any other client can then retrieve the contents of the file by again hashing filename to produce k and asking any DHT node to find the data associated with k with a message get(k). The message will again be routed through the overlay to the node responsible for k, which will reply with the stored data.


#64 ADS (Alternate Data Streams)

Posted by Stefan Rusu on 26 August 2011 - 11:10 AM

Alternate data streams allows files to be associated with more than one data stream. For example, a file such as text.txt can have an ADS with the name of text.txt:secret.txt (of form filename:ads) that can only be accessed by knowing the ADS name or by specialized directory browsing programs. Alternate streams are not detectable in the original file's size but are lost when the original file (i.e. text.txt) is deleted with a RemoveFile or RemoveFileTransacted call (or a call that uses those calls), or when the file is copied or moved to a partition that doesn't support ADS (e.g. a FAT partition, a floppy disk, or a network share). While ADS is a useful feature, it can also easily eat up hard disk space if unknown either through being forgotten or not being detected.


#33 How to uninstall the Soft32 Toolbar

Posted by Adrian on 08 March 2011 - 12:35 PM

How to uninstall the Soft32 Toolbar from your Computer

1. Click Windows Start.

2. Select Control Panel.

uninstall1.png

3. View the list of programs.

If you're using Windows XP, click the Add or Remove Programs link.
If you're using Windows Vista/7, under Programs, click the Uninstall a program link.

uninstall2.png

It may take a while for this page to open, but when it does, you’ll see a list of your installed programs.

4. Locate and select Soft32 Toolbar in the list of installed programs.

5. Start the removal.

If you're using Windows XP, to the right of the program name, click the Remove button.
If you're using Windows Vista/7, above the list of programs, click the Uninstall button.

uninstall3.png

6. When prompted, confirm the removal of Soft32 Toolbar by clicking Yes.


How to uninstall the Soft32 Toolbar from Mozilla Firefox  

The first step for uninstalling the Soft32 Toolbar from Firefox (all versions) is to go to the 'Tools' section of the menu (as seen in the picture below). Next, you need to go to the 'Add-ons' management section.

Image 1.png

Here, you will find listed the Soft32 Toolbar among other add-ons. To remove the Soft32 Toolbar, click 'uninstall', and a confirmation window will pop-up prompting for the Soft32 Community Toolbar removal.  

Image 2.png

Click 'Uninstall' again and a yellow bar will show up on the 'Add-ons' management section prompting you to restart Firefox in order that the changes would be complete.  

Image 4.png

Image 5.png

Optionally, the session restore confirmation dialog window will pop-up before restarting Firefox. Click 'Restart'.  

Image 6.png

When Firefox restarts,  a webpage will be opened confirming the removal of the Soft32 Toolbar.

Image 7.png

How to uninstall the Soft32 Toolbar from Internet Explorer  

In case you are an Internet Explorer user, you can remove the Soft 32 toolbar only by following the control panel procedure.

If you don't want to definitely erase the toolbar and keep it for later usage, you can disable its components from the Add-on Manager included in the Tools section of Internet Explorer. See the image below:

removesoft32.png

It's enough to disable a single component, and the browser will be able to automatically detect and disable the rest of them.

removesoft3201.png

After a manual restart the Soft32 toolbar will disappear from Internet Explorer interface but can be re-activated anytime from the Add-on Manager.


#113 How to update my software or delete it?

Posted by NetBrain on 22 August 2012 - 03:37 AM

Hi,

I submitted a software to soft32 site. I want to update some info.
Does anybody know how to update the software?
Or how to delete it? Maybe I can firstly delete it and then submit an update one.

Thanks!


#94 Application Error

Posted by mroots1 on 04 February 2012 - 12:57 PM

When I select an availlable update ( I currently show 2: CloneDVD 2.9.3.0 and Glary Uitilities 2.41.0.1358 ) I get:

An error occurred

Application error

(See attachment)

I am running Soft32 Updater Version 1.0.2.0 on Windows 7 64 bit.

Thanks,

Michael

Attached Thumbnails

  • Soft32 Capture.JPG



#77 SSH

Posted by Stefan Rusu on 26 August 2011 - 12:05 PM

In computing, Secure Shell or SSH is a set of standards and an associated network protocol that allows establishing a secure channel between a local and a remote computer. It uses public-key cryptography to authenticate the remote computer and (optionally) to allow the remote computer to authenticate the user. SSH provides confidentiality and integrity of data exchanged between the two computers using encryption and message authentication codes (MACs). SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols. An SSH server, by default, listens on the standard TCP port 22.


#76 SMTP (Simple Mail Transfer Protocol)

Posted by Stefan Rusu on 26 August 2011 - 12:04 PM

Simple Mail Transfer Protocol (SMTP) is the de facto standard for e-mail transmissions across the Internet. Formally SMTP is defined in RFC 821 (STD 10) as amended by RFC 1123 (STD 3) chapter 5. The protocol used today is also known as ESMTP and defined in RFC 2821.

History

SMTP is a relatively simple, text-based protocol, where one or more recipients of a message are specified (and in most cases verified to exist) and then the message text is transferred. It is quite easy to test an SMTP server using the telnet program (see below).

SMTP uses TCP port 25. To determine the SMTP server for a given domain name, the MX (Mail eXchange) DNS record is used, falling back to a simple A record in the case of no MX (not all MTAs (Mail Transfer Agents) support fallback).

SMTP started becoming widely used in the early 1980s. At the time, it was a complement to UUCP (Unix to Unix CoPy) which was better suited to handle e-mail transfers between machines that were intermittently connected. SMTP, on the other hand, works best when both the sending and receiving machines are connected to the network all the time.

The article about sender rewriting contains technical background info about the early SMTP history and source routing before RFC 1123 (1989, obsoleted by RFC 2821).

Sendmail was one of the first (if not the first) mail transfer agents to implement SMTP. As of 2001 there are at least 50 programs that implement SMTP as a client (sender of messages) or a server (receiver of messages). Some other popular SMTP server programs include Postfix, qmail, Novell GroupWise, Exim, Novell NetMail and Microsoft Exchange Server.

Since this protocol started out as purely ASCII text-based, it did not deal well with binary files. Standards such as Multipurpose Internet Mail Extensions MIME were developed to encode binary files for transfer through SMTP. MTAs developed after sendmail also tended to be implemented 8-bit-clean, so that the alternate "just send eight" strategy could be used to transmit arbitrary data via SMTP. Non-8-bit-clean MTAs today tend to support the 8BITMIME extension, permitting binary files to be transmitted almost as easily as plain text.

SMTP is a "push" protocol that does not allow one to "pull" messages from a remote server on demand. To do this a mail client must use POP3 or IMAP. Another SMTP server can trigger a delivery in SMTP using ETRN.

ETRN (Extended Turn) is an extension to the SMTP e-mail protocol. ETRN is defined in RFC 1985. It enables a mail server to request a second mail server to forward it outstanding mail messages. The second mail server should initiate a new SMTP connection back to the first server. Some level of security is provided by DNS-based authentication of the initiating server. The ETRN operation is useful for intermittently connected mail servers.

SMTP Security and Spamming

One of the limitations of the original SMTP is that it has no facility for authentication of senders. Therefore the SMTP-AUTH extension was defined. However, the impracticalities of widespread SMTP-AUTH implementation and management means that E-mail spamming is not and cannot be addressed by it.

Modifying SMTP extensively, or replacing it completely, is not believed to be practical, due to the network effects of the huge installed base of SMTP. Internet Mail 2000 is one such proposal for replacement.

Spam is enabled by several factors, including vendors implementing broken MTAs (that do not adhere to standards, and therefore make it difficult for other MTAs to enforce standards), the insecurities of Microsoft Windows (when combined with always-on broadband connections) that allow spammers to remotely control end-user PCs and cause them to send spam, and a regrettable lack of "intelligence" in many MTAs still a major problem.


#72418 Inventory Manager,

Posted by dsballew on 20 March 2013 - 09:03 PM

We downloaded the free trial and paid the $95 fee for Inventory Manager 3.2.  Once the free trial was over we did not receive a new activation code nor did the software continue to function.  What do we need to do to continue?

 

Thank you!




#72417 Iniciating Mhotspot error

Posted by progallo on 07 February 2013 - 02:11 PM

Hi Mhotspot was runnig perfectly i really liked it, but just yesterday it asked to make an upgrade otherwise the program wouldnt run, so i did download the new version and since then i cant use it, whe i click on "start hotspot" botton i t brings me  this error in the picture. I have 2indows 7 32 bits. what should i do? thanks

Attached Thumbnails

  • Mhotspot prob.jpg



#72 NNTP

Posted by Stefan Rusu on 26 August 2011 - 11:59 AM

The Network News Transfer Protocol or NNTP is an Internet application protocol used primarily for reading and posting Usenet articles (aka netnews), as well as transferring news among news servers. Brian Kantor of the University of California, San Diego and Phil Lapsley of the University of California, Berkeley completed RFC 977, the specification for the Network News Transfer Protocol, in March 1986. Other contributors included Stan Barber from the Baylor College of Medicine and Erik Fair of Apple Computer.

Usenet was originally designed around the UUCP network, with most article transfers taking place over direct computer-to-computer telephone links. Readers and posters would log into the same computers that hosted the servers, reading the articles directly from the local disk.

As local area networks and the Internet became more commonly used, it became desirable to allow newsreaders to be run on personal computers, and a means of employing the Internet to handle article transfers was desired. A newsreader, also known as a news client, is an application software that reads articles on Usenet (generally known as newsgroup), either directly from the news server's disks or via the NNTP.

Because networked Internet-compatible filesystems were not yet widely available, it was decided to develop a new protocol that resembled SMTP, but was tailored for reading newsgroups. The well-known TCP port 119 is reserved for NNTP. When clients connect to a news server with SSL, TCP port 563 is used. This is sometimes referred to as NNTPS.

In October 2006, the IETF released RFC 3977 which updates the NNTP protocol and codifies many of the additions made over the years since RFC 977. The IMAP protocol can also be used for reading newsgroups.


#70 MAC (Media Access Control)

Posted by Stefan Rusu on 26 August 2011 - 11:57 AM

In computer networking a Media Access Control address (MAC address) is a unique identifier attached to most forms of networking equipment. Most layer 2 network protocols use one of three numbering spaces managed by the IEEE: MAC-48, EUI-48, and EUI-64, which are designed to be globally unique. Not all communications protocols use MAC addresses, and not all protocols require globally unique identifiers. The IEEE claims trademarks on the names "EUI-48" and "EUI-64". (The "EUI" stands for Extended Unique Identifier.)

ARP is commonly used to convert from addresses in a layer 3 protocol such as Internet Protocol (IP) to the layer 2 MAC address. On broadcast networks such as Ethernet the MAC address allows each host to be uniquely identified and allows frames to be marked for specific hosts. It thus forms the basis of most of the layer 2 networking upon which higher OSI Layer protocols are built to produce complex, functioning networks.

Address Details

The original IEEE 802 MAC address, now officially called "MAC-48", comes from the Ethernet specification. Since the original designers of Ethernet had the foresight to use a 48-bit address space, there are potentially 281,474,976,710,656 possible MAC addresses.

All three numbering systems use the same format and differ only in the length of the identifier. Addresses can either be "universally administered addresses" or "locally administered addresses."

A "universally administered address" is uniquely assigned to a device by its manufacturer; these are sometimes called "burned-in addresses." The first three octets (in transmission order) identify the organization that issued the identifier and are known as the Organizationally Unique Identifier (OUI). The following three (MAC-48 and EUI-48) or five (EUI-64) octets are assigned by that organization in nearly any manner they please, subject to the constraint of uniqueness. The IEEE expects the MAC-48 space to be exhausted no sooner than the year 2100; EUI-64s are not expected to run out in the foreseeable future.

A "locally administered address" is assigned to a device by a network administrator, overriding the burned-in address. Locally administered addresses do not contain OUIs.

Universally administered and locally administered addresses are distinguished by setting the second least significant bit of the most significant byte of the address (e.g. the most significant byte is xxxx xx1x); if that bit is binary 0, the address is universally administered. If it is binary 1, the address is locally administered. That bit is 0 in all OUIs.

MAC-48 and EUI-48 addresses are usually shown in hexadecimal format, with each octet separated by a dash or colon. An example of a MAC-48 address would be "00-08-74-4C-7F-1D". If you cross-reference the first three octets with IEEE's OUI assignments, you can see that this MAC address came from Dell Computer Corp. The last three octets represents the serial number assigned to the adapter by the manufacturer.

The distinction between EUI-48 and MAC-48 identifiers is purely semantic: MAC-48 is used for network hardware; EUI-48 is used to identify other devices and software. (Thus, by definition, an EUI-48 is not in fact a "MAC address", although it is syntactically indistinguishable from one and assigned from the same numbering space.)

Note: The IEEE now considers the label MAC-48 to be an obsolete term which was previously used to refer to a specific type of EUI-48 identifier used to address hardware interfaces within existing 802-based networking applications and should not be used in the future. Instead, the term EUI-48 should be used for this purpose.

Manufacturer access code

A unique identifier of the manufacturers publishing rights of the piece of equipment; also used as a security tool to prevent forging/theft of electronics. The name Manufacturer Access Code came as a prototype name for experiment itself; but in the latter years it came to be known as a Media Access Code, because of its tight-link with NICs.

Printed format

The standard (IEEE 802) format for printing MAC-48 addresses in human-readable media is six groups of two hexadecimal digits, separated by hyphens (-) in transmission order, e.g. 01-23-45-67-89-ab. This form is also commonly used for EUI-64. Other conventions include six groups of two separated by colons (:), e.g. 01:23:45:67:89:ab; or three groups of four hexadecimal digits separated by dots (.), e.g. 0123.4567.89ab; again in transmission order.

Changing addresses

Although physical MAC addresses are permanent by design, several mechanisms allow modification, or "spoofing", of the MAC address that is reported by the operating system. This can be useful for privacy reasons, for instance when connecting to a Wi-Fi hotspot, or to ensure interoperability. Some internet service providers bind their service to a specific MAC address; if the user then changes their network card or intends to install a router, the service won't work anymore. Changing the MAC address of the new interface will solve the problem. Similarly, some software licenses are bound to a specific MAC address. Changing the MAC address in this way is not permanent: after a reboot, it will revert to the MAC address physically stored in the card.

As a MAC address can be changed, it can be unwise to rely on this as a single method of authentication. IEEE 802.1x is an emerging standard better suited to authenticating devices at a low level.


#66 BT (BitTorrent)

Posted by Stefan Rusu on 26 August 2011 - 11:37 AM

BitTorrent is the name of a peer-to-peer (P2P) file distribution protocol, and is the name of a free software implementation of that protocol. The protocol was originally designed and created by programmer Bram Cohen, and is now maintained by BitTorrent Inc. BitTorrent is designed to distribute large amounts of data widely without incurring the corresponding consumption in costly server and bandwidth resources. CacheLogic suggests that BitTorrent traffic accounts for ~35% of all traffic on the Internet, while other sources are skeptical.

The original BitTorrent client was written in Python. Its source code, as of version 4.0, has been released under the BitTorrent Open Source License, which is a modified version of the Jabber Open Source License. There are numerous compatible clients, written in a variety of programming languages, and running on a variety of computing platforms.

BitTorrent clients are programs which implement the BitTorrent protocol. Each BitTorrent client is capable of preparing, requesting, and transmitting any type of computer file over a network using the BitTorrent protocol.

The creation and the publishing of the torrents

To share a file or group of files through BitTorrent, clients first create a "torrent". This is a small file which contains metadata about the files to be shared, and about the host computer that coordinates the file distribution. The exact information contained in the torrent file depends on the version of the BitTorrent protocol. However, a torrent file always has the suffix .torrent. Torrent files contain an "announce" section, which specifies the URL of the tracker, and an "info" section which contains (suggested) names for the files, their lengths, the piece length used, and a SHA-1 hash code for each piece, which clients should use to verify the integrity of the data they receive. Clients who have finished downloading the file may also choose to act as seeders, providing a complete copy of the file. After the torrent file is created, a link to it is placed on a website or elsewhere, and it is registered with a tracker. BitTorrent trackers maintain lists of the clients currently participating in the torrent. The computer with the initial copy of the file is referred to as the initial seeder.

Downloading the torrents and sharing the files

Using a web browser, users navigate to the site listing the torrent, download it, and open it in a BitTorrent client. After opening the torrent, the BitTorrent client connects to the tracker, which provides it with a list of clients currently downloading the file or files. A group of peers on a BitTorrent or P2P connected with each other to share a particular torrent is generally referred to as a swarm.

Initially, there may be no other peers in the swarm, in which case the client connects directly to the initial seeder and begins to request pieces. The BitTorrent protocol breaks down files into a number of much smaller pieces, typically a quarter of a megabyte (256 kB) in size. Larger file sizes typically have larger pieces. For example, a 4.37-GB file may have a piece size of 4 MB (4096 kB). Pieces are checked as they are received using a hash algorithm to ensure that they are error-free.

As peers enter the swarm, they begin sharing pieces with one another, instead of downloading directly from the seeder. Clients incorporate mechanisms to optimize their download and upload rates, for example using a tit for tat scheme. Peers download pieces in a random order, to increase the opportunity to exchange data, which is only possible if two peers have a different subset of the file.

The effectiveness of the peer-to-peer data exchange depends largely on the policies used by clients to determine whom to send data to. Clients will prefer to send data to peers that send data back to them, which encourages fair sharing, but strict policies often result in suboptimal situations, where newly joined peers are unable to receive any data (because they don't have any pieces yet to share themselves) and two peers with a good connection between them do not exchange data simply because neither of them wants to take the initiative. To counter these effects, the official BitTorrent client uses a mechanism called "optimistic unchoking", where the client will reserve a portion of its available bandwidth for sending pieces to random peers (not necessarily known-good partners, so called preferred peers), in hopes of discovering even better partners and to ensure newcomers get a chance to join the swarm.

Terminology

availability (also distributed copies): The number of full copies of the file available to the client. Each seed adds 1.0 to this number, as they have one complete copy of the file. A connected peer with a fraction of the file available adds that fraction to the availability, if no other peer has this part of the file. (ie. a peer with 65.3% of the file downloaded increases the availability by 0.653. However, if two peers both have the same portion of the file downloaded - say 50% - and there is only one seeder, the availability is 1.5).

choked: Describes a peer to whom the client refuses to send file pieces. A client chokes another client in several situations:

1)The second client is a seed, in which case it does not want any pieces (ie. it is completely uninterested)

2)The client is already uploading at its full capacity (ie. the value for max_uploads has been reached)

interested: Describes a downloader who wishes to obtain pieces of a file the client has. For example, the uploading client would flag a downloading client as 'interested' if that client did not possess a piece that it did, and wished to obtain it.

leech: A leech is usually a peer who has a negative effect on the swarm by having a very poor share ratio - in other words, downloading much more than they upload. Most leeches are users on asymmetric internet connections and do not leave their BitTorrent client open to seed the file after their download has completed. However, some leeches intentionally avoid uploading by using modified clients or excessively limiting their upload speed. The term leech, however, can be used simply to describe a peer - or any client that does not have 100% of the data.

peer: A peer is one instance of a BitTorrent client running on a computer on the Internet to which other clients connect and transfer data. Usually a peer does not have the complete file, but only parts of it. However, in the colloquial definition, "peer" can be used to refer to any participant in the swarm (in this case, it's synonymous with "client").

scrape: This is when a client sends a request to the tracking server for information about the statistics of the torrent, such as with whom to share the file and how well those other users are sharing.

seeder: A seeder is a peer that has a complete copy of the torrent and still offers it for upload. The more seeders there are, the better the chances are for completion of the file.

snubbed: An uploading client is flagged as snubbed if the downloading client has not received any data from it in over 60 seconds.

superseed: When a file is new, much time can be wasted because the seeding client might send the same file piece to many different peers, while other pieces have not yet been downloaded at all. Some clients, like ABC, Azureus, BitTornado, TorrentStorm, and µTorrent have a "superseed" mode, where they try to only send out pieces that have never been sent out before, making the initial propagation of the file much faster. This is generally used only for a new torrent, or one which must be re-seeded because no other seeds are available.

swarm: Together, all peers (including seeders) sharing a torrent are called a swarm. For example, six ordinary peers and two seeders make a swarm of eight.

torrent: A torrent can mean either a .torrent metadata file or all files described by it, depending on context. The torrent file contains metadata about all the files it makes downloadable, including their names and sizes and checksums of all pieces in the torrent. It also contains the address of a tracker that coordinates communication between the peers in the swarm.

tracker: A tracker is a server that keeps track of which seeds and peers are in the swarm. Clients report information to the tracker periodically and in exchange receive information about other clients to which they can connect. The tracker is not directly involved in the data transfer and does not have a copy of the file.


#65 Bonjour

Posted by Stefan Rusu on 26 August 2011 - 11:32 AM

Bonjour, formerly Rendezvous, is Apple's trade name for its implementation of the Zeroconf specification framework, a computer network technology used in Apple's Mac OS X from version 10.2 onwards. It uses standard DNS packets in a new way. Thus it is a new service, but it is using a technology that is relatively old, DNS over IP.

Bonjour is a general method to discover services on a local area network. This technology is widely used throughout Mac OS X and allows users to set up a network without any configuration. Currently it is used by Mac OS X and on other operating systems to find printers and file sharing servers. It is also used by iTunes to find shared music, iPhoto to find shared photos, iChat, Adium, Fire, Skype and the Gizmo Project to find other users on the local network, TiVo Desktop to find digital video recorders, SubEthaEdit to find document collaborators, and OD4Contact to find and share contacts information. Additionally it is used by Safari to find local web servers and configuration pages for local devices, and by Asterisk to advertise telephone services along with configuration parameters to VoIP phones and dialers. Without special DNS configuration, Bonjour only works on a single subnet, which is usually a small area.

Bonjour is sometimes misunderstood to make services on a personal computer (for instance, file sharing) available to the public Internet, which could be considered a security risk. In fact, Bonjour does not provide any extra access to services, even on the same local area network (LAN); it merely announces ("advertises") their existence. For example, a user can browse a list of nearby computers which share files Bonjour on these computers has told the user that the service is available but he or she must still provide a password to access any protected files on these machines. Additionally, Bonjour works only in a close range; by default, its messages only reach users of the same subnet. Thus, the only security impact of Bonjour is that advertised services are no longer protected by security through obscurity within the local subnet. If the services are protected through a means other than obscurity, they will remain protected.

Bonjour was formerly named Rendezvous prior to the release of Mac OS X v10.4, but the name was changed due to a 2004 trademark settlement between Apple and Tibco Software Inc. Tibco had marketed a product with the name Rendezvous before Apple released the technology. It was widely rumored in 2004 that the new name would be OpenTalk, but this name was not picked (possibly due to the similarities to LocalTalk and PowerTalk).

Bonjour services are implemented at the application level largely using standard TCP/IP calls, rather than in the operating system. Although Mac OS X provides various Bonjour services, Bonjour works on other operating systems. Apple has made the source code of the Bonjour multicast DNS responder, the core component of service discovery, available as a Darwin open source project. The project provides source code to build the responder daemon for a wide range of platforms, including Mac OS 9, Mac OS X, Linux, *BSD, Solaris, VxWorks, and Windows. In addition, Apple provides a user-installable set of services called Bonjour for Windows as well as Java libraries. To date, however, only a small number of non-Apple programs, such as Cerulean Studios' Trillian Pro 3 and e, a collaborative text editor for Microsoft Windows, use Bonjour on non-Macintosh platforms.


#63 W3C (World Wide Web Consortium)

Posted by Stefan Rusu on 26 August 2011 - 11:01 AM

The World Wide Web Consortium (W3C) is an international consortium where member organizations, a full-time staff and the public work together to develop standards for the World Wide Web. W3C's stated mission is "To lead the World Wide Web to its full potential by developing protocols and guidelines that ensure long-term growth for the Web."W3C also engages in education and outreach, develops software, and serves as an open forum for discussion about the Web. The Consortium is headed by Tim Berners-Lee, the primary author of the original URL (Uniform Resource Locator), HTTP (HyperText Transfer Protocol) and HTML (HyperText Markup Language) specifications, the principal technologies that form the basis of the World Wide Web.

History

In October 1994, Sir Tim Berners-Lee, inventor of the World Wide Web, left the European Organization for Nuclear Research (CERN) and founded the World Wide Web Consortium (W3C) at the Massachusetts Institute of Technology Laboratory for Computer Science (MIT/LCS) with support from the Defense Advanced Research Projects Agency (DARPA), which had pioneered the Internet, and the European Commission.

The consortium was created to ensure compatibility and agreement among industry members in the adoption of new standards. Prior to its creation, incompatible versions of HTML were offered by different vendors, increasing the potential for inconsistency between web pages. The consortium was created to get all those vendors to agree on a set of core principles and components which would be supported by everyone.

It was originally intended that CERN host the European branch of W3C. However, CERN wished to focus on particle physics, not information technology. In April 1995 the Institut national de recherche en informatique et en automatique (INRIA) became the European host of W3C, with Keio University becoming the Japanese branch in September 1996. Starting in 1997, W3C created regional offices around the world; as of May 2006 it has sixteen World Offices covering Australia, the Benelux countries (the Netherlands, Luxemburg, and Belgium), Mainland China, Finland, Germany and Austria, Greece, Hong Kong, Hungary, India, Ireland, Israel, Italy, Japan, South Korea, Korea, Morocco, Spain, Sweden, the United Kingdom and the United States.

In January 2003, the European host was transferred from INRIA to the European Research Consortium for Informatics and Mathematics (ERCIM), an organization that represents European national computer science laboratories.

Recommendations and Certifications

In accord with the W3C Process Document, a Recommendation progresses through the maturity levels of Working Draft (WD), Last Call Working Draft, Candidate Recommendation (CR), and Proposed Recommendation (PR), culminating ultimately as a W3C Recommendation (REC). A Recommendation may be updated by separately published Errata until enough substantial edits accumulate, at which time a new edition of the Recommendation may be produced (e.g., XML is now in its fourth edition). W3C also publishes various kinds of informative Notes which are not intended to be treated as standards.

The Consortium leaves it up to manufacturers to follow the Recommendations. Many of its standards define levels of conformance, which the developers must follow if they wish to label their product W3C-compliant. Like any standards of other organizations, W3C recommendations are sometimes implemented partially. The Recommendations are under a royalty-free patent license, allowing anyone to implement them.

Unlike the ISOC and other international standards bodies, the W3C does not have a certification program. A certification program is a process which has benefits and drawbacks; the W3C has decided, for now, that it is not suitable to start such a program owing to the risk of creating more drawbacks for the community than benefits.

Administration

The Consortium is jointly administered by the MIT Computer Science and Artificial Intelligence Laboratory (CSAIL) in the USA, the European Research Consortium for Informatics and Mathematics (ERCIM) (in Sophia Antipolis, France), and Keio University (in Japan). The W3C also has World Offices in fifteen regions around the world. The W3C Offices work with their regional Web communities to promote W3C technologies in local languages, broaden W3C's geographical base, and encourage international participation in W3C Activities.


#30 How to download from Soft32.com using: Internet Explorer 9

Posted by Emanuel on 22 November 2010 - 12:27 PM

IE9's simplified interface also changes the way downloads are done. IE now has a downloads window that can be opened at any time to see past and current downloading files. This window can be accessed by clicking the cog icon on the top right side of the screen, just below the bug red X button, and selecting “View Downloads”. Alternately, you can press Ctrl+J.

But let's start from the beginning:

1. Click the file you would like to download, and click one of the download buttons as shown below:

Posted Image

If your download starts automatically, a bottom pop-up bar will appear. Skip to step 3 if this is the case.  If not...

2. Select one of the available download mirrors that suits you just as shown in the next picture:

Posted Image

3. Press the Save button to start downloading the file. By default, its download location will be Documents\Downloads. Press the down arrow near Save and choose Save As if you would like to change the location where the file is saved.

Posted Image

4. The file is now downloading. When finished, a Run button will appear. You can also click the “View Downloads” button to see your downloads list and press “Run” from there – either way works.

Posted Image

Posted Image

If at any time you feel you lost the file, remember that Ctrl+J brings up the Downloads Window.

The Download is not working?

There might be several reasons why a download cannot be made:

  • the download link is broken (the publisher or the developer of the software has removed, moved or re-named the file on their servers). If this is the case, please report us the error and we will try to provide an accessible download link as soon as possible
  • the download site is not available or offline for various reasons (technical problems, maintenance, etc)
  • you cannot connect to the download site for various reasons (your internet provider has technical problems, maintenance, etc. or your network admin has blocked access to the site or to all downloads, your firewall is blocking the access to the site, etc.)



#27 How to download from Soft32.com using: Google Chrome

Posted by Adrian on 19 November 2010 - 03:31 PM

How can I download  my file from Soft32.com using Chrome?  

Using Google Chrome to download files should be a simple task: here's a couple of guidelines how to download files from soft32.com using Chrome.  

1. Select the download link of the program you wish to download and click it.  
  
Chrome_click_download_link.png

2. On the bottom of your Chrome window, you'll notice a dialog prompting you to save or discard the file. In case you wish to download the selected file, click 'save' and the file will be downloaded on to your computer.

Chrome_confirmation_save_file.png

3. When the download is complete, you can execute the downloaded file or you can view the file in the folder where it has been downloaded.  

Chrome_file_saved.png
Chrome_file_open__show_in_folder.png

Where did my download go?

One of the biggest problems with downloading files is figuring out where they go once they're on your hard drive. Creating and using a download folder eliminates that problem. Right-click your desktop and hover your mouse pointer over New until a menu pops up. Select Folder from that menu to create a new folder on your desktop. When the folder appears, its name, New Folder, should be highlighted already, so you can just type your name for it, such as Downloads. Though you don't need to leave this folder on your desktop, make sure you remember where you put it.  

In order to set your folder used by Chrome for downloads, you need to go to the 'Options' menu and there select the 'Under the hood' tab. Scroll down to the 'Download' settings and select your favorite download folder, so you can always find your downloaded files.

Chrome_options.png
Chrome_download_folder.png

Download still not working?

There might be several reasons why a download cannot be made:
- the download link is broken (the publisher or the developer of the software has removed, moved or re-named the file on their servers). If this is the case, please report us the error and we will try to provide an accessible download link as soon as possible;
- the download site is not available or offline for various reasons (technical problems, maintenance, etc);
- you cannot connect to the download site for various reasons (your internet provider has technical problems, maintenance, etc. or your network admin has blocked access to the site or to all downloads, your firewall is blocking the access to the site, etc.)