Sunday, 25 April 2010

The recession is over, IBM is in profit!

Well, half right at least! IBM has reported its first quarter results for 2010 saying that profits are up 13 percent to $2.6 billion and sales are up 5 percent at $22.9 billion. As a consequence, IBM has raised its profit guidance for the year by 20 cents to $11.20 per share.

The UK managed an 8 percent increase in revenues. The Americas had 6 percent growth. Europe, as a whole, provided revenue growth of 5 percent. And Asia/Pacific provided 4 percent revenue growth.

In terms of hardware – provided by the Systems and Technology Group – sales were up by 5 percent. However, System z mainframe sales fell by 17 percent. This can be explained by the fact the new z11 mainframes are due later this year and people will be holding of purchasing until those new mainframes become available. Trouble-makers may suggest that hardware sales are down because people are running their mainframe applications on TurboHercules boxes!

Software grew by 10.6 percent to just over $5 billion. Sales of Tivoli management software increased by 23 percent. WebSphere middleware sales climbed by 13 percent. Income from Rational development tools was up by 7 percent. Disappointingly, but perhaps not surprisingly, Lotus software increased by only 1 percent.

Global Services was responsible for $13.7 billion of sales resulting in a 4 percent increase.

But life isn’t all good news for IBM with that antitrust claim from the European Commission brought by TurboHercules. It was only a couple of weeks ago that I was talking about the 10th birthday of Linux on a mainframe – and Linux is open source software. IBM seems unable to make up its mind whether it is the king of open source (Linux) or the arch-enemy of Intellectual Property rights in the open source community (TurboHercules). IBM claims that its battle with TurboHercules in Europe is a result of the hidden hand of Microsoft pulling the strings.

I’m pleased to see IBM making a profit. I earn my living by working with people who work on IBM mainframes. However, recently, I have had a strange nagging doubt. What if you could run mainframe software on a reasonably beefy x86 box with some kind of emulator like TurboHercules? What if the whole mainframe hardware strategy that IBM has been driving for all these years is little more than a house of cards? If that were the case, then no wonder IBM is doing its best to get rid of any company offering low-entry access to mainframe software. I wonder...

Sunday, 18 April 2010

IBM-Oracle face-off

Having upset the open source community by legal action against TurboHercules, and worried its own customers and made life very interesting for third-party software vendors by counter-suing NEON Enterprise Software, IBM has now taken a swipe at the Oracle-Sun alliance by more the more conventional method of offering its own hardware and software to compete with their product.

IBM recently announced a new range of integrated systems for large-scale data analysis, which is clearly an attack on Oracle’s Exadata platform. Exadata first appeared in 2008, when Oracle partnered with Hewlett-Packard for the hardware. The 2009 V2 was meant to run on Sun servers. Exadata is an OLTP (OnLine Transaction Processing) database machine that Oracle claims is the world’s fastest machine for data warehousing and OLTP. By “world’s fastest” they, of course, mean faster than any IBM offering! As well as Oracle’s database and storage server software, it used Sun servers and FlashFire solid-state technology.

IBM’s response includes the pureScale application system plus Smart Analytics for System z and x86 machines. IBM is saying things like “deep compression” to reduce storage needs and an ability to handle “enormous amounts” of data. The pureScale application system comprises Power7 servers, WebSphere Application Server (WAS), and DB2 pureScale software. The Smart Analytics offering integrates Cognos BI and InfoSphere data warehousing software to handle business intelligence needs.

The mainframe Smart Analytics System 9600 is based on a System z10 Business Class (BC) mainframe with two logical partitions in a base configuration. There are six versions – the base 9600 has z/VM to manage the partitions and runs z/OS in one partition and Linux in another. The z/OS partition comes with DB2 and DB2 Utilities Suite for managing and tuning the database. The Linux part has Cognos 8 analytics and InfoSphere Warehouse.

Now in my opinion, this is a much better way of doing business – competition rather than litigation. Ordinary people – you and me, I mean – can then choose which they’d prefer, and go out and buy it (or rent it, or any of the other business models). With litigation, customers might be afraid that the products they have bought may become unlawful, or the company they bought from may be forced to cease trading, or they get so locked up in the court case that no further development of the product takes place. Now the cynical amongst you might suggest that that’s exactly what IBM hoped to get out of bringing in the lawyers. Maybe we really are returning to a climate of FUD (Fear, Uncertainty, and Doubt). Let’s hope not!

Sunday, 11 April 2010

So sue me!

OK, I don’t really mean me. It’s just that IBM seems to have been particularly litigious recently, and in many ways seems to have returned to its bunker mentality of old rather than the caring all-embracing modern self that we were just getting used to. Two particularly high-profile cases are IBM versus TurboHercules and IBM versus NEON Enterprise Software.

TurboHercules, you’ll remember, sells services around the open source Hercules project – there was an interesting article about it in the recent Arcati Mainframe Yearbook 2010 (www.arcati.com/newyearbook10). Hercules basically emulates a System z mainframe on a PC. IBM has rattled its corporate sabre saying that it has “substantial concerns” about the Hercules project infringing its patents.

The Internet is abuzz with people rushing to mount their high horses to condemn IBM for alleged double standards. Last time, I was talking about 10 years of Linux – the well-known open source software – on mainframes, and here they are attacking another open source project. Well, they are probably right. I’m no apologist for IBM. I personally feel that these alternative entry points to mainframes are a good thing. But I can also see IBM’s point of view: they are a business, and they don’t get any income from the Hercules project. Some bean counter somewhere is going to flag this as a bad thing! And someone else looking at revenue income is going to view this as a hole through which they are losing money.

So, Hercules has filed an antitrust motion in the European Union asking for IBM to unbundle its mainframe operating system from its hardware. IBM claims the motion is unfounded and offers the metaphor that a software emulation business is just like selling cheap knock-offs of brand-name clothing.

Neon Enterprise Software, you’ll recall, produced zPrime, which allows “ordinary” mainframe work to be run on specialty processors – thus saving the users money because only work running on the main General Purpose Processor (GPP) is chargeable (although, of course, the specialty processors must be paid for). IBM sent out letters suggesting that people using zPrime would be breaking the terms of their contract with IBM. NEON sued claiming IBM was illegally using its powerful position in the marketplace to hurt sales of zPrime. IBM then countersued claiming that zPrime violates their (IBM’s) copyrights (that word again).

Grasping for metaphorical language again, IBM suggests that NEON’s business model is “no different than that of a crafty technician who promises, for a fee, to rig your cable box so you can watch premium TV channels without paying the cable company. Even if it could be accomplished technically, it is neither lawful nor ethical." Again, the blogosphere is full of people listing their “why I hate my cable provider” stories.

So, it’s a good year to be a lawyer. A good year for people writing metaphors for IBM. And probably a bad year for mainframers and would-be mainframers. And, in terms of publicity, a bad year for IBM.

Monday, 29 March 2010

Linux on mainframes – 10 years old already

It seems so long ago, back in 1999, when we were discussing the Y2K bug (that was going to bring the universe as we knew it to an end) and whether Linux on a laptop was ever going to scale to mainframe proportions. And, while at the time I said the Y2K bug was overhyped (but then we all said we said that afterwards!!), I was never overly sold on mainframe Linux – wondering what kind of strange hybrid creature it would be. Doh! Not only has mainframe Linux (Linux on System z) now celebrated 10 years of service, it is a hugely successful and growing part of the mainframe world.

In 1999 IBM announced its commitment to Linux and promised to make it available on all their platforms and also produce Linux versions of its software. This meant that IBM would be spending lots of money on Linux and needed it to be a success. I can remember talking to various people at conferences, and the general opinion was one of confusion. IBM sold operating systems, so why would it champion a free alternative? If Linux didn’t become a success then IBM would have wasted lots of money – which could have been spent improving its other products. Alternatively, if Linux did become a success, pundits wondered whether that would result in a drop in IBM’s software and hardware revenues. Conspiracy theorists suggested that IBM would cause Linux development to split into hundreds of variants, weakening its ability to succeed in the marketplace. It all seems so fanciful now!

IBM established the Linux Technology Center in 1999 and announced Linux on the mainframe in 2000. Several Linux distributions (distros as old Linux hands refer to them) now run on a mainframe, including SuSE and Red Hat. Other distributions that run on a mainframe include Debian, Gentoo, Slackware, and CentOS. There are also thousands of ISV applications that have been recompiled to run on mainframe Linux. Importantly, Linux is not emulated on a mainframe, it runs as a completely native operating system – like z/OS etc. However, it is most often found running under the king of virtualization, z/VM, allowing multiple Linux systems to run on one lot of hardware.

There is a specialty processor available for Linux – like zIIp and zAAP – called the Integrated Facility for Linux or IFL. This processor runs Linux work, rather than running it on the normal General Purpose Processor (GPP), and so saves the user money because they are only charged for work running through the GPP. Of course, there is the cost of buying (in reality turning on) the IFL specialty processor.

It used to be that every sentence about a mainframe contained a mention of SOA, but nowadays the word is “cloud”. The IBM Web site says: “Cloud computing promises operational efficiency and cost reduction due to the standardization, automation, and virtualization. High flexibility, scalability, and easy management can be provided by the virtual Linux server environment on System z. Which basically says that Linux on System z is a good thing to have in your cloud computing environment because it is an efficient cloud computing platform.

So, happy 10th birthday mainframe Linux (or Linux on System z as we should be calling it). There are apparently 3150 Linux applications enabled for System z and IBM claims that 70 percent of the top 100 global mainframe customers run Linux – so I confidently predict that we will be celebrating its 20th birthday.

Sunday, 21 March 2010

Facebook and Twitter





The exciting news is that you can now stay up-to-date with all that’s happening in the IMS world, and with what’s happening with the Virtual IMS CONNECTION user group by following them on Twitter or becoming a Fan on Facebook – as well as by checking the Web site regularly at www.virtualims.com.










You could also add the Twitter and Facebook widgets to your Web sites, so not only do you stay in touch, but IMS professionals visiting your site will also be able to see the latest information. Examples of the widgets are shown below:

So, follow us on Twitter and become a fan on Facebook.

 



iTech-Ed Ltd is also on Twitter and Facebook. You can see all the latest blogs and other mainframe news on Twitter at twitter.com/t_eddolls. Or you can become a fan on Facebook by going to www.facebook.com/pages/iTech-Ed-Ltd/201736748040.

Sunday, 14 March 2010

IMS logical relationships

The latest webinar from Virtual IMS CONNECTION was entitled, “The logical answer: IMS Logical Relationships”, and was presented by Aurora Emanuela Dell’Anno, an Engineering Services Architect with CA. Aurora is an IMS and DB2 Specialist Systems Engineer, with a past in application development. Aurora has spent the past 14 years specializing in various aspects of the IBM software world, with particular attention to database management and data warehousing. Keeping pace with the times, the past years have been dedicated to in-depth work on, and study of, data warehousing realities, trouble-shooting systems installations, and application performance issues – this included getting her hands dirty with distributed platforms, customers’ implementations, and problem-solving needs in this field, all from the perspective of systems engineering and database administration. Aurora works for CA in the highly-focused Mainframe Solutions Center.

Aurora started her presentation by explaining exactly what an hierarchical database was and what relational data structures were. She then asked why IMS needed logical relationships and suggested the reason was to access segments by a field other than the one chosen as the key, or to associate segments in two different databases or hierarchies. Aurora informed the user group that IMS provides two very useful tools to resolve these data requirements: secondary indexes logical relationships.

Thinking about database design, it can be useful to normalize the data. This helps to break data into naturally associated groupings that can be stored collectively in segments in a hierarchical database. It also breaks individual data elements into groups based on the processing functions, and groups data based on inherent relationships between data elements.

The database types that support logical relationships are HISAM, HDAM, PHDAM, HIDAM, and PHIDAM. There are no logical relationships with Fast Path DEDB or MSDB.

Logical relationships are formed by creating special segments that use pointers to access data in other segments. The path between the logical child and the segment to which it points is called a logical relationship.

There are three types of logical relationships:
  • Unidirectional
  • Bidirectional physically paired
  • Bidirectional virtually paired.
A unidirectional relationship links two segment types (logical child and its logical parent) in one direction. A one-way path is established using a pointer in the logical child.

A bidirectional physically paired logical relationship links two segment types, a logical child and its logical parent, in two directions. A two-way path is established using pointers in the logical child segments.

A bidirectional virtually paired logical relationship is like a bidirectional physically paired relationship. It:
  • Links two segment types, a logical child and its logical parent, in two directions, establishing a two-way path
  • Can be established between two segment types in the same or different databases.
A logical child segment exists in only one database. When going from database A to database B, IMS uses the pointer in the logical child segment. When going from database B to database A, IMS uses the pointer in the logical parent, as well as the pointer in the logical child segment.

To establish a logical relationship, three segment types are always defined – the physical parent, the logical parent, and the logical child.

Aurora explained that the pointers used in logical relationships fall into two categories – direct and symbolic. We can implement logical relationships using both types, however, a direct pointer is a true pointer.

There are four types of pointers:
  • Logical parent (LP)
  • Logical Child (LC)
  • Logical Twin (LT)
  • Physical Parent (PP).
LP pointers point from the logical child to the logical parent. An LP pointer is in the prefix of the logical child and consists of the 4-byte direct address of the logical parent.

Logical child pointers are used only for logical relationships that use virtual pairing. With virtual pairing, only one logical child exists on DASD, and it contains a pointer to a logical parent. The logical parent points to the logical child segment.

Two types of logical child pointers can be used:
  • Logical Child First (LCF)
  • A combination of LCF and Logical Child Last (LCL) pointers.
Because LCF and LCL pointers are direct pointers, the segment they are pointing to must be in an HD database. The logical parent (the segment pointing to the logical child) must be in a HISAM or HD database. If the parent is in a HISAM database, the logical child must use a symbolic pointer to point to the parent.

A symbolic LP pointer consists of the Logical Parent’s Concatenated Key (LPCK). It can be used to point into a HISAM or HD database.

Physical Parent (PP) pointers point from a segment to its physical parent. IMS generates PP pointers automatically for HD databases involved in logical relationships.

Logical Child Pointers are used only in logical relationships with virtual pairing. When virtual pairing is used, there is only one logical child on DASD, called the real logical child. This logical child has an LP pointer. The LP pointer can be symbolic or direct.

Two types of logical child pointers can be used:
  • Logical Child First (LCF) pointers
  • A combination of logical child first (LCF) and Logical Child Last (LCL) pointers.
CA’s Aurora Dell’Anno went on to inform the user group that logical twins are multiple occurrences of logical child segments that point to the same occurrence of a logical parent segment. Two types of logical twin pointers can be used:
  • Logical Twin Forward (LTF)
  • A combination of LTF and Logical Twin Backward (LTB).
HALDBs (PHDAM, PHIDAM, and PSINDEX databases) use direct and indirect pointers for pointing from one database record to another database record. The use of indirect pointers prevents the problem of misdirected pointers that would otherwise occur when a database is reorganized. The repository for the indirect pointers is the indirect list data set. The misdirected pointers after reorganization are self-healing using indirect pointers.

The relationship between physical parent and logical child in a physical database and the LP pointer in each logical child creates a physical parent to logical parent path. For a physical parent to logical parent path, the logical parent is the destination parent in the concatenated segment.

For a logical parent to physical parent path, the physical parent is the destination parent in the concatenated segment.

When use of a physical parent to logical parent path is defined, the physical parent is the parent of the concatenated segment type. When an application program retrieves an occurrence of the concatenated segment type from a physical parent, the logical child and its logical parent are concatenated and presented to the application program as one segment. When use of a logical parent to physical parent path is defined, the logical parent is the parent of the concatenated segment type. When an application program retrieves an occurrence of the concatenated segment type from a logical parent, an occurrence of the logical child and its physical parent are concatenated and presented to the application program as one segment.

In both cases, the physical parent or logical parent segment included in the concatenated segment is called the destination parent.

There must be one physical DBD for each of the databases in a logical relationship. All statements are coded with the same format used when a logical relationship is not defined, except for the SEGM and LCHILD statements. The SEGM statement includes the new types of pointers. The LCHILD statement is added to define the logical relationship between the two segment types. The pointers for use with HD databases must be explicit in the PTR= parameter.

When a logical relationship is used, you must define the physical databases involved in the relationship to IMS. Also, you often need to define the logical structure of IMS since this is the structure the application program perceives.

With HALDB databases, bidirectional logical relationships must be implemented with physical pairing. When loading a new partitioned database with logical relationships, the logical child segments cannot be loaded as part of the load step. IMS adds logical children by normal update processing after the database has been loaded. HALDBs use an Indirect List Data Set (ILDS) to maintain logical relationship pointers when logically related databases are reorganized.

Aurora recommended a White Paper called Converting Logical Relationships to Support Partitioned Databases written by William N Keene – who some of you will have heard speak at user group meetings and who is a regular attendee. The White Paper provides guidance and examples for converting a set of logically related databases from bidirectional, virtual pairing using direct pointers to bidirectional, physical pairing using symbolic pointers.

The presentation contained a lot more detailed information, including some thoughts on performance. Aurora concluded by stating that logical relationships resolve conflicts in the way application programs need to view segments in the database. With logical relationships, application programs can access segment types in an order other than the one defined by the hierarchy, and have a data structure containing segments from more than one physical database.

Membership of the Virtual IMS Connection is free and open to anyone interested in IMS. Webinars are presented free to members. You can join by going to http://www.virtualims.com/register.aspx and completing the form.

Sunday, 7 March 2010

What's going on - on my Open Systems Adapter?

An Open Systems Adapter (OSA) is a network controller between mainframes and other computing platforms. An OSA supports Ethernet, Token Ring, and FDDI (Fibre Distributed Data Interface) connectivity, and can offer data throughput speeds of up to 10 gigabits per second. An OSA provides a way of attaching a LAN (Local Area Network) to a mainframe, or looking at it the other way round, it provides a way of connecting a mainframe to a LAN! Either way, it makes it a very crucial piece of kit.

At most installations, life isn't quite so simplistic. For example, a single OSA can be shared across several LPARs and/or IP stacks. It can handle multiple channels and multiple types and instances of ports. And the consequence of this is its ability to support a very large number of users.

You'd think this kind of complexity would make the OSA a device that is monitored by every site that's got one. After all, what would happen were it to suddenly stop working? But the complexity doesn't stop there. An OSA exists as a z/OS device, a VTAM device, an IP interface, and an SNMP device. And it's this level of complexity that makes the collection of data so tricky. There's not even some low-level tool providing a single query that will reveal how an OSA is performing.

In truth, OSAs are resilient, managing to recover and log any non-fatal errors encountered in an internal Management Information Base (MIB). The MIB is a database containing information about the current OSA set-up and state information. Getting information out of the MIB is only possible with low-level tools and a good knowledge of the associated MIB structures. An OSA MIB may well contain many thousands of separate fields identified by Object Id and an Index relating them to a specific LPAR, channel, or port. Additional information about an OSA can be found in z/OS device tables, IP stacks, and VTAM control blocks.

Perhaps surprisingly, many sites feel that an IP monitor is probably all that's needed to keep an eye on their OSA. However, a new alternative is ZEN OSA Monitor (ZOM) from William Data Systems (www.willdata.com). ZOM provides users with the ability to get a health check of their OSA, and it also provides a soft reset feature. According to the WDS Web site: "ZOM dynamically detects any status changes or increases in error counts, with all such changes summarized in easy-to-read panels in ZEN, with full alerting and reporting capabilities. A simple but effective system of traffic lights highlight any changes to reference values, ensuring these critical devices are maintained at optimal performance levels."

Some readers may be familiar William Data Systems ZEN EE (Enterprise Extender) Monitor, codenamed Ferret.

With ZOM, the OSA dashboard provides an at-a-glance list of a user's monitored OSAs with an indication of current usage and status. Several fields contain drill-down links to further, more detailed displays.

With OSA devices playing such a critical role in the communication between mainframes and the rest of the computing environment, it would make sense to utilize a product that's able to access important performance data and display it in an easily digestible format. Anyway, they're not paying me to sell their product for them, but I thought readers of this blog would find the existence of this software well worth knowing about.