Sunday, January 15, 2012

Mobile Computing: 2011 Summary


Mobile Computing: 2011 Summary

A Surprising Trend:


NetMarketShare published some interesting data, summarizing mobile OS usage in 2011 - Apple IOS and Google Android peaked while Oracle JavaME bottomed out in October 2011... but JavaME but reversed the trend, pushing Android into 3rd place in November and December 2011.

Between the Lines:
Android from Google uses Java Code stolen [improperly licensed] from now acquired Sun Microsystems, where Oracle is fighting to get their royalties restored. Android is little more than Linux combined with JavaSE. The combined Java mindshare in the mobile arena [combining Oracle's stolen JavaSE and JavaME] is almost equal to the Apple MacOSX UNIX based iOS.


Java is Competitive
The conclusion we can draw from this market share analysis is that Java on mobile clients is competitive. The uncertainty experienced by Android manufacturers continually being sued by operating system manufacturers and Google being sued by Oracle for Java license violations, however, continues to make Apple a secure ecosystem for developers.


The Future
With products used under Apple's iOS diversifying (i.e. iPad, iPhone, iPodTouch, AppleTV, etc.) - Apple iOS will remain competitive.

While JavaME manufacturers receive some indemnity (protection from lawsuits) - Android manufacturers have been giving more and more of their profit share to companies like Microsoft, whose patents were stepped on.

Once the Oracle lawsuit against Google has been settled, Java may be in a position to become more competitive, since the people who created the technology [JavaSE and JavaME], has cross-technology licensing agreements with Microsoft, and will be properly compensated, rather than a third-party [who is competing with their own Windows phone] sucks the profit well dry from Android.

ZFS: Versioning


ZFS Versioning

Abstract:
Most operating systems support a type of file system to retain it's data. When newer versions of the file system are released, sometimes it is not clear to the user community. With ZFS, the ability to clearly see what the version exists and even a clear way to create older pool types for backwards compatibility and testing.

Article:
Bob Netherton at Oracle published a blog article recently discussing ZFS Versioning. It is well worth the read. Below are a few commands extracted from Bob's article.

Commands:
The "zpool" and "zfs" commands offer visibility to capabilities.

# zpool upgrade -v
This system is currently running ZFS pool version 31.

The following versions are supported:

VER DESCRIPTION
--- --------------------------------------------------------
1 Initial ZFS version
2 Ditto blocks (replicated metadata)
3 Hot spares and double parity RAID-Z
4 zpool history
5 Compression using the gzip algorithm
6 bootfs pool property
7 Separate intent log devices
8 Delegated administration
9 refquota and refreservation properties
10 Cache devices
11 Improved scrub performance
12 Snapshot properties
13 snapused property
14 passthrough-x aclinherit
15 user/group space accounting
16 stmf property support
17 Triple-parity RAID-Z
18 Snapshot user holds
19 Log device removal
20 Compression using zle (zero-length encoding)
21 Deduplication
22 Received properties
23 Slim ZIL
24 System attributes
25 Improved scrub stats
26 Improved snapshot deletion performance
27 Improved snapshot creation performance
28 Multiple vdev replacements
29 RAID-Z/mirror hybrid allocator
30 Encryption
31 Improved 'zfs list' performance

For more information on a particular version, including supported releases,
see the ZFS Administration Guide.

# zfs upgrade -v
The following filesystem versions are supported:

VER DESCRIPTION
--- --------------------------------------------------------
1 Initial ZFS filesystem version
2 Enhanced directory entries
3 Case insensitive and File system unique identifier (FUID)
4 userquota, groupquota properties
5 System attributes

For more information on a particular version, including supported releases,
see the ZFS Administration Guide.
Capabilities:
As of Solaris Update 6, the following lists the zpool and zfs versions.

Solaris Release         ZPOOL Version ZFS Version
Solaris 10 10/08 (u6) 10 3
Solaris 10 5/09 (u7) 10 3
Solaris 10 10/09 (u8 15 4
Solaris 10 9/10 (u9) 22 4
Solaris 10 8/11 (u10) 29 5
Solaris 11 11/11 (ga) 33 5
Showing Versions:
A test pool can be made, in order to show the versions.

# zpool create testpool testdisk

# zpool get version testpool
NAME PROPERTY VALUE SOURCE
testpool version 31 default

# zfs get version testpool
NAME PROPERTY VALUE SOURCE
testpool version 5 -
Creating Older Pools:
Older pools can be created and versions validated.


# zpool destroy testpool
# zpool create -o version=15 -O version=4 testpool testdisk
# zfs create testpool/data

# zpool get version testpool
NAME PROPERTY VALUE SOURCE
testpool version 15 local

# zfs get -r version testpool
NAME PROPERTY VALUE SOURCE
testpool version 4 -
testpool/data version 4 -
Testing an Upgrade:
A version upgrade can be conducted and verified.

# zpool upgrade -V 29 testpool
This system is currently running ZFS pool version 31.

Successfully upgraded 'testpool' from version 15 to version 29

# zpool get version testpool
NAME PROPERTY VALUE SOURCE
testpool version 29 local

# zfs upgrade -V 5 testpool
1 filesystems upgraded

# zfs get -r version testpool
testpool version 5 -
testpool/data version 4 -
Upgrading Recursively:
While the base pool can be updated, it is most likely that file system under the pool needed to be upgraded. This can be done via the recursive option.

# zfs upgrade -V 5 -r testpool
1 filesystems upgraded
1 filesystems already at this version

# zfs get -r version testpool
NAME PROPERTY VALUE SOURCE
testpool version 5 -
testpool/data version 5 -

Thursday, January 12, 2012

The Network: Consuming More Data

The Network: Consuming More Data
Abstract:
With the creation of new devices, usage will normally increase. The creation of the original Apple iPhone saw a rise in data usage previously unknown to telephone carriers. With faster devices hitting the networks, capacity continues to increase with no bounds.

Data Usage:
Data usage on wireless network carriers was measured. The iPhone 3G was used as a base unit of measurement.
iPhone 3G -> iPhone 4 = 1.6x increase
iPhone 3G -> iPad 2 = 2.3x increase
iPhone 3G -> iPhone 4S = 3x increase

Network Speed:
AT&T was generally shown as faster than Verizon.

Network Coverage:
Verizon was generally shown to have wider coverage than AT&T.

Next Generation 4G:
Verizon started rolling out 4G services in December 2010.
AT&T brought 4G to 15 cities by end of 2011.
AT&T expanded 4G to a total of 26 cities in Jan 2012.

Tuesday, January 10, 2012

Microsoft Phone: Reaction to iPhone


Microsoft Phone: Reaction to Apple iPhone

Abstract:
Microsoft failing in the consumer/mobile arena. With operating systems like Windows CE, it is no wonder. Microsoft may finally have a winning mobile system. The innovation forced upon them was a reaction driven by Apple's wildly successful iPhone.

What's New:
Microsoft and Nokia is about to release, at 2012 International Consumer Electronics Show, in Las Vegas, Nevada, USA. Nokia's new phone is described as a sleek metallic phone. The Lumia 900 sports a Microsoft Windows mobile operating system and will be sold by AT&T in the United States.

Is it enough?
With Nokia killing it's home-grown phone operating system and Microsoft taking a front-seat in software development for Nokia, this could be a two-headed monster or an elegant solution desired by everyone. Consumers will make this decision over the next year.

Sunday, January 8, 2012

Windows 8: Getting More ZFS'ish


Windows 8: Getting More ZFS'ish

Abstract:
Storage has always been a part of operating systems. Over time, storage capabilities have increasingly became more sophisticated in operating systems, consuming features from 3rd party partners. Occasionally, a vendor will release very sophisticated increments to their operating systems. Windows 8 is projected to receive more ZFS-like features, to make it more competitive with Solaris, when Sun release ZFS over a half-dozen years ago.


History:
Intel based systems had relied upon a file system referred to as FAT since the late 1970's. Systems during this time period occasionally offered only upper case characters, FAT was case insensitive. During the 1980's, FAT16 was released, to deal with larger hard drives. The 1990's saw the introduction of FAT32, to deal with longer file names. These file system were, for the most part, primitive - targeting floppy disks and hard disks, identifying physical storage through a letter of the alphabet.

Microsoft, the key Intel based operating system vendor, promised an Object Oriented file system during the 1990's and a Relations Database filesystem during the 2000's. Both of these projects were canceled, with an interim file system called NTFS, to drag users out of the proverbial stone ages. NTFS was too proprietary bound to the Microsoft operating system) and too heavy to bring to portable storage devices, like camera flash cards and USB flash sticks, which still carry the baggage of the ancient FAT file system.

Most UNIX systems included file system management bound to individual disks during the late 60's and into the early 1970's, but they quickly moved to a virtual file system, allowing disks to be added (mounted) anywhere in a single tree, transparent to the applications. During the 1980's, Sun Microsystems extended this abstraction to virtualize the file system to network based devices, as well as physical devices. Third-Party vendors, like Veritas, created Logical Volume Management systems with their own third-party file systems, to consolidate multiple physical disks into a single virtualized physical device.

Sun Microsystems introduced in 2005 the first major advancement in file system technology, in decades. Gone was the forcing of users to use separate drive letters of DOS and NTFS to desgnate physical devices; gone was separate volume management system to virtualized multiple physical devices into a seeing device; gone was separate file system layer to sit on top of a virtual or physical device. ZFS was created to take operating systems into the next decade, with aspects consolidating a hybrid 64-128 bit internal structures.

Windows 8 Storage Spaces:
Microsoft quietly announced new features in a Windows 8 Beta via a blog post. The Register published a short article regarding Storage Spaces.
Microsoft will introduce in Windows 8 what it calls
Storage Spaces – a method of putting drives into a
virtual pool from which self-healing virtual disks
can be created, with some resemblance to ZFS features.

Details of these virtual disks – the aforementioned
Storage Spaces – were described in a 4,400-word
deep-dive blog poston Thursday, introduced by
Microsoft Windows Division head, Steven Sinofsky,
and written by a member of Redmond's Storage
and File System team, Rajeev Nagar.
How robust will the new system be, if it is released in Windows 8 Beta?
Storage Spaces is somewhat like ZFS, although it has no
deduplication and lacks other ZFS features. However, it is
a start – and Microsoft will probably add features such as
snapshots, replication, deduplication, and, maybe, compression.
The Register posted an article where Open Source OpenSolaris based Nexenta discusses Windows 8 Storage Spaces.
Windows 8 Storage Spaces papers over some previous
shortcomings, but does not solve a limit on the total
TB that a file system can store, which is 16TB. It
still lacks double or triple parity RAID, which means
your data is at risk since the odds of two failures
on a RAID group, and data loss, increases with large
drives that take more time to rebuild. There is also
no ability to snapshot and replicate your data.
Finally, there is no end-to-end data integrity -
there’s nothing like the cryptographic-strength
256 bit checksums of ZFS-based solutions like NexentaStor.
Analysis:
Will Microsoft's new Storage Spaces be able to displace NTFS or even FAT, or will Storage Spaces find itself in the company of former Microsoft Object or Relational file systems? This question will be ultimately answered in 10 more years.

Microsoft has a long history of trying to innovate and failing in storage. Microsoft has a long way to catch up. With virtually unlimited resources derived from a PC monopoly and constant inbound royalties from ancient FAT - they can not be counted out.

Network Management:
What will be the impact on Network Management? Nothing, if Storage Spaces follows other storage advancements.

Will Microsoft implement it's storage technologies with management extensions directly to SNMP, to make it truely network friendly?

Microsoft has the possibility to take leadership away from new ZFS owner, Oracle, on the Internet, if true SNMP management is taken into consideration. If not, Microsoft will be left a half-dozen year in the rears, continuing to play catch-up with the market leader.

Friday, January 6, 2012

Java: JavaScript Object Notation (JSON) Coming!


Java: JavaScript Object Notation (JSON) Coming!

Abstract:
Variables and structures are normally held in various internal formats on different systems. Normally, this format is incompatible between programming paradigms. JavaScript Object Notation is one such notation, which has found popularity in the transfer of data as lighter-weight mechanism in comparison to XML. Java will soon be including native JSON support.

JSR 353: JavaTM API for JSON Processing
Java Specification Requests 353 was filed and accepted by the Java Community Process Program. It was summarized as:
The Java API for JSON Processing (JSON-P) JSR
will develop a Java API to process (for e.g.
parse, generate, transform and query) JSON.
A more complete description was also included:
JSON(JavaScript Object Notation) is a lightweight
data-interchange format. Many popular web services
use JSON format for invoking and returning the data.
Currently Java applications use different implementation
libraries to produce/consume JSON from the web services.
Hence, there is a need to standardize a Java API for JSON
so that applications that use JSON need not bundle the
implementation libraries but use the API. Applications
will be smaller in size and portable.
Network Management Implications
Many Network Management platforms have been using Java as their back-end engine, in order to stay compatible with the greatest number of data center infrastructures possible. For some mobile platforms, such as the iPad and iPhone, Java based front-ends are not adequately supported. This is driving many vendors to move towards JavaScript based front-ends, requiring other vendors to provide JSON parsing modules. The inclusion of JSON will reduce the reliance upon other JAR files and make JSON a full-fledged peer in the data-interchange arena for Java for Network Management platforms.

Sunday, January 1, 2012

Apple iPad3: Super Detail - Great and Small



Apple iPad3: Super Detail - Great and Small

Abstract:
Tablet computing was attempted by various hardware, software, and operating system vendors in the past - but never really progressed outside of the realm of industrial equipment. Apple released the first iPad and managed to create a new consumer market, with a simple interface, wrapped in elegant packaging. There are rumors of soon to be released iPads - for simplicity, we will call them iPad3's.

Timeline:
[2011-10-17] - Apple rumored to be manufacturing 1 Million iPad3
[2011-11-17] - Apple reducing orders of iPad2 screens
[2011-11-18] - iPad3 screens increase from 1 to 2 Million; Smaller screen coming
[2011-11-21] - iPad3 production started: 2048x1536 detail; 10 inch and 7.85 inch
[2011-12-29] - Apple iPad2 supply chain orders dropping slightly
[2011-12-29] - Apple iPad3 in January with 2x battery: 14AH vs 6.5AH
[2011-12-29] - Two iPad's to be released in Jan: 9.7 inch and 7.85 inch
[2012-01-06] - Apple iPad3 in March; iPad4 in October? *updated 2012-01-08*
[2012-01-06] - Apple iPad3 rumor true; iPad4 rumor false? *updated 2012-01-08*

Network Management Implications:

With the continued penetration of the Apple iPhone and Apple iPad into the market, customers increasingly desire network management platforms which offer robust HTML front-end interfaces vs Java based front-end interfaces.

Network Management providers should be concentrating and upgrading their customer interaction portals to be compatible with non-Microsoft based personal computers. Apple iPhone and iPad platforms have proved to be no passing fad, but a preferred method of access for consumers and professionals alike.