Archive for the ‘Technology Directions’ Category

Notable Tech Start-ups

December 9, 2008

1. Advanced track & trace – marking & tracking – allows companies to verify whether their shhipments are where they are supposed to be in real time. Company’s vector seal technology stamps each product package with a unique, digitally created ID mark and track it via scanners during its entire journey to the end user. Codes are stamped in visible and hidden form on packages to prevent thieves from repacking fake goods in the original containers
2. Brightcover – Online video platform empowering video producers and programmers to build broadband businesses while giving viewers more choices and control over their use of video and television. It is a SaaS business model and I presume it is similar to IPTV franchisee model pioneered by Indian Govt telco operators
3. Etsy – online handmade market place where everyone from professional artists to occassional crafters can sell their wares
4. Gameforge – independent supplier of browser and client based MMOG (massively multiplayer online games). It offers more than 12 games in over 50 languages. OGame a strategic space simulation game with thousands of players across the world is one of the best known browswer-based MMOG
5. JiGrahak’s ngpay mass market mobile commerce service. It offers mobile banking services to bank’s customers
6. Mint.com – free web application that allows users to automatically track and analyze their financial transactions, set budgets and even send balance updates in text messages to cell phones. Once the user register using valid email address, it securely downloads transaction data from more than 7500 US financial institutions on a daily basis. Users never need to import or synch their financial information. Provides a unified view of all account activity, alert users to low balances, bank fees, upcoming bills, and even potentially suspicious account activity and give users personalized suggestions for significant savings opportunities (would this be similar to SSO client that can log into different bank accounts and summarize information?)
7. mPedigree – allows consumers to instantly verify the source of pharmaceuticals at no cast at the point of purchase using mobile phones. Service is free for users, drug manufacturers pay for the text messages.
8. Nivio – first online windows desktop. This allows a full virtual windows desktop that can be accessed through any internet connected to the computer/internet connected device. Developed an online service bundled with a device – small, affordable ($100) which can be substituted as a CPU. One need to buy a monitor, mouse, keyboard and device that substitutes a CPU. All data is tored on the Internet in the virtual environment.
9. Qifang – using P2P lending, helps poor students find funding for higher education. It has launched an online, P2P lending service that gives students means to find friends, employers, or philanthropists willing to help fund their educational goals. (Similar to “Varanna” in olden days. P2P lending can be extended for raising funds for NGOs)
10. Slide Inc – online personal media network. Enables users to create photos and videos in slides.com as well as view them on web or desktop. Also operates as an application provider on Facebook
11. SpinVox – new category of communications called Voice-to-Screen. Provides products to capture spoken messages, convert them to text, and deliver the message to a desitnation or group of destination.
12. Tideway systems – provides data center search software that continuously consumes and transforms IT data into intelligence, including identifying applicaiton software components and inter-relationships and mapping them to physical and virtual infrasturcture
13. Ubiquisys – provides zonegate femtocell system, a small plug-and-play device that plugs into home or office broadband connection and provides 3G coverage in the home and office.

Software on Multicore Processors

February 15, 2008

Now it is the turn of the chip makers to propose Open System Interconnect (OSI) kind of layered architecture for programming on the chips. AMD seeing the need for the software programmer to think differently for parallel programming on the multi-core hardwares, is putting together an industry consortium for defining such a layered architecture on the multi core processors. Looks like this kind of hardware abstraction is slowly catching up with the industry. Some of the earlier initiatives are, Nortel’s versatile service engine (VSE) on the ATCA platform from Motorola, Android of Google for handset etc.

As per AMD, the new computer stack could include run-time environment above the operating system. This environment could have scheduling, synchronizing and utilities to manage the chip-level resources for the applications programmers. Below the operating system virtualization software could be extended to better track and correct programming errors. Oh! this is definitely a good way forward but as always the layer architecture introduces increased memory management issues (like which layer is responsible for creating/releasing the memory resources) and also to some extentent degrades the performance (because of many procedure calls).

Now here there are two concepts are brought together – one on creating virtualization (which I guess this is gaining traction because of on-demand business model popularity) and creating stack on this virtualization. Just wondering why go for new kind of stack, won’t the POSIX (portable operating system interface) APIs defined by IEEE for the Unix, be extended to support such a stack?  As per Wiki (http://en.wikipedia.org/wiki/POSIX), many popular operating systems already are fully/partially POSIX compliant. I think extending these API also to support other operating systems and multi core processors should be fairly straight forward.

http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=206503988

Looks like Microsoft is beeing wooed by both Intel and AMD to make the software gaint to support the multi core processors in its software. Even though AMD is still talking on this, Intel has made definite attempt by funding a project in University of California at Berkeley to define a parallel programming model. This project is suppose to take a lead role in defineing the programming model what serve the multicore computer processors. Currently most of the software works on the serial programming model and all the programs access the hardware resources in round-robin fashion or based on priority of the operations that that program is handling. However there are some efforts in which if the server has more than one CPU, then it was possible to restrict some programs (like database process) to access only a subset of the total CPUs available in the server.

Even though there is so much of hype on the model for parallel programming, I am not sure whether these efforts are already underway in telecom equipment providers lab as they have been constantly working on improving the price-performance ratio. I remember Nortel had some kind of initiative on the multicore processors way back in 2001. At that time, Nortel re-modeled its software to take advantage of the multicore processor architecture. However may be due to IPR reason that model never came into the public domain and common software programmers couldn’t learn from such model.

However if a server has heterogeneous set of processors (say some from Intel, AMD and from Sun), then how can these processors provide a unified view to the software? University of California has already published a report on such an effort which can be accessed from http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-183.html. Some of the key points that I noticed are:

- evolutionary approach to parallel hardware and software may work from 2 or 8 processor systems, but is likely to face diminishing returns as 16 and 32 processor systems are realized, just as returns fell with greater instruction-level parallelism.

- Design patterns or Dwarfs defined on how parallel programming to be handled (it is now important to start putting together all the patterns available in computer science be it at the hardware level, OS kernel level or on the applications level)

- Compilers to do more for the programmers. This may be to take care of the heterogeneous set of processors involved in the computation

- Performance to be measured through performance counter (number of million insturction per second per core?) as well as energy counters (MIPS per watt?). Now for a software programmer, how can he controll the energy counter? is it that he will have to achieve the functionality with less number of instructions but won’t this again go back to the traditional performance benchmarking?

- virtualization – i.e., deconstruct the traditional operating systems and orchestrate OS functionality using libraries

Nokia Maps2.0 v/s Google Android

February 12, 2008

http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=206401585
Nokia having dominant market share of 40% in mobile handset market is feeling threatened from the Google’s Android platform. This is evident from Nokia senior executives talks in the Mobile World Congress. According to them, Nokia’s ‘context aware Internet’ – Maps 2.0 that combines multimedia features, internet and assisted GPS. The GPS would add the context such as time, place and people which is currently not available in the Internet (but content aware and cookies base context is still available in the current Internet). So the point that I liked was, when someone takes a picture, GPS adds the metadata along with the picture. Statement ‘location no longer an application but becomes part of fabric’ is interesting. But to make it as fabric, GPS based system will have to be widely deployed and all the appliances/applications will have to GPS aware. Isn’t this too much to ask for? What would be implication of the same on the privacy and on the national security?

But their opinion on Android like ‘it is lot of engineer’s work as they will have to develop an extensive hardware abstraction layer’ is very much true and I guess Android may have many phases/releases supporting different hardware. But with 2~3 popular mobile operating systems like Symbian, Windows Mobile, BREW; Android may be able to address 80% of the handset models available in the market. I think it is a fair amount of market that Google would target.

Now whether Android platform is open enough to allow applications from Yahoo… is something that we have to wait and see. But when Microsoft itself was pulled into anti-competitive battle on its IE on Windows platform, will Google be spared if it doesn’t allow its competitors applications running on Android platform?

Intel CTO Directions for year 2008

February 3, 2008

http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=205800960
As per Intel CTO chip vendors are moving towards system-on-chip approach to platform-on-chip approach where chip would have integrated processors, communications, power management and other functions that would enable targeted applications. This would be an important trend to move some of the traditional software functions into hardware. With programmability improving in hardware (similar to network processors that handle packets at the hardware level), moving more of software functions at handware level would improve the speed. However whether the extensibility and maintainability of the software be maintained at hardware? But with initiatives like remote firmware upgrades, this shouldn’t be a problem.

Same initiative can draw a parallel with Google’s Android initiative where they are planning to provide platform for mobile application development (including controlling of the JVM used in the platform).

Software Developers Keep pace with Hardware Development

February 3, 2008

http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=205900283
As per Intel CTO there is an increasing trend of developing/delivering software over global Internet connectivity and hence the packaged software delivery is taking a beating. Obviously he is referring to the collaborative open source software development trend that has caught up in recent days. However according to him the main threat for packaged software is its inability to keep pace with continuous progress in the hardware computing. The parallel programming on the dural and multi core processing technology has not really taken off. But how suitable it is to blame on whole software as in my opinion not all the software developers need to know the complexity of parallel programming. So isn’t it the operating systems that should abstract the complexity of the parallel computing and provide an usable interface for the application developers? As it is multi thread programming on Java is causing headache for the developers to design and debug the system.

However with platform-on-chip concept widely gaining the acceptance, won’t it be possible to push some of the operating system kernel level functionality into the hardware and provide a simplified interface for software applications (like managing the multiple threads, semaphore, memory management etc.

Other interesting trend that he pointed out is performance v/s features & capability. According to him now enterprises are focusing on the IT management and security rather than performance. But how can you differentiate if you are talking only in terms of features and capability? May be it is different in hardware and your manufacturing and design know how has to work hand-in-hand to create a product, but in case of software it is easily to match the feature & capability but performance could be a differentiator.

Opening Router Platform

February 3, 2008

http://www.lightreading.com/document.asp?doc_id=143775
Open services networking (OSN) seems to be the buzz word among the enterprise router vendors. This is understandable as more and more vendors started focusing creating augment  features of the product as they are facing heavy competition from their competitors on the core & actual product features. Even though these vendors say it is open service networking, it is interesting that they only offer the API for the application developers to develop applications e.g., 3COM claims that people can create a IP PBX “application”. This is different from other initiatives like Asterix open souce PBX where the whole source code is available for the applicaiton developers. Controlling the core and opening up the API for application development seems to be catching up with industry segments e.g., Android platfom from Google again is based on a similar concept (does it resemble long tail?) What does this mean for the developers? How will the core product company manage its software updates for bug fixes and enhancements? What would be licensing models that these companies would be looking at when an augmented product becomes a killer product? Shall do some more investigation on the value chain that 3Com and Vyatta are doing in their open-source model.