Monday, December 28, 2009

Intelligent RAM

INTRODUCTION

Given the growing processor-memory performance gap and the awkwardness of high capacity DRAM chips, we believe that it is time to consider unifying logic and DRAM. We call such a chip an "IRAM", standing for Intelligent RAM, since most of transistors on this merged chip will be devoted to memory. The reason to put the processor in DRAM rather than increasing the on-processor SRAM is that DRAM is in practice approximately 20 times denser than SRAM. (The ratio is much larger than the transistor ratio because DRAMs use 3D structures to shrink cell size). Thus, IRAM enables a much larger amount of on-chip memory than is possible in a conventional architecutre.
Although others have examined this issue in the past, IRAM is attractive today for several reasons. First, the gap between the performance of processors and DRAMs has been widening at 50% per year for 10 years, so that despite heroic efforts by architects, compiler writers, and applications developers, many more applications are limited by memory speed today than in the past. Second, since the actual processor occupies only about onethird of the die ,the upcoming gigabit DRAM has enough capacity that whole programs and data sets can fit on a single chip. In the past, so little memory could fit onchip with the CPU that IRAMs were mainly considered as building blocks for multiprocessors. Third, DRAM dies have grown about 50% each generation; DRAMs are being made with more metal layers to accelerate the longer lines of these larger chips. Also, the high speed interface of synchronous DRAM will require fast transistors on the DRAM chip. These two DRAM trends should make logic on DRAM closer to the speed of logic on logic fabs than in the past.

POTENTIAL ADVANTAGES OF IRAM
1) Higher Bandwidth. A DRAM naturally has extraordinary internal bandwidth, essentially fetching the square root of its capacity each DRAM clock cycle; an on-chip processor can tap that bandwidth.The potential bandwidth of the gigabit DRAM is even greater than indicated by its logical organization. Since it is important to keep the storage cell small, the normal solution is to limit the length of the bit lines, typically with 256 to 512 bits per sense amp. This quadruples the number of sense amplifiers. To save die area, each block has a small number of I/O lines, which reduces the internal bandwidth by a factor of about 5 to 10 but still meets the external demand. One IRAM goal is to capture a larger fraction of the potential on-chip bandwidth.
2) Lower Latency. To reduce latency, the wire length should be kept as short as possible. This suggests the fewer bits per block the better. In addition, the DRAM cells furthest away from the processor will be slower than the closest ones. Rather than restricting the access timing to accommodate the worst case, the processor could be designed to be aware when it is accessing "slow" or "fast" memory. Some additional reduction in latency can be obtained simply by not multiplexing the address as there is no reason to do so on an IRAM. Also, being on the same chip with the DRAM, the processor avoids driving the offchip wires, potentially turning around the data bus, and accessing an external memory controller. In summary, the access latency of an IRAM processor does not need to be limited by the same constraints as a standard DRAM part. Much lower latency may be obtained by intelligent floor planning, utilizing faster circuit topologies, and redesigning the address/data bussing schemes. The potential memory latency for random addresses of less than 30 ns is possible for a latency-oriented DRAM design on the same chip as the processor; this is as fast as second level caches. Recall that the memory latency on the AlphaServer 8400 is 253 ns.
These first two points suggest IRAM offers performance opportunities for two types of applications:
1. Applications with predictable memory accesses, such as matrix manipulations, may take advantage of the potential 50X to 100X increase in IRAM bandwidth; and
2. Applications with unpredictable memory accesses and very large memory "footprints", such as data bases, may take advantage of the potential 5X to 10X decrease in IRAM latency.

3) Energy Efficiency. Integrating a microprocessor and DRAM memory on the same die offers the potential for improving energy consumption of the memory system. DRAM is much denser than SRAM, which is traditionally used for on-chip memory. Therefore, an IRAM will have many fewer external memory accesses, which consume a great deal of energy to drive high-capacitance off-chip buses. Even on-chip accesses will be more energy efficient, since DRAM consumes less energy than SRAM. Finally, an IRAM has the potential for higher performance than a conventional approach. Since higher performance for some fixed energy consumption can be translated into equal performance at a lower amount of energy, the performance advantages of IRAM can be translated into lower energy consumption
4) Memory Size and Width. Another advantage of IRAM over conventional designs is the ability to adjust both the size and width of the on-chip DRAM. Rather than being limited by powers of 2 in length or width, as is conventional DRAM, IRAM designers can specify exactly the number of words and their width. This flexibility can improve the cost of IRAM solutions versus memories made from conventional DRAMs.
5) Board Space. Finally, IRAM may be attractive in applications where board area is precious --such as cellular phones or portable computers--since it integrates several chips into one.

CAPTCHA

INTRODUCTION

A captcha is a program that can generate and grade tests that: (A) most humans can pass, but (B) current computer programs can't pass. Such a program can be used to differentiate humans from computers and has many applications for practical security, including (but not limited to):
--- Online Polls.
In November 1999, slashdot.com released an online poll asking which was the best graduate school in computer science (a dangerous question to ask over the web!). As is the case with most online polls, IP addresses of voters were recorded in order to prevent single users from voting more than once. However, students at Carnegie Mellon found a way to stuff the ballots by using programs that voted for CMU thousands of times. CMU's score started growing rapidly. The next day, students at MIT wrote their own voting program and the poll became a contest between voting "bots". MIT finished with 21,156 votes, Carnegie Mellon with 21,032 and every other school with less than 1,000. Can the result of any online poll be trusted? Not unless the poll requires that only humans can vote.
---Free Email Services.
Several companies (Yahoo!, Microsoft, etc.) offer free email services, most of which suffer from a specifc type of attack: "bots" that sign up for thousands of email accounts every minute. This situation can be improved by requiring users to prove they are human before they can get a free email account. Yahoo!, for instance, uses a captcha of our design to prevent bots from registering for accounts. Their captcha asks users to read a distorted word such as the one shown below (current computer programs are not as good as humans at reading distorted text).

---Search Engine Bots.
Some web sites don't want to be indexed by search engines. There is an html tag to prevent search engine bots from reading web pages, but the tag doesn't guarantee that bots won't read the pages; it only serves to say "no bots, please". Search engine bots, since they usually belong to large companies, respect web pages that don't want to allow them in. However, in order to truly guarantee that bots won't enter a web site, captchas are needed.
---Worms and Spam.
captchas also offer a plausible solution against email worms and spam: only accept an email if you know there is a human behind the other computer. A few companies, such as www.spamarrest.com are already marketing this idea.
---Preventing Dictionary Attacks.
Pinkas and Sander have suggested using captchas to prevent dictionary attacks in password systems. The idea is simple: prevent a computer from being able to iterate through the entire space of passwords by requiring a human to type the passwords. The goals of this paper are to lay a solid theoretical foundation for captchas, to introduce the concept to the cryptography community, and to present several novel constructions.

CAPTCHA stands for "Completely Automated Public Turing Test to Tell Computers and Humans Apart." The P for Public means that the code and the data used by a CAPTCHA should be publicly available. This is not an open source requirement, but a security guarantee: it should be difficult for someone to write a computer program that can pass the tests generated by a CAPTCHA even if they know exactly how the CAPTCHA works (the only hidden information is a small amount of randomness utilized to generate the tests). The T for "Turing Test to Tell" is because CAPTCHAs are like Turing Tests . In the original Turing Test, a human judge was allowed to ask a series of questions to two players, one of which was a computer and the other a human. Both players pretended to be the human, and the judge had to distinguish between them. CAPTCHAs are similar to the Turing Test in that they distinguish humans from computers, but they differ in that the judge is now a computer. A CAPTCHA is an Automated Turing Test. We deliberately avoid using the term Reverse Turing Test (or even worse, RTT) because it can be misleading Reverse Turing Test has been used to refer to a form of the Turing Test in which both players pretend to be a computer

Diamond chip

INTRODUCTION

Electronics without silicon is unbelievable, but it will come true with the evolution of Diamond or Carbon chip. Now a day we are using silicon for the manufacturing of Electronic Chip's. It has many disadvantages when it is used in power electronic applications, such as bulk in size, slow operating speed etc. Carbon, Silicon and Germanium are belonging to the same group in the periodic table. They have four valance electrons in their outer shell. Pure Silicon and Germanium are semiconductors in normal temperature. So in the earlier days they are used widely for the manufacturing of electronic components. But later it is found that Germanium has many disadvantages compared to silicon, such as large reverse current, less stability towards temperature etc so in the industry focused in developing electronic components using silicon wafers
Now research people found that Carbon is more advantages than Silicon. By using carbon as the manufacturing material, we can achieve smaller, faster and stronger chips. They are succeeded in making smaller prototypes of Carbon chip. They invented a major component using carbon that is "CARBON NANOTUBE", which is widely used in most modern microprocessors and it will be a major component in the Diamond chip
WHAT IS IT?
In single definition, Diamond Chip or carbon Chip is an electronic chip manufactured on a Diamond structural Carbon wafer. OR it can be also defined as the electronic component manufactured using carbon as the wafer. The major component using carbon is (cnt) Carbon Nanotube. Carbon Nanotube is a nano dimensional made by using carbon. It has many unique properties.

HOW IS IT POSSIBLE?
Pure Diamond structural carbon is non-conducting in nature. In order to make it conducting we have to perform doping process. We are using Boron as the p-type doping Agent and the Nitrogen as the n-type doping agent. The doping process is similar to that in the case of Silicon chip manufacturing. But this process will take more time compared with that of silicon because it is very difficult to diffuse through strongly bonded diamond structure. CNT (Carbon Nanotube) is already a semi conductor.

ADVANTAGES OF DIAMOND CHIP
1 SMALLER COMPONENTS ARE POSSIBLE
As the size of the carbon atom is small compared with that of silicon atom, it is possible to etch very smaller lines through diamond structural carbon. We can realize a transistor whose size is one in hundredth of silicon transistor.
2 IT WORKS AT HIGHER TEMPERATURE
Diamond is very strongly bonded material. It can withstand higher temperatures compared with that of silicon. At very high temperature, crystal structure of the silicon will collapse. But diamond chip can function well in these elevated temperatures. Diamond is very good conductor of heat. So if there is any heat dissipation inside the chip, heat will very quickly transferred to the heat sink or other cooling mechanics.
3 FASTER THAN SILICON CHIP
Carbon chip works faster than silicon chip. Mobility of the electrons inside the doped diamond structural carbon is higher than that of in he silicon structure. As the size of the silicon is higher than that of carbon, the chance of collision of electrons with larger silicon atoms increases. But the carbon atom size is small, so the chance of collision decreases. So the mobility of the charge carriers is higher in doped diamond structural carbon compared with that of silicon.
4 LARGER POWER HANDLING CAPACITY
For power electronics application silicon is used, but it has many disadvantages such as bulk in size, slow operating speed, less efficiency, lower band gap etc at very high voltages silicon structure will collapse. Diamond has a strongly bonded crystal structure. So carbon chip can work under high power environment. It is assumed that a carbon transistor will deliver one watt of power at rate of 100 GHZ. Now days in all power electronic circuits, we are using certain circuits like relays, or MOSFET inter connection circuits (inverter circuits) for the purpose of interconnecting a low power control circuit with a high power circuit .If we are using carbon chip this inter phase is not needed. We can connect high power circuit direct to the diamond chip

Cooperative Linux

INTRODUCTION

Cooperative Linux utilizes the rather underused concept of a Cooperative Virtual Machine (CVM), in contrast to traditional VMs that are unprivileged and being under the complete control of the host machine. The term Cooperative is used to describe two entities working in parallel, e.g. coroutines [2]. In that sense the most plain description of Cooperative Linux is turning two operating system kernels into two big coroutines. In that mode, each kernel has its own complete CPU context and address space, and each kernel decides when to give control back to its partner.
However, only one of the two kernels has control on the physical hardware, where the other is provided only with virtual hardware abstraction. From this point on in the paper I'll refer to these two kernels as the host operating system, and the guest Linux VM respectively. The host can be every OS kernel that exports basic primitives that provide the Cooperative Linux portable driver to run in CPL0 mode (ring 0) and allocate memory. The special CPL0 approach in Cooperative Linux makes it significantly different than traditional virtualization solutions such as VMware, plex86, Virtual PC, and other methods such as Xen. All of these approaches work by running the guest OS in a less privileged mode than of the host kernel. This approach allowed for the extensive simplification of Cooperative Linux's design and its short earlybeta development cycle which lasted only one month, starting from scratch by modifying the vanilla Linux 2.4.23-pre9 release until reaching to the point where KDE could run.
The only downsides to the CPL0 approach is stability and security. If it's unstable, it has the potential to crash the system. However, measures can be taken, such as cleanly shutting it down on the first internal Oops or panic. Another disadvantage is security. Acquiring root user access on a Cooperative Linux machine can potentially lead to root on the host machine if the attacker loads specially crafted kernel module or uses some very elaborated exploit in case which the Cooperative Linux kernel was compiled without module support.
One Most of the changes in the Cooperative Linux patch are on the i386 tree-the only supported architecture for Cooperative at the time of this writing. The other changes are mostly additions of virtual drivers: cobd (block device), conet (network), and cocon (console). Most of the changes in the i386 tree involve the initialization and setup code. It is a goal of the Cooperative Linux kernel design to remain as close as possible to the standalone i386 kernel, so all changes are localized and minimized as much as possible.

2. USES
Cooperative Linux in its current early state can already provide some of the uses that User Mode Linux[1] provides, such as virtual hosting, kernel development environment, research, and testing of new distributions or buggy software. It also enabled new uses:
Relatively effortless migration path from Windows.
In the process of switching to another OS, there is the choice between installing another computer, dualbooting, or using a virtualization software. The first option costs money, the second is tiresome in terms of operation, but the third can be the most quick and easy method-especially if it's free. This is where Cooperative Linux comes in. It is already used in workplaces to convert Windows users to Linux.

Adding Windows machines to Linux clusters.
The Cooperative Linux patch is minimal and can be easily combined with others such as the MOSIX or Open-MOSIX patches that add clustering capabilities to the kernel. This work in progress allows to addWindows machines to super-computer clusters, where one illustration could tell about a secretary workstation computer that runs Cooperative Linux as a screen saver-when the secretary goes home at the end of the day and leaves the computer unattended, the office's cluster gets more CPU cycles for free.

Running an otherwise-dual-booted Linux system from the other OS.
The Windows port of Cooperative Linux allows it to mount real disk partitions as block devices. Numerous people are using this in order to access, rescue, or just run their Linux system from their ext3 or reiserfs file systems.

Using Linux as a Windows firewall on the same machine.
As a likely competitor to other out-of-the-box Windows firewalls, iptables along with a stripped-down Cooperative Linux system can potentially serve as a network firewall.

Computer Intelligence Applications

INTRODUCTION

The word 'robot' evokes many different thoughts and images, perhaps conflicting ones. Some may think of a metal humanoid, others of an industrial arm, and yet more may think, unfortunately, of a lost job. In the field of medical robotics, the word robot is just as fuzzily defined, with many different applications. These range from simplistic laboratory robots, to highly complex surgical robots that can either aid a human surgeon or execute operations by themselves.
The idea of robotics in surgery got its start in the military. The idea was to develop technology where a surgeon could perform an operation from a remote location on an injured soldier in the battlefield. This concept has evolved into robotics to enhance surgical performance. In this instance, a robotic arm called Endowrist performs the procedure with the surgeon guiding the robotic arm from a location in or adjacent to the operating room. The surgeon sits at a station peering at a monitor that shows a magnified view of the surgical field. A computer mimics and enhances his hand movements. The computer in this instance makes the movements more precise by dampening even a tiny tremor in the surgeon's hands, which might increase the difficulty in performing procedures under high power microscopic magnification. Examples of such procedures now being performed that were extremely difficult if not impossible before this technology are fallopian tube repair in women, microsurgery on the fetus, and minimally invasive coronary bypass surgery. The Zeus robot made by Computer Motion and a similar device, the Endowrist made by Intuitive Surgical are now in clinical trials for the above-mentioned procedures. Even with the robot to enhance the surgeon's ability, a great deal of practice is required to master the technique.
The reasons behind the interest in the adoption of medical robots are multitudinous. There is a great analogy to be found with the automation involved in the manufacturing industry. That is not to say that the issues of medical robotics are the same, but that the advantages to be gained are similar. Robots provide industry with something that is, to them, more valuable than even the most dedicated and hard-working employee - namely speed, accuracy, repeatability, reliability, and cost-efficiency. A robotic aid, for example, one that holds a viewing instrument for a surgeon, will not become fatigued, for however long it is used. It will position the instrument accurately with no tremor, and it will be able to perform just as well on the 100th occasion as it did on the first. The use of robotics and computers in minimally invasive spine surgery has resulted in more accurate surgical procedures, shortened operative time and fewer complications. It is expected that Computer Enhanced Image Guidance Systems will improve the precision of these procedures as a result of real time 3-D imaging at the time of the surgery. Diagnostic studies will be digitally transmitted to the operating room and projected to monitors to further aid the surgeon in performing the correct procedure with minimal trauma to the patient

SURGICAL NAVIGATION SYSTEM

A surgical navigation system has been built that is currently used regularly for neurosurgical cases such as tumor resection at Brigham and Women's Hospital. The system consists of a portable cart containing a Sun UltraSPARC workstation and the hardware to drive the laser scanner and Flashpoint tracking system (Image Guided Technologies, Boulder, CO). On top of the cart is mounted an articulated extendible arm to which a bar is attached to house the laser scanner and Flashpoint cameras. The three linear Flashpoint cameras are inside the bar. The laser is attached to one end of the bar, and a video camera to the other. The joint between the arm and scanning bar has three degrees-of-freedom to allow easy placement of the bar in desired configurations

Semantic Web

INTRODUCTION

In the beginning, there was no Web. The Web began as a concept of Tim Berners- Lee, who worked for CERN, the European organization for physics research. CERN's technical staff urgently needed to share documents located on their many computers. Berners-Lee had previously built several systems to do that, and with this background he conceived the World Wide Web.
The design had a relatively simple technical basis, which helped the technology take hold and gain critical mass. Berners-Lee wanted anyone to be able to put information on a computer and make that information accessible to anyone else, anywhere. He hoped that eventually, machines would also be able to use information on the Web. Ultimately, he thought, this would allow powerful and effective human-computer- human collaboration.
What is the Semantic Web?
The word semantic implies meaning. For the Semantic Web, semantic indicates that the meaning of data on the Web can be discovered not just by people, but also by computers. The phrase the Semantic Web stands for a vision in which computers software's as well as people can find, read, understand, and use data over the World Wide Web to accomplish useful goals for users.

Of course, we already use software to accomplish things on the Web, but the distinction lies in the words we use. People surf the Web, buy things on web sites, work their way through search pages, read the labels on hyperlinks, and decide which links to follow. It would be much more efficient and less time-consuming if a person could launch a process that would then proceed on its own, perhaps checking with the person from time to time as the work progressed. The business of the Semantic Web is to bring such capabilities into widespread use

2. MAJOR VISIONS OF SEMANTIC WEB
" Indexing and retrieving information
" Meta data
" Annotation
" The Web as a large, interoperable database
" Machine retrieval of data
" Web-based services
" Discovery of services
" Intelligent software agents

THE SEMANTIC WEB FOUNDATION
The Semantic Web was thought up by Tim Berners-Lee, inventor of the WWW, URIs, HTTP, and HTML. There is a dedicated team of people at the World Wide Web consortium (W3C) working to improve, extend and standardize the system, and many languages, publications, tools and so on have already been developed.

The World Wide Web has certain design features that make it different from earlier hyperlink experiments. These features will play an important role in the design of the Semantic Web. The Web is not the whole Internet, and it would be possible to develop many capabilities of the Semantic Web using other means besides the World Wide Web. But because the Web is so widespread, and because it's basic operations are relatively simple, most of the technologies being contemplated for the Semantic Web are based on the current Web, sometimes with extensions.
The Web is designed around resources, standardized addressing of those resources (Uniform Resource Locators and Uniform Resource Indicators), and a small, widely understood set of commands. It is also designed to operate over very large and complex networks in a decentralized way. Let us look at each of these design features. 

Self Defending Networks

INTRODUCTION

As the nature of threats to organizations continues to evolve, so must the defense posture of the organizations. In the past, threats from both internal and external sources were relatively slow-moving and easy to defend against. In today's environment, where Internet worms spread across the world in a matter of minutes, security systems - and the network itself - must react instantaneously.
The foundation for a self-defending network is integrated security - security that is native to all aspects of an organization. Every device in the network - from desktops through the LAN and across the WAN - plays a part in securing the networked environment through a globally distributed defense. Such systems help to ensure the privacy of information transmitted and to protect against internal and external threats, while providing corporate administrators with control over access to corporate resources. SDN shows that the approach to security has evolved from a point product approach to this integrated security approach


These self-defending networks will identify threats, react appropriately to the severity level, isolate infected servers and desktops, and reconfigure the network resources in response to an attack. The vision of the Self-Defending Network brings together Secure Connectivity, Threat Defense and Trust and Identity Management System with the capability of infection containment and rouge device isolation in a single solution.



SELF DEFENDING NETWORKS
To defend their networks, IT professionals need to be aware of the new nature of security threats, which includes the following:
Shift from internal to external attacks Before 1999, when key applications ran on minicomputers and mainframes, threats typically were perpetrated by internal users with privileges. Between 1999 and 2002, reports of external events rose 250 percent, according to CERT.
Shorter windows to react. When attacks homed in on individual computers or networks, companies had more time to understand the threat. Now that viruses can propagate worldwide in 10 minutes, that "luxury" is largely gone. Antivirus solutions are still essential but are not enough: by the time the signature has been identified, it is too late. With self-propagation, companies need network technology that can autonomously take action against threats.
More difficult threat detection. Attackers are getting smarter. They used to attack the network, and now they attack the application or embed the attack in the data itself, which makes detection more difficult.An attack at the network layer, for example, can be detected by looking at the header information. But an attack embedded in a text file or attachment can only be detected by looking at the actual payload of the packet--something a typical firewall doesn't do.The burden of threat detection is shifting from the firewall to the access control server and intrusion detection system.Rather than single-point solutions, companies need holistic solutions.
A lowered bar for hackers. Finally, a proliferation of easy-to-use hackers' tools and scripts has made hacking available to the less technically-literate. The advent of 'point-and-click' hacking means the attacker doesn't have to know what's going on under the hood in order to do damage.
These trends in security are what have lead to the advent of SDNs or Self Defending Networks as the latest verson in security control.

Rover Technology

INTRODUCTION

Rover Technology adds a user's location to other dimensions of system awareness, such as time, user preferences, and client device capabilities. The software architecture of Rover systems is designed to scale to large user populations.
Consider a group touring the museums in Washington, D.C. The group arrives at a registration point, where each person receives a handheld device with audio, video, and wireless communication capabilities. an off-the-shelf PDA available in the market today. A wireless-based system tracks the location of these devices and presents relevant information about displayed objects as the user moves through the museum. Users can query their devices for maps and optimal routes to objects of interest. They can also use the devices to reserve and purchase tickets to museum events later in the day. The group leader can send messages to coordinate group activities.

The part of this system that automatically tailors information and services to a mobile user's location is the basis for location-aware computing. This computing paradigm augments the more traditional dimensions of system awareness, such as time-, user-, and device-awareness. All the technology components to realize location-aware computing are available in the marketplace today. What has hindered the widespread deployment of location-based systems is the lack of an integration architecture that scales with user populations.

ROVER ARCHITECTURE
Rover technology tracks the location of system users and dynamically configures application-level information to different link-layer technologies and client-device capabilities. A Rover system represents a single domain of administrative control, managed and moderated by a Rover controller. Figure 1_ shows a large application domain partitioned into multiple administrative domains, each with its own Rover system - much like the Internet's Domain Name System" 2

End users interact with the system through Rover client devices- typically wireless handheld units with varying capabilities for processing, memory and storage, graphics and display, and network interfaces. Rover maintains a profile for each device, identifying its capabilities and configuring content accordingly. Rover also maintains end-user profiles, defining specific user interests and serving content tailored to them.
A wireless access infrastructure provides connectivity to the Rover clients. In the current implementation, we have defined a technique to determine location based on certain properties of the wireless access infrastructure. Although Rover can leverage such properties of specific air interfaces,1 its location management technique is not tied to a particular wireless technology. Moreover, different wireless interfaces can coexist in a single Rover system or in different domains of a multi-Rover system. Software radio technology3 offers a way to integrate the different interfaces into a single device. This would allow the device to easily roam between various Rover systems, each with different wireless access technologies.
A server system implements and manages Rover's end-user services. The server system consists of five components:
The Rover controller is the system's "brain." It manages the different services that Rover clients request, scheduling and filtering the content according to the current location and the user and device profiles.

The location server is a dedicated unit that manages the client device location services within the Rover system. Alternatively, applications can use an externally available location service, such as the Global Positioning System (GPS).
The streaming-media unit manages audio and video content streamed to clients. Many of today's off-the-shelf streaming-media units can be integrated with the Rover system.

Bit Torrent

INTRODUCTION

BitTorrent is a protocol designed for transferring files. It is peer-to-peer in nature, as users connect to each other directly to send and receive portions of the file. However, there is a central server (called a tracker) which coordinates the action of all such peers. The tracker only manages connections, it does not have any knowledge of the contents of the files being distributed, and therefore a large number of users can be supported with relatively limited tracker bandwidth. The key philosophy of BitTorrent is that users should upload (transmit outbound) at the same time they are downloading (receiving inbound.) In this manner, network bandwidth is utilized as efficiently as possible. BitTorrent is designed to work better as the number of people interested in a certain file increases, in contrast to other file transfer protocols.
One analogy to describe this process might be to visualize a group of people sitting at a table. Each person at the table can both talk and listen to any other person at the table. These people are each trying to get a complete copy of a book. Person A announces that he has pages 1-10, 23, 42-50, and 75. Persons C, D, and E are each missing some of those pages that A has, and so they coordinate such that A gives them each copies of the pages he has that they are missing. Person B then announces that she has pages 11-22, 31-37, and 63-70. Persons A, D, and E tell B they would like some of her pages, so she gives them copies of the pages that she has.
The process continues around the table until everyone has announced what they have. The people at the table coordinate to swap parts of this book until everyone has everything. There is also another person at the table, who we will call 'S'. This person has a complete copy of the book, and so does not need anything sent to him. He responds with pages that no one else in the group has. At first, when everyone has just arrived, they all must talk to him to get their first set of pages. However, the people are smart enough to not all get the same pages from him. After a short while, they all have most of the book amongst themselves, even if no one person has the whole thing. In this manner, this one person can share a book that he has with many other people, without having to give a full copy to everyone that is interested. He can instead give out different parts to different people, and they will be able to share it amongst themselves. This person who we have referred to as 'S' is called a seed in the terminology of BitTorrent.
WHAT BITTORRENT DOES?
When a file is made available using HTTP, all upload cost is placed on the hosting machine. With BitTorrent, when multiple people are downloading the same file at the same time, they upload pieces of the file to each other. This redistributes the cost of upload to downloaders, (where it is often not even metered), thus making hosting a file with a potentially unlimited number of downloaders affordable. Researchers have attempted to find practical techniques to do this before. It has not been previously deployed on a large scale because the logistical and robustness problems are quite difficult. Simply figuring out which peers have what parts of the file and where they should be sent is difficult to do without incurring a huge overhead. In addition, real deployments experience very high churn rates. Peers rarely connect for more than a few hours, and frequently for only a few minutes. Finally, there is a general problem of fairness. The total download rate across all downloaders must, of mathematical necessity, be equal to the total upload rate. The strategy for allocating upload that seems most likely to make peers happy with their download rates is to make each peer's download rate be proportional to their upload rate. In practice it's very difficult to keep peer download rates from sometimes dropping to zero by chance, much less make upload and download rates be correlated.
BitTorrent Interface
BitTorrent's interface is almost the simplest possible. Users launch it by clicking on a hyperlink to the file they wish to download, and are given a standard "Save As" dialog, followed by a download progress dialog that is mostly notable for having an upload rate in addition to a download rate. This extreme ease of use has contributed greatly to BitTorrent's adoption, and may even be more important than, although it certainly complements, the performance and cost redistribution features 

Compositional Adaptation

INTRODUCTION

Interest in adaptive computing systems has increased dramatically in the past few years, and a variety of techniques now allow software to adapt dynamically to its environment. Two revolutions in the computing field are driving this development. First is the emergence of ubiquitous computing, which focuses on dissolving traditional boundaries for how, when, and where humans and computers interact. For example, mobile computing devices must adapt to variable conditions on wireless networks and conserve limited battery life. Second is the growing demand for autonomic computing, which focuses on developing systems that can manage and protect themselves with only high-level human guidance. This capability is especially important to systems such as financial networks and power grids that must survive hardware component failures and security attacks.
There are two general approaches to implementing Software adaptation. Parameter adaptation modifies program variables that determine behavior. The Internet's Transmission Control Protocol is an often-cited example: TCP adjusts its behavior by changing values that control window management and retransmissions in response to apparent network congestion. But parameter adaptation has an inherent weakness. It does not allow new algorithms and components to be added to an application after the original design and construction. It can tune parameters or direct an application to use a different existing strategy, but it cannot adopt new strategies. By contrast, compositional adaptation exchanges algorithmic or structural system components with others that improve a program's fit to its current environment. With compositional adaptation, an application can adopt new algorithms for addressing concerns that were unforeseen during development. This flexibility supports more than simple tuning of program variables or strategy selection. It enables dynamic recomposition of the software during execution-for example, to switch program components in and out of a memory-limited device or to add new behavior to deployed systems.

What is compositional adaptation?
Compositional adaptation enables software to modify its structure and behavior dynamically in response to changes in its execution environment. The complexity comes from three dimensions. First, there are more users. Now everyone, not just trained professionals, uses software. Second, there are more systems and more interactions among them. Third, there are more resources and goals.

Compositional adaptation exchanges algorithmic or structural system components with others that improve a program are fit to its current environment. It enables dynamic recomposition of the software during execution, which means it provides switching of program components in and out of a memory-limited device or to add new behavior to deployed systems.
We can classify opportunities for adaptivity into three categories:
Application-level adaptivity: A variety of mathematical models may be available to describe the science of a given problem. Some of these models may be more accurate than others but they may also have higher computational and storage requirements. A simulation code may find it advantageous to switch adaptively between such models to trade off accuracy for computational time and resources. For example, consider a chemically-reacting-flow simulation of an internal-combustion engine. Chemical reaction between the fuel and air occurs in both the intake stroke and the power stroke, but the rate of reaction during the intake stroke is so slow that the simulation can ignore the reaction during this stroke, modeling it only in the power stroke. This reduces computational requirements without affecting the accuracy of results.

Algorithm-level adaptivity: There may be many algorithms for implementing a desired functionality, and it may be advantageous to switch between algorithms to adapt to resource availability or to properties of the desired output. For example, an out-of-core sorting algorithm may use a divide-and-conquer style algorithm like merge-sort when the array size is large, and switch to an iterative, in-place sorting algorithm like insertion-sort once the size of the sub-array to be sorted becomes small enough to fit into cache. The divide-and-conquer algorithm performs better on a memory hierarchy but once the sub-array is small enough, the simple iterative algorithm is more efficient because it has lower recursive overhead.
System-level adaptivity: Fault-tolerant computers adapt to hardware failure to ensure system survival. Portable devices can change quality of service (QoS) to adapt to available resources; for example, an Internet device can display color and images when a high bandwidth connection is available, but switch to black-and-white and suppress images when bandwidth is insufficient.

Halo

INTRODUCTION

Passage of the 1996 Telecommunications Act and the slow growth of infrastructure for transacting multimedia messages (those integrating voice, text, sound, images, and video) have stimulated an intense race to deploy non-traditional infrastructure to serve businesses and consumers at affordable prices. The game is new and the playing field is more level than ever before. Opportunities exist for entrepreneurs to challenge the market dominance enjoyed for years by incumbents. New types of service providers will emerge.
An electronic "information fabric" of a quilted character-including space, atmospheric, and terrestrial data communications layers-will emerge that promises to someday link every digital information device on the planet. Packet-switched data networks will meld with connection-oriented telephony networks. Communications infrastructures will be shared more efficiently among users to offer dramatic reductions in cost and large increases of effective data rates. An era of inexpensive bandwidth has begun which will transform the nature of commerce.
The convergence of innovative technologies and manufacturing capabilities affecting aviation, millimeter wave wireless, and multi-media communications industries enables Angel Technologies Corporation and its partners to pursue new wireless broadband communications services. The HALO™ Network will offer ubiquitous access to any subscriber within a "super metropolitan area" from an aircraft operating at high altitude. The aircraft will serve as the hub of the HALO™ Network serving tens to hundreds of thousands of subscribers. Each subscriber will be able to communicate at multi-megabit per second data rates through a simple-to-install subscriber unit. The HALO™ Network will be steadily evolved at a pace with the emergence of data communications technology world-wide. The HALO™ Network will be a universal wireless communications network solution. It will be deployed globally on a city-by-city basis.

Wireless Broadband Communications Market
There are various facts that show the strong interest in wireless communications in the United States:
" 50 million subscribers to wireless telephone service
" 28 million dollars annual revenue for wireless services
" 38,000 cell sites with 37 billion dollars cumulative capital investment
" 40% annual growth in customers
" 25 million personal computers sold each year
" 50 million PC users with Internet access
"The demand for Internet services is exploding and this creates a strong demand for broadband, high data rate service. It is expected that there will soon be a worldwide demand for Internet service in the hundreds of millions". (Lou Gerstner, IBM, April 1997) The growth in use of the World Wide Web and electronic commerce will stimulate demand for broadband services.

Broadband Wireless Metropolitan Area NetworkAn airplane specially designed for high altitude flight with a payload capacity of approximately one ton is being developed for commercial wireless services. It will circle at high altitudes for extended periods of time and it will serve as a stable platform from which broadband communications services will be offered. The High Altitude Long Operation (HALO™) Aircraft will maintain station at an altitude of 52 to 60 thousand feet by flying in a circle with a diameter of about 5 to 8 nautical miles. Three successive shifts on station of 8 hours each can provide continuous coverage of an area for 24 hours per day, 7 days per week. Such a system can provide broadband multimedia communications to the general public.

Real Time Application Interface


INTRODUCTION

A real time system can be defined as a "system capable of guaranteeing timing requirements of the processes under its control".
The RTAI plug-in should help Linux to fulfill some real time constraints (few milliseconds deadline, no event loss). It is based on a RTHAL: Real Time Hardware Abstraction Layer. This concept is also known in Windows NT.
The HAL exports some Linux data & functions close related to HW. RTAI modifies them to get control over the HW platform. That allows RTAI real time tasks to run concurrently with Linux processes. The HAL defines a clear I/F between RTAI & Linux.
1.1 OS requirements summary
Generally speaking, we would like Software components to rely on a platform offering both real time support and "standard" general purpose API.
The Platform needs a real-time executive (small footprint, deadline fulfillment, ... ) and a comprehensive OS for Applications ( NT, UNIX, Linux, ... ).
The market place already offers products for:
" NT OS: real time extensions like Radisys' Intime or VenturCom's RTX
" UNIX : micro kernel based technologies natively supporting real time and rich UNIX like API's.


The Linux OS exports the same application service level but suffers from a lack of real time support. Fortunately some options are foreseen:
" Native real time support in Linux : does not seem the Main stream of Linux.
" Linux Modifications for real time constraints (KURT): no outstanding background.
" Linux and real time sharing resources ( L4Linux) : experimental project.
" Linux as a task of a real time executive: RTLinux, RTAI, eCos, Nucleus, ...

"Linux as a task of a real time executive" is maturing today. RTLinux is a better known solution. RTAI , now requires a closer look and justifies this presentation.
1.2 A little bit of ... Linux kernel core
Linux, like other OS, offers to the Applications at least the following services:
" HW management layer dealing with event polling or Processor/peripheral Interrupts
" Scheduler classes dealing with process activation, priorities, time slice, soft real-time
" Communications means among Applications (at least FIFO).
" Hardware Interrupts are served by handlers. On Intel machine the handler addresses are store in the Interrupt Descriptor Table (IDT)...but it is still possible to pool interrupt peripherals.
The Linux current releases offer some soft-real time capabilities, but neither guaranties hard deadline nor prevents event loss.

1.3 A little bit of ... RTAI
RTAI is such a small proprietary (see note 1) executive, still under development at DIAMP (Dipartimento di Ingegneria Aerospaziale del Politecnico di Milano) by Paolo Mantegazza's team . It offers some services related to:
" HW management layer dealing with peripherals
" Scheduler classes dealing with tasks, priorities, hard real-time
" Communications means among tasks & processes (at least FIFO).

RTAI real time entities are simple mono-thread tasks whereas Linux applications are full features (mono or multi threads) processes. RTAI is basically an Interrupt dispatcher. The Intel processor interrupts (0..31) are still managed by Linux. RTAI mainly traps the peripherals ISA IT's and if necessary re-routes them to Linux (e.g.: disk IT). It is also able to manage other kind of ITs.
It supports, like Linux, both SMP (Symmetric Multi Processor) and UP (Uni-Processor) Architecture. From a real time point of view, it is quite similar to RTLinux.

Whereas RTLinux is an intrusive modification of the kernel, RTAI uses the concept of HAL to get information from Linux and to trap some fundamental functions.
This HAL provides few dependencies to Linux Kernel. This leads to:
" Simple adaptation in Linux Kernel
" Easy RTAI port from version to version of Linux
" Easier use of other Oses instead of RTAI


Rain Technology

NTRODUCTION

Rainfinity's technology originated in a research project at the California Institute of Technology (Caltech), in collaboration with NASA's Jet Propulsion Laboratory and the Defense Advanced Research Projects Agency (DARPA). The name of the original research project was RAIN, which stands for Reliable Array of Independent Nodes. The goal of the RAIN project was to identify key software building blocks for creating reliable distributed applications using off-the-shelf hardware. The focus of the research was on high-performance, fault-tolerant and portable clustering technology for space-borne computing. Two important assumptions were made, and these two assumptions reflect the differentiations between RAIN and a number of existing solutions both in the industry and in academia:
1. The most general share-nothing model is assumed. There is no shared storage accessible from all computing nodes. The only way for the computing nodes to share state is to communicate via a network. This differentiates RAIN technology from existing back-end server clustering solutions such as SUNcluster, HP MC Serviceguard or Microsoft Cluster Server.
2. The distributed application is not an isolated system. The distributed protocols interact closely with existing networking protocols so that a RAIN cluster is able to interact with the environment. Specifically, technological modules were created to handle high-volume network-based transactions. This differentiates it from traditional distributed computing projects such as Beowulf.

In short, the RAIN project intended to marry distributed computing with networking protocols. It became obvious that RAIN technology was well-suited for Internet applications. During the RAIN project, key components were built to fulfill this vision. A patent was filed and granted for the RAIN technology. Rainfinity was spun off from Caltech in 1998, and the company has exclusive intellectual property rights to the RAIN technology. After the formation of the company, the RAIN technology has been further augmented, and additional patents have been filed.
The guiding concepts that shaped the architecture are as follows:
1. Network Applications

The architecture goals for clustering data network applications are different from clustering data storage applications. Similar goals apply in the telecom environment that provides the Internet backbone infrastructure, due to the nature of applications and services being clustered.

2. Shared-Nothing
The shared-storage cluster is the most widely used for database and application servers that store persistent data on disks. This type of cluster typically focuses on the availability of the database or application service, rather than performance. Recovery from failover is generally slow, because restoring application access to disk-based data takes minutes or longer, not seconds. Telecom servers deployed at the edge of the network are often diskless, keeping data in memory for performance reasons, and tolerate low failover time. Therefore, a new type of share-nothing cluster with rapid failure detection and recovery is required. The only way for the shared-nothing cluster to share is to communicate via the network.
3. Scalability
While the high-availability cluster focuses on recovery from unplanned and planned downtimes, this new type of cluster must also be able to maximize I/O performance by load balancing across multiple computing nodes. Linear scalability with network throughput is important. In order to maximize the total throughput, load load-balancing decisions must be made dynamically by measuring the current capacity of each computing node in real-time. Static hashing does not guarantee
an even distribution of traffic.

4. Peer-to-Peer
A dispatcher-based, master-slave cluster architecture suffers from scalability by introducing a potential bottleneck. A peer-to-peer cluster architecture is more suitable for latency-sensitive data network applications processing shortlived sessions. A hybrid architecture should be considered to offset the need for more control over resource management. For example, a cluster can assign multiple authoritative computing nodes that process traffic in the round-robin order for each network interface that is clustered to reduce the overhead of traffic forwarding

Biological Computing

INTRODUCTION

Biological computers have emerged as an interdisciplinary field that draws together molecular biology, chemistry, computer science and mathematics. The highly predictable hybridization chemistry of DNA, the ability to completely control the length and content of oligonucleotides, and the wealth of enzymes available for modification of the DNA, make the use of nucleic acids an attractive candidate for all of these nanoscale applications
A 'DNA computer' has been used for the first time to find the only correct answer from over a million possible solutions to a computational problem. Leonard Adleman of the University of Southern California in the US and colleagues used different strands of DNA to represent the 20 variables in their problem, which could be the most complex task ever solved without a conventional computer. The researchers believe that the complexity of the structure of biological molecules could allow DNA computers to outperform their electronic counterparts in future.
Scientists have previously used DNA computers to crack computational problems with up to nine variables, which involves selecting the correct answer from 512 possible solutions. But now Adleman's team has shown that a similar technique can solve a problem with 20 variables, which has 220 - or 1 048 576 - possible solutions.
Adleman and colleagues chose an 'exponential time' problem, in which each extra variable doubles the amount of computation needed. This is known as an NP-complete problem, and is notoriously difficult to solve for a large number of variables. Other NP-complete problems include the 'travelling salesman' problem - in which a salesman has to find the shortest route between a number of cities - and the calculation of interactions between many atoms or molecules.
Adleman and co-workers expressed their problem as a string of 24 'clauses', each of which specified a certain combination of 'true' and 'false' for three of the 20 variables. The team then assigned two short strands of specially encoded DNA to all 20 variables, representing 'true' and 'false' for each one.

In the experiment, each of the 24 clauses is represented by a gel-filled glass cell. The strands of DNA corresponding to the variables - and their 'true' or 'false' state - in each clause were then placed in the cells.
Each of the possible 1,048,576 solutions were then represented by much longer strands of specially encoded DNA, which Adleman's team added to the first cell. If a long strand had a 'subsequence' that complemented all three short strands, it bound to them. But otherwise it passed through the cell.
To move on to the second clause of the formula, a fresh set of long strands was sent into the second cell, which trapped any long strand with a 'subsequence' complementary to all three of its short strands. This process was repeated until a complete set of long strands had been added to all 24 cells, corresponding to the 24 clauses. The long strands captured in the cells were collected at the end of the experiment, and these represented the solution to the problem.
THE WORLD'S SMALLEST COMPUTER
The world's smallest computer (around a trillion can fit in a drop of water) might one day go on record again as the tiniest medical kit. Made entirely of biological molecules, this computer was successfully programmed to identify - in a test tube - changes in the balance of molecules in the body that indicate the presence of certain cancers, to diagnose the type of cancer, and to react by producing a drug molecule to fight the cancer cells.

DOCTOR IN A CELL
In previous biological computers produced input, output and "software" are all composed of DNA, the material of genes, while DNA-manipulating enzymes are used as "hardware." The newest version's input apparatus is designed to assess concentrations of specific RNA molecules, which may be overproduced or under produced, depending on the type of cancer. Using pre-programmed medical knowledge, the computer then makes its diagnosis based on the detected RNA levels. In response to a cancer diagnosis, the output unit of the computer can initiate the controlled release of a single-stranded DNA molecule that is known to interfere with the cancer cell's activities, causing it to self-destruct. 

3D Searching

Definition

From computer-aided design (CAD) drawings of complex engineering parts to digital representations of proteins and complex molecules, an increasing amount of 3D information is making its way onto the Web and into corporate databases.
Because of this, users need ways to store, index, and search this information. Typical Web-searching approaches, such as Google's, can't do this. Even for 2D images, they generally search only the textual parts of a file, noted Greg Notess, editor of the online Search Engine Showdown newsletter.

However, researchers at universities such as Purdue and Princeton have begun developing search engines that can mine catalogs of 3D objects, such as airplane parts, by looking for physical, not textual, attributes. Users formulate a query by using a drawing application to sketch what they are looking for or by selecting a similar object from a catalog of images. The search engine then finds the items they want. The company must make it again, wasting valuable time and money

3D SEARCHING

Advances in computing power combined with interactive modeling software, which lets users create images as queries for searches, have made 3Dsearch technology possible.
Methodology used involves the following steps
" Query formulation
" Search process
" Search result


QUERY FORMULATION
True 3D search systems offer two principal ways to formulate a query: Users can select objects from a catalog of images based on product groupings, such as gears or sofas; or they can utilize a drawing program to create a picture of the object they are looking for. or example, Princeton's 3D search engine uses an application to let users draw a 2D or 3D representation of the object they want to find.

The above picture shows the query interface of a 3D search system.

SEARCH PROCESS
The 3D-search system uses algorithms to convert the selected or drawn image-based query into a mathematical model that describes the features of the object being sought. This converts drawings and objects into a form that computers can work with. The search system then compares the mathematical description of the drawn or selected object to those of 3D objects stored in a database, looking for similarities in the described features.
The key to the way computer programs look for 3D objects is the voxel (volume pixel). A voxel is a set of graphical data-such as position, color, and density-that defines the smallest cubeshaped building block of a 3D image. Computers can display 3D images only in two dimensions. To do this, 3D rendering software takes an object and slices it into 2D cross sections. The cross sections consist of pixels (picture elements), which are single points in a 2D image. To render the 3D image on a 2D screen, the computer determines how to display the 2D cross sections stacked on top of each other, using the applicable interpixel and interslice distances to position them properly. The computer interpolates data to fill in interslice gaps and create a solid image.

Fuel Cell

A fuel cell is a device that uses hydrogen (or hydrogen-rich fuel) and oxygen to create electricity by an electrochemical process. If pure hydrogen is used as a fuel, fuel cells emit only heat and water as a by-product. Several fuel cell types are under development, and they have a variety of potential applications. Fuel cells are being developed to power passenger vehicles, commercial buildings, homes, and even small devices such as laptop computers.
What Is A Fuel Cell?
In principle, a fuel cell operates like a battery. Unlike a battery, a fuel cell does not run down or require recharging. It will produce energy in the form of electricity and heat as long as fuel is supplied.
A fuel cell consists of two electrodes sandwiched around an electrolyte. Oxygen passes over one electrode and hydrogen over the other, generating electricity, water and heat.
Hydrogen fuel is fed into the "anode" of the fuel cell. Oxygen (or air) enters the fuel cell through the cathode. Encouraged by a catalyst, the hydrogen atom splits into a proton and an electron, which take different paths to the cathode. The proton passes through the electrolyte. The electrons create a separate current that can be utilized before they return to the cathode, to be reunited with the hydrogen and oxygen in a molecule of water.

Formula One Car!!!

Car racing is one of the most technologically advanced sports in the world today. Race Cars are the most sophisticated vehicles that we see in common use. It features exotic, high-speed, open-wheel cars racing all around the world. The racing teams have to create cars that are flexible enough to run under all conditions. This level of diversity makes a season of F1 car racing incredibly exciting. The teams have to completely revise the aerodynamic package, the suspension settings, and lots of other parameters on their cars for each race, and the drivers have to be extremely agile to handle all of the different conditions they face. Their carbon fiber bodies, incredible engines, advanced aerodynamics and intelligent electronics make each car a high-speed research lab. A F1 Car runs at speeds up to 240 mph, the driver experiences G-forces and copes with incoming data so quickly that it makes  Car driving one of the most demanding professions in the sporting world.  F1 car is an amazing machine that pushes the physical limitations of automotive engineering. On the track, the driver shows off his professional skills by directing around an oval track at speeds
Formula One Grand Prix racing is a glamorous sport where a fraction of a second can mean the difference between bursting open the bubbly and struggling to get sponsors for the next season's competition. To gain those extra milliseconds, all the top racing teams have turned to increasingly sophisticated network technology. 
Much more money is spent in F1 these days. This results highest tech cars. The teams are huge and they often fabricate their entire racers. F1's audience has grown tremendously throughout the rest of the world. .
In an average street car equipped with air bags and seatbelts, occupants are protected during 35-mph crashes into a concrete barrier. But at 180 mph, both the car and the driver have more than 25 times more energy. All of this energy has to be absorbed in order to bring the car to a stop. This is an incredible challenge, but the cars usually handle it surprisingly well
F1 Car driving is a demanding sport that requires precision, incredibly fast reflexes and endurance from the driver. A driver's heart rate typically averages 160 beats per minute throughout the entire race. During a 5-G turn, a driver's arm -- which normally weighs perhaps 20 pounds -- weighs the equivalent of 100 pounds. One thing that the G forces require is constant training in the weight room. Drivers work especially on muscles in the neck, shoulders, arms and torso so that they have the strength to work against the Gs. Drivers also work a great deal on stamina, because they have to be able to perform throughout a three-hour race without rest.  One thing that is known about F1 Car drivers is that they have extremely quick reflexes and reaction times compared to the norm. They also have extremely good levels of concentration and long attention spans. Training, both on and off the track, can further develop these skills.

Saturday, December 5, 2009

Cryptography

            The earliest forms of secret writing required little more than local pen and paper analogs, as most people could not read. More literacy, or literate opponents, required actual cryptography. The main classical cipher types are transposition ciphers, which rearrange the order of letters in a message (e.g., 'hello world' becomes 'ehlol owrdl' in a trivially simple rearrangement scheme), and substitution ciphers, which systematically replace letters or groups of letters with other letters or groups of letters (e.g., 'fly at once' becomes 'gmz bu podf' by replacing each letter with the one following it in the Latin alphabet). Simple versions of either offered little confidentiality from enterprising opponents, and still don't. An early substitution cipher was the Caesar cipher, in which each letter in the plaintext was replaced by a letter some fixed number of positions further down the alphabet. It was named after Julius Caesar who is reported to have used it, with a shift of 3, to communicate with his generals during his military campaigns, just like EXCESS-3 code in boolean algebra. There is record of several early Hebrew ciphers as well.

The Ancient Greek scytale (rhymes with Italy), probably much like this modern reconstruction, may have been one of the earliest devices used to implement a cipher.
The earliest known use of cryptography is some carved ciphertext on stone in Egypt (ca 1900 BCE), but this may have been done for the amusement of literate observers. The next oldest is bakery recipes from Mesopotamia.

Ubuntu 10.04 (Lucid) Alpha 1 Releasing On Dec 10

 
The next version of Ubuntu will be out sometime in April next year. But for those of you who can't wait any more, the Alpha version is all set for release on 10 December 2009. You can download the software and help the Ubuntu team remove the glitches and improve the latest version. If you are planning to help with the testing, start syncing your Lucid images today. To sync your images, you can use the rsync URLS at http://cdimage.ubuntu.com, according to Ubuntugeek.com.
 
 

Wednesday, December 2, 2009

Different PDC (Professional Developers Conference)

It ended up being a somewhat different PDC (Professional Developers Conference) than we had anticipated, and even, to a certain extent, than we were led to believe. Maybe this was due in part to a little intentional misdirection to help generate surprise, but in the end, the big stories here in Los Angeles last week were more evolutionary than revolutionary. That was actually quite all right with attendees I spoke with, most of whom are just fine with one less thing to turn their worlds upside down. It's tough enough for many of these good people to hold onto their jobs every week.

We'll start our conference wrap-up with a look at the flashpoints (remind me to call Score Productions for a jingle to go with that) we talked about at the beginning of the week, and we'll follow up with the topic that crept in under the radar when we weren't expecting.

Making up for UAC, or, Making Windows 7 Seem Less Like Vista

This was absolutely the theme of "Day 0," which featured the day-long workshops. At this point, Windows engineers have absolutely no problem with the notion of disowning Vista, disavowing it, even though it was technically a stairstep toward making Windows 7 possible. But it is now perfectly permissible to acknowledge the performance hardships Vista faced and let go of the past in order to move forward.

Mark Russinovich leads the way in this department, and the fact that he's appreciated leads others to follow suit. During his annual talk on "Kernel Improvements" -- which he expanded this year to a two-parter -- Russinovich spoke about the way that the timing of Windows' response to user interactions was adjusted to give the user more reassurance that something was happening, rather than the sinking suspicion that nothing was happening.



In an explanation of a user telemetry service he helped get off the ground called "PerfTrack," he told attendees, "We went through and found roughly 300 places in the system where you interact with something, and there's a beginning and then an end where you go, 'Okay, that's done,' and optimized the performance of those user-visible interactions. We instrumented those begin-and-ends with data points, which collects timing information and sends that up to a Web service ... and for each one of these interactions, we define what's considered 'great' performance, what's considered 'OK' performance, and what's considered Vista -- I mean, uh, 'bad,'" he explained, with a little grin afterward that appeared borrowed from Jay Leno. "And then if we end up in that 'OK' or 'bad,' what we do is, selectively turn on more instrumentation using ETW [Event Tracing for Windows] -- instrumentation of file accesses, registry activity, context switches, page faults -- and then we collect that information from a sampling of customer machines that are showing that kind of behavior.



"We feed that back to the product teams, they go analyze those and figure out, 'Why is their component sluggish in those scenarios?' and optimize that."

One of the results he demonstrated, shown here in this pair of charts, shows the number of user-reported instances of Start menu lag time leaning more toward the quick side than the slow side of the chart, between two builds of the Windows 7 beta.

The fact that performance matters was one of the key themes of PDC 2009, and attendees greeted that message with enthusiasm -- or, maybe more accurately, with appreciation that the company had finally received the message. But there are still lessons to be learned here that can be applied to other product areas, if anybody out there is listening.



Why Windows Azure?

The major theme of Day 1 was the ability to scale services up -- scaling local services up to the data center, and data center services up (or down, depending on your application) to Microsoft's (Nasdaq: MSFT) cloud provider, Windows Azure.



Last year at this time, Microsoft went to bat with essentially nothing -- no real definition of an Azure application, no clear understanding of who the customers will be, and absolutely no clue as to the business model. But now we know that services will be rendered on a utility basis like Amazon (Nasdaq: AMZN) EC2, and we have a much clearer concept of the customer groups Azure will address. One is the small business that has never before considered data center applications ; another is the class of customer that needs to plan for exceptional capacity traffic during unusual situations, but can't afford to maintain that high capacity 24/7; and the third is the big customer building a new class of application that has never before been considered on any platform.



Channeling customers to Microsoft's cloud will be "Dallas," its code name for large-capacity data bank services typically open for mining by the general public, which should eventually be given a typically Microsoft-sounding name; and AppFabric, the company's new mix-and-match component applications system built on the IIS 7 platform. But in neither of these cases is Microsoft particularly inventing the wheel, and as I heard from a plurality of attendees this week, Microsoft's entering another crowded field of contenders (including SalesForce.com and IBM) where competition has already been saturated. Success in this venture is by no means assured.



What Will Office Web Apps Do?

Less than we once thought, apparently. The extent to which you can view "rich content" created with real Office applications, in Office Web Apps, apparently remains strong. But since O Web will be free to everyone (for sensible reasons), the ability to create the same depth of rich content online will be artificially limited.



Since many businesses utilize Excel as a type of database, or as a window into their databases elsewhere, this means the utility of that product online will be most restricted. Word may suffer the least, however, as the need to compose respectable looking correspondence from anywhere one happens to be is a pressing need that Word Web App can easily fulfill.



Making the Case for Office 2010

We expected Microsoft Office to be the star of Wednesday's keynote, with demos of new functionality that, if it wasn't major, would at least have been advertised as fresh and new. It was not to be. Although we did have an opportunity to speak with an Office product manager, the message Microsoft was sending this year was very different.



In the past, folks used to ask why a consumer applications suite was being prominently featured at a conference geared towards developers. The answer from Microsoft typically was, because Office is a platform, and developers build to platforms. The message Microsoft sent this year was that Office was not a platform. And that's a problem, because if that's true, there's no conference for Office. The excuse for the lack of Windows Mobile news was that it was a topic for MIX, the conference for Web developers set for next spring in Las Vegas.



So does Office wait for TechEd? All of a sudden, this major profit center seems homeless.



There was a little buzz devoted to something called the "Outlook Social Connector" plug-in, a new tool for integrating individuals' social media contacts within Office's communications app. Deals with social network hosts such as LinkedIn were announced. In one respect, that does address consumer concerns; in another, it's a little ironic. Here we have a situation where people take the time to broadcast their identities over multiple social services on purposes as a way to spread out ... only to discover the need for a kind of "identity vacuum" to pull them back in again to one cohesive chord.



What we did see from the Office 2010 public beta (released Monday, then released Tuesday, then "launched" Wednesday) let us know that if Microsoft truly is listening to its customers and acting on their telemetry, then the word they're saying most often must be, "Whoa!"

During the Technical Preview phase, Microsoft unveiled its BackStage concept -- a way of organizing all the preparatory content of an application, such as print preview and preferences, in a more dimly-lit, cooler arrangement, making you almost want to whisper when you talk about it. The screenshot above shows BackStage in the Excel 2010 Technical Preview.

This is the same BackStage in Excel 2010 Beta 1. It's more conservative in several obvious regards, including the staging. But notice also something very important: The "Office button," which premiered in Office 2007 and which flattened down to become an icon menu tab in the Tech Preview, has now returned to being the File menu. If customers have been asking, "Where's File/Save?" then you have to wonder when they started asking, and how long they've been at it.



The new flavor of Visual Studio is already the old flavor. When you're dealing with a development platform unto itself, the beta version is often -- unofficially but certainly -- the working edition for many developers, and VS 2010 is already on Beta 2 now. More than one session presenter this week asked for shows of hands as to how many folks were already using Beta 2 as their development platform -- and in each case, a majority of everyone's hands were raised.



Will virtualization envelop Windows? Hell if I know. One of the hottest topics of prior conferences was something of a dud this year, and that's not good for a company that is actually behind in its ability to virtualize 64-bit platforms on 32-bit systems -- a feature Sun's VirtualBox and VMware (NYSE: VMW) already provide. But once the problem of absence of live migration in Hyper-V was kicked, virtualization took something of a breather this year, though it wasn't off the radar altogether.



The Push Toward Online Identity

Indeed, this ended up being the wildcard topic of the show. The principal security and architectural problem faced not only by developers but administrators as well, is enabling a secure single sign-on platform for local and remote applications. With multiple vendors supporting even more authentication protocols than there are vendors -- or so it appears -- this goal would seem impossible to achieve.



Microsoft is working to address this in its upcoming Windows Identity Foundation library, which will require the push of Active Directory Federation Services 2.0 -- a way to get AD out there to servers that aren't Windows. But just getting all hosted apps vendors on-board with AD is a colossal task, made more difficult by a "competitive" spirit among application and security vendors that works against the very spirit of communication and federation they need to accomplish the goal of common identity. We will be talking more about this in the coming days, because we learned a lot about this from PDC.

Now, there's something I'm missing. Yes, Scott Guthrie, I know I missed you in my list of headliners ... and I'm sorry, it was inadvertent, and I apologize. Though I do know Brian Goldfarb gave you heck about it. But there's something else, let's see, I'm trying to recall .. help me out, Brian ...

Oh, thank you, Scott, much obliged. Silverlight 4. This one should have been on our radar for certain. Silverlight stole the show on Wednesday, and was much of the talk among developers on Thursday. The new version will provide 1080p video, which everyone wanted. And it will provide authenticated access to system services outside the sandbox, which everyone wants.

If Office Web Apps were to run on Silverlight 4, you would get access to the right-click context menu -- a critical feature of regular Office 2007 and Office 2010 that's difficult to make up for with the ribbon alone. S4's access to system devices will make it feasible for developers to craft iTunes-like smartphone applications for devices that are tethered to PCs ... and maybe even devices running on smartphones themselves, and not just Windows Phones.

Which reminds me, there was that one Guthrie demo Wednesday that bit the bottom of the bit bucket, with that cool-looking phone. Did anyone ever make that work ... Brian Goldfarb to the rescue once again. Yes, it is indeed possible to perform adaptive streaming of movies to the iPhone using Silverlight. We talked at length with Goldfarb, and here's a preview of coming attractions:

"We've worked with Apple (Nasdaq: AAPL) to create a server-side-based solution with IIS Media Services, and what we're doing is taking content that's encoded for smooth streaming and enabling the content owner to say, 'I want to enable the iPhone.'"

It was certainly more of an evolutionary than a revolutionary tone at this year's PDC, but attendees seemed comfortable with that this time around. Here was one strange phenomenon we've never noticed before: Attendance increased with later days. Wednesday attendance was noticeably higher for sessions and the keynote than for the previous day, and that was despite news of the big laptop giveaway being kept under lock and key. And Thursday -- which has often been a day for "leftovers" -- ended up being packed as well, including with attendees who brought those shiny new Acer multitouch laptops with them.

Now there's something that hasn't been touched on: Acer. Think about that for a moment. This is the same company that publicly dissed Vista in 2006 for being a non-event for consumers, practically leading the wave for the complaints that were to follow. And here it is lending its name to an event that not only promotes Windows 7, but prototypes its proper use (from Microsoft's perspective) in all computing. Microsoft let Acer show everyone else how quick bootup and clean performance are supposed to be done.

That's the biggest indicator of Lessons Learned we saw all week.