Ultra Messaging® Persistence and Queuing Edition Documentation

March 2014


1. Introduction

Welcome to the root directory of the UMP version 5.3.6 distribution tree, and UMQ version 5.3.6 distribution tree, it contains pointers to all the Ultra Messaging® example source code and documentation.

Important: Please bookmark this page!


1.1. Getting Started

See the UM Quick Start Guide to get started quickly using an Ultra Messaging binary distribution. This is the best starting place for those interested in performance measurement or for those interested in getting a feel for how Ultra Messaging works without actually writing any code.


1.2. Read About Ultra Messaging Concepts

Read Ultra Messaging Concepts to learn some of the fundamental concepts and features of Ultra Messaging. And The Ultra Messaging Guide for Persistence and Queuing presents concepts, tutorials, implementation and configuration information about Ultra Messaging persistence and queuing. The Ultra Messaging Manager Guide shows you how to use the UMM GUI to more easily configure Ultra Messaging for your applications. Plus, The Ultra Messaging JMS Guide provides conceptual, operational and configuration information about the Ultra Messaging JMS.


1.3. Review Example Source Code

After considering the simple examples in the UM Quick Start Guide and familiarizing yourself with Ultra Messaging concepts, we suggest digging right into more complex source code examples to see how to use Ultra Messaging messaging. See ...

When you're ready to start writing your own code, you may want to start with minsrc.c and minrcv.c from the Quick Start Guide. Then cut-and-paste code from the more complicated examples mentioned above. A very good one to examine is lbmprice.c. It demonstrates not only the API usage, but also some common design patterns used with Ultra Messaging.


1.5. Review the Ultra Messaging Configuration Guide

Refer to the UM Configuration Guide to learn how to set configuration options in order to tune your messaging applications and make the most of your operating environment.


1.6. Access the Ultra Messaging Knowledgebase

Next skim through the UM Knowledgebase. It contains a wealth of excellent information.


2. Ultra Messaging Documentation Table of Contents

And more ... refer to the Documentation Table of Contents below for more helpful documents about Ultra Messaging.

Document Description
Quick Start Guide PDF Step-by-step guide to running binary evaluation tools and to building minimal programs.
Ultra Messaging Concepts PDF Fundamental concepts behind Ultra Messaging.
The Ultra Messaging Guide for Persistence and Queuing PDF Concepts, tutorials and configuration information for UMP and UMQ , along with discussions about designing persistent or queuing applications.
Ultra Messaging Manager Guide PDF Information about using the UMM GUI to create configuration templates, application configurations and assign applications to users. Also contains information about running the UMM daemon, ummd.
The Ultra Messaging JMS Guide PDF Conceptual, operational and configuration information about Ultra Messaging JMS.
C Example Source Code Source code for many complete example programs using the UM C API.
Java Example Source Code Source code for many complete example programs using the UM Java API.
C# Example Source Code Source code for many complete example programs using the UM .NET API.
JMS Example Source Code Source code for JMS example programs.
C Application Programming Interface PDF Documentation for the UM C API
Java Application Programming Interface Documentation for the UM Java API
.NET Application Programming Interface Documentation for the UM .NET API (Note - the Windows doc package also contains a standard Windows help package for the .Net API. See LBMCS in the LBM program group.)
JMS Application Programming Interface Reference that shows which classes Ultra Messaging JMS supports.
UMM Java Application Programming Interface Documentation for the UM Manager Java API
UM Configuration Guide PDF A guide to the configuration options for Ultra Messaging and examples.
UM Knowledgebase A collection of notes on Ultra Messaging. Includes a list of frequently asked questions (FAQ), articles answering common support questions, new hardware issues, source code examples and more.
UM Gateway PDF Documentation for the Ultra Messaging Gateway.
UM Operations Guide PDF Contains monitoring strategies, troubleshooting information and error message descriptions for supporting the operation of Ultra Messaging.
Change Log PDF A list of changes organized by product release.

3. Code

Ultra Messaging code is organized into sub-directories by the Application Binary Interface (ABI) required. The following table gives the names of code subdirectories you may see, descriptions of the corresponding ABIs, the reference platforms on which we test the ABIs, and example platforms that may also provide these ABIs.

The table also lists any Standard C++ Library dependencies for Unix packages running the UMP store daemon. The libstdc++ must also be included in LD_LIBRARY_PATH. Most linux distributions have a compatibility package that installs libstdc++, such as Red Hat Enterprise Linux®, CentOS®: compat-libstdc++-33 or Ubuntu®: libstdc++5:i386.

ABI Directory Name Description Reference Platform Example Platforms UMP Standard C++ Library Dependencies
AIX-5-powerpc64 AIX 5 on Power PC AIX 5.2 †† on eServer p5   UMP store daemon not supported
HP-UX-B.11.31-LP64-ia64 Hewlett Packard Unix on Itanium 64-bit HP-UX Itanium 64-bit   libstdc++.so (current=6)
Linux-glibc-2.3-i686 Linux kernel with glibc 2.3.y on x86 Fedora Core 1 on x86 Red Hat Enterprise 3.x & 4.x, CentOS 3.x libstdc++.so.5
Linux-glibc-2.3-x86_64 Linux kernel with glibc 2.3.y on x86_64 Red Hat Enterprise 3‡ on AMD Athlon64 or Intel Xeon Red Hat Enterprise 4.x, CentOS 4.x libstdc++.so.5
Linux-glibc-2.5-x86_64 Linux kernel with glibc 2.5.y on x86_64 Red Hat Enterprise 5 on AMD Athlon64 or Intel Xeon Red Hat Enterprise 5.x, CentOS 5.x libstdc++.so.6
Linux-glibc-2.3-ia64 Linux kernel with glibc 2.3.y on IA64 CentOS 4.7 on IA64 CentOS 4.x libstdc++.so.6
SunOS-5.10-amd64 SunOS 5.10 kernel on amd64 Solaris 2.10 on AMD Athlon64 or Intel Xeon   libstdc++.so.6
SunOS-5.10-i386 SunOS 5.10 kernel on x86 Solaris 2.10 on commodity server hardware   ---
SunOS-5.10-sparc SunOS 5.10 kernel on 32-bit SPARC Solaris 2.10 on SPARC   libstdc++.so.6
SunOS-5.10-sparcv9 SunOS 5.10 kernel on 64-bit SPARC Solaris 2.10 on SPARC   libstdc++.so.6
Win2k-i386 Win32 API on x86 Microsoft® Windows® XP on x86 Microsoft Windows 2000 on x86†, Microsoft Windows 7 on x86 ---
Win2k-x86_64 Win 64-bit API on x86_64 Microsoft Windows XP on x86_64 Microsoft Windows 2003, Vista x64, Microsoft Windows 2008 ---
nse-tandem-nskJ0614-IA64_LP64 HP NonStop® 64-bit API HP NonStop 64-bit   ---

Note: † The IO completion ports feature requires Windows XP or later.

Note: ‡ The UMP persistent disk stores do not work on Red Hat Enterprise 3, but are known to work with Red Had Enterprise 4 and other 2.6 kernel based Linux distributions. The UMP persistent disk stores do work on Solaris 5.10, but not on previous Solaris versions.

Note: †† The Ultra Messaging JMS feature does not currently operate on AIX.

Within each ABI directory, you'll find bin/, lib/, and include/ directories that contain the binary files, library files, and include files respectively.


3.1. Unix Packages

The following Unix packages are self-extracting archives that contain the Ultra Messaging code for the corresponding platform/ABI. If you transfer these packages via ftp, be certain to use binary mode; otherwise, the files will almost certainly become corrupted. For Linux be certain to select the package that matches your glibc. After download, the file(s) should be made executable with:

chmod +x *.sh
       

The archives should then be run from a central directory intended for Informatica products. For example:

mkdir Informatica 
cd Informatica 
../UMQ_5.3_Linux-glibc-2.3-ia64.sh 
       

The directory trees fit together without conflict. If you have multiple packages of different platform/ABIs and different releases, they will all fit together without conflict under the same directory.


3.2. Java Packages

When downloading jar files, some browsers offer to open the file with a java application. You should override this and save it to disk. After downloading the appropriate jar files for your version of Java, they should be saved in the directory where you normally keep your Java class and/or Jar files.

Important: Please make certain that your Java API package version matches your base library UM version.

Ultra Messaging supports Java Version 1.5 or greater.


3.3. Microsoft® Windows® Packages

The Microsoft Windows packages are standard installation executables which contain the Ultra Messaging code. These packages have dependencies on the Microsoft VC++ 2005 libraries. Install the Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package MFC Security Update which contains runtime components of the Visual C++ Libraries.

Important: All current Informatica Ultra Messaging products have a bug in the Microsoft Windows install package that can cause the install process to completely replace the value of the Windows Pathsystem variable. In our testing, and based on our research, this bug only happens when the length of the variable string exceeds 1024 bytes before the Ultra Messaging install. Please see the Informatica Knowlegebase for further information.


3.4. HP NonStop® Package

The HP NonStop package is a self-extracting archive that contains the Ultra Messaging Persistence Edition code for the HP NonStop platform. If you transfer these packages via ftp, be certain to use binary mode; otherwise, the files will almost certainly become corrupted.

Ultra Messaging supports HP NonStop Version J06.14 or greater.

The following UMP components and features do not run on the HP NonStop platform.

  • UM daemons

    • Persistent Store (umestored)

    • Multicast or Unicast Topic Resolver (lbmrd)

    • Gateway (tngwd)

    • UM Manager (ummd)

  • Java API and .NET API

  • UM transports LBT-IPC and LBT-RDMA

  • Multi-Transport Threads

  • Accelerated Multicast

The following UM products do not run on the HP NonStop platform.

  • Ultra Messaging Queuing Edition

  • Ultra Messaging Desktop Services

  • Ultra Messaging Cache


4. Legal Notices

4.1. Informatica Ultra Messaging Copyright

Version 5.3

July 2013

Copyright (c) 1998-2014 Informatica Corporation. All rights reserved.

This software and documentation contain proprietary information of Informatica Corporation and are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright law. Reverse engineering of the software is prohibited. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise) without prior consent of Informatica Corporation. This Software may be protected by U.S. and/or international Patents and other Patents Pending.

Use, duplication, or disclosure of the Software by the U.S. Government is subject to the restrictions set forth in the applicable software license agreement and as provided in DFARS 227.7202-1(a) and 227.7702-3(a) (1995), DFARS 252.227-7013(c)(1)(ii) (OCT 1988), FAR 12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14 (ALT III), as applicable.

The information in this product or documentation is subject to change without notice. If you find any problems in this product or documentation, please report them to us in writing.

Informatica, Informatica Platform, Informatica Data Services, PowerCenter, PowerCenterRT, PowerCenter Connect, PowerCenter Data Analyzer, PowerExchange, PowerMart, Metadata Manager, Informatica Data Quality, Informatica Data Explorer, Informatica B2B Data Transformation, Informatica B2B Data Exchange Informatica On Demand, Informatica Identity Resolution, Informatica Application Information Lifecycle Management, Informatica Complex Event Processing, Ultra Messaging and Informatica Master Data Management are trademarks or registered trademarks of Informatica Corporation in the United States and in jurisdictions throughout the world. All other company and product names may be trade names or trademarks of their respective owners.

Portions of this software and/or documentation are subject to copyright held by third parties, including without limitation: Copyright DataDirect Technologies. All rights reserved. Copyright (c) Sun Microsystems. All rights reserved. Copyright (c) RSA Security Inc. All Rights Reserved. Copyright (c) Ordinal Technology Corp. All rights reserved.Copyright (c) Aandacht c.v. All rights reserved. Copyright Genivia, Inc. All rights reserved. Copyright Isomorphic Software. All rights reserved. Copyright (c) Meta Integration Technology, Inc. All rights reserved. Copyright (c) Intalio. All rights reserved. Copyright (c) Oracle. All rights reserved. Copyright (c) Adobe Systems Incorporated. All rights reserved. Copyright (c) DataArt, Inc. All rights reserved. Copyright (c) ComponentSource. All rights reserved. Copyright (c) Microsoft Corporation. All rights reserved. Copyright (c) Rogue Wave Software, Inc. All rights reserved. Copyright (c) Teradata Corporation. All rights reserved. Copyright (c) Yahoo! Inc. All rights reserved. Copyright (c) Glyph & Cog, LLC. All rights reserved. Copyright (c) Thinkmap, Inc. All rights reserved. Copyright (c) Clearpace Software Limited. All rights reserved. Copyright (c) Information Builders, Inc. All rights reserved. Copyright (c) OSS Nokalva, Inc. All rights reserved. Copyright Edifecs, Inc. All rights reserved. Copyright Cleo Communications, Inc. All rights reserved. Copyright (c) International Organization for Standardization 1986. All rights reserved. Copyright (c) ej-technologies GmbH. All rights reserved. Copyright (c) Jaspersoft Corporation. All rights reserved. Copyright (c) is International Business Machines Corporation. All rights reserved. Copyright (c) yWorks GmbH. All rights reserved. Copyright (c) Lucent Technologies. All rights reserved. Copyright (c) University of Toronto. All rights reserved. Copyright (c) Daniel Veillard. All rights reserved. Copyright (c) Unicode, Inc. Copyright IBM Corp. All rights reserved. Copyright (c) MicroQuill Software Publishing, Inc. All rights reserved. Copyright (c) PassMark Software Pty Ltd. All rights reserved. Copyright (c) LogiXML, Inc. All rights reserved. Copyright (c) 2003-2010 Lorenzi Davide, All rights reserved. Copyright (c) Red Hat, Inc. All rights reserved. Copyright (c) The Board of Trustees of the Leland Stanford Junior University. All rights reserved. Copyright (c) EMC Corporation. All rights reserved. Copyright (c) Flexera Software. All rights reserved. Copyright (c) Jinfonet Software. All rights reserved. Copyright (c) Apple Inc. All rights reserved. Copyright (c) Telerik Inc. All rights reserved.

This product includes software developed by the Apache Software Foundation (http://www.apache.org/), and/or other software which is licensed under various versions of the Apache License (the "License"). You may obtain a copy of these Licenses at http://www.apache.org/licenses/. Unless required by applicable law or agreed to in writing, software distributed under these Licenses is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licenses for the specific language governing permissions and limitations under the Licenses.

This product includes software which was developed by Mozilla (http://www.mozilla.org/), software copyright The JBoss Group, LLC, all rights reserved; software copyright (c) 1999-2006 by Bruno Lowagie and Paulo Soares and other software which is licensed under various versions of the GNU Lesser General Public License Agreement, which may be found at http:// www.gnu.org/licenses/lgpl.html. The materials are provided free of charge by Informatica, "as-is", without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose.

The product includes ACE(TM) and TAO(TM) software copyrighted by Douglas C. Schmidt and his research group at Washington University, University of California, Irvine, and Vanderbilt University, Copyright (c) 1993-2006, all rights reserved.

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (copyright The OpenSSL Project. All Rights Reserved) and redistribution of this software is subject to terms available at http://www.openssl.org and http://www.openssl.org/source/license.html.

This product includes Curl software which is Copyright 1996-2007, Daniel Stenberg, <daniel@haxx.se>. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http://curl.haxx.se/docs/copyright.html. Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

The product includes software copyright 2001-2005 (c) MetaStuff, Ltd. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http://www.dom4j.org/ license.html.

The product includes software copyright (c) 2004-2007, The Dojo Foundation. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http://dojotoolkit.org/license.

This product includes ICU software which is copyright International Business Machines Corporation and others. All rights reserved. Permissions and limitations regarding this software are subject to terms available at http://source.icu-project.org/repos/icu/icu/trunk/license.html.

This product includes software copyright (c) 1996-2006 Per Bothner. All rights reserved. Your right to use such materials is set forth in the license which may be found at http:// www.gnu.org/software/ kawa/Software-License.html.

This product includes OSSP UUID software which is Copyright (c) 2002 Ralf S. Engelschall, Copyright (c) 2002 The OSSP Project Copyright (c) 2002 Cable & Wireless Deutschland. Permissions and limitations regarding this software are subject to terms available at http://www.opensource.org/licenses/mit-license.php.

This product includes software developed by Boost (http://www.boost.org/) or under the Boost software license. Permissions and limitations regarding this software are subject to terms available at http:/ /www.boost.org/LICENSE_1_0.txt.

This product includes software copyright (c) 1997-2007 University of Cambridge. Permissions and limitations regarding this software are subject to terms available at http:// www.pcre.org/license.txt.

This product includes software copyright (c) 2007 The Eclipse Foundation. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http:// www.eclipse.org/org/documents/epl-v10.php.

This product includes software licensed under the terms at http://www.tcl.tk/software/tcltk/license.html, http://www.bosrup.com/web/overlib/?License, http://www.stlport.org/doc/ license.html, http:// asm.ow2.org/license.html, http://www.cryptix.org/LICENSE.TXT, http://hsqldb.org/web/hsqlLicense.html, http://httpunit.sourceforge.net/doc/ license.html, http://jung.sourceforge.net/license.txt , http://www.gzip.org/zlib/zlib_license.html, http://www.openldap.org/software/release/license.html, http://www.libssh2.org, http://slf4j.org/license.html, http://www.sente.ch/software/OpenSourceLicense.html, http://fusesource.com/downloads/license-agreements/fuse-message-broker-v-5-3- license-agreement; http://antlr.org/license.html; http://aopalliance.sourceforge.net/; http://www.bouncycastle.org/licence.html; http://www.jgraph.com/jgraphdownload.html; http://www.jcraft.com/jsch/LICENSE.txt; http://jotm.objectweb.org/bsd_license.html; . http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231; http://www.slf4j.org/license.html; http://nanoxml.sourceforge.net/orig/copyright.html; http://www.json.org/license.html; http://forge.ow2.org/projects/javaservice/, http://www.postgresql.org/about/licence.html, http://www.sqlite.org/copyright.html, http://www.tcl.tk/software/tcltk/license.html, http://www.jaxen.org/faq.html, http://www.jdom.org/docs/faq.html, http://www.slf4j.org/license.html; http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/License; http://www.keplerproject.org/md5/license.html; http://www.toedter.com/en/jcalendar/license.html; http://www.edankert.com/bounce/index.html; http://www.net-snmp.org/about/license.html; http://www.openmdx.org/#FAQ; http://www.php.net/license/3_01.txt; http://srp.stanford.edu/license.txt; http://www.schneier.com/blowfish.html; http://www.jmock.org/license.html; http://xsom.java.net; and http://benalman.com/about/license/; https://github.com/CreateJS/EaselJS/blob/master/src/easeljs/display/Bitmap.js; http://www.h2database.com/html/license.html#summary; and http://jsoncpp.sourceforge.net/LICENSE.

This product includes software licensed under the Academic Free License http://www.opensource.org/licenses/afl-3.0.php), the Common Development and Distribution License (http://www.opensource.org/licenses/cddl1.php) the Common Public License (http://www.opensource.org/licenses/cpl1.0.php), the Sun Binary Code License Agreement Supplemental License Terms, the BSD License (http:// www.opensource.org/licenses/bsd-license.php) the MIT License (http://www.opensource.org/licenses/mit-license.php) and the Artistic License (http://www.opensource.org/licenses/artistic-license-1.0).

This product includes software copyright (c) 2003-2006 Joe WaInes, 2006-2007 XStream Committers. All rights reserved. Permissions and limitations regarding this software are subject to terms available at http://xstream.codehaus.org/license.html. This product includes software developed by the Indiana University Extreme! Lab. For further information please visit http://www.extreme.indiana.edu/.

This Software is protected by U.S. Patent Numbers 5,794,246; 6,014,670; 6,016,501; 6,029,178; 6,032,158; 6,035,307; 6,044,374; 6,092,086; 6,208,990; 6,339,775; 6,640,226; 6,789,096; 6,820,077; 6,823,373; 6,850,947; 6,895,471; 7,117,215; 7,162,643; 7,243,110, 7,254,590; 7,281,001; 7,421,458; 7,496,588; 7,523,121; 7,584,422; 7676516; 7,720,842; 7,721,270; and 7,774,791, international Patents and other Patents Pending.

DISCLAIMER: Informatica Corporation provides this documentation "as is" without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of noninfringement, merchantability, or use for a particular purpose. Informatica Corporation does not warrant that this software or documentation is error free. The information provided in this software or documentation may include technical inaccuracies or typographical errors. The information in this software and documentation is subject to change at any time without notice.

NOTICES

This Informatica product (the "Software") includes certain drivers (the "DataDirect Drivers") from DataDirect Technologies, an operating company of Progress Software Corporation ("DataDirect") which are subject to the following terms and conditions:

1. THE DATADIRECT DRIVERS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.

2. IN NO EVENT WILL DATADIRECT OR ITS THIRD PARTY SUPPLIERS BE LIABLE TO THE END-USER CUSTOMER FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR OTHER DAMAGES ARISING OUT OF THE USE OF THE ODBC DRIVERS, WHETHER OR NOT INFORMED OF THE POSSIBILITIES OF DAMAGES IN ADVANCE. THESE LIMITATIONS APPLY TO ALL CAUSES OF ACTION, INCLUDING, WITHOUT LIMITATION, BREACH OF CONTRACT, BREACH OF WARRANTY, NEGLIGENCE, STRICT LIABILITY, MISREPRESENTATION AND OTHER TORTS.


4.2. Third Party Notices

  1. UM's Java API makes use of the log4j software package, which is included with the Ultra Messaging distribution. The following terms of use apply (taken from http://www.apache.org/licenses/LICENSE-2.0.txt):

    Apache License
    Version 2.0, January 2004
    http://www.apache.org/licenses/
    
       TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    
       1. Definitions.
    
          "License" shall mean the terms and conditions for use, reproduction,
          and distribution as defined by Sections 1 through 9 of this document.
    
          "Licensor" shall mean the copyright owner or entity authorized by
          the copyright owner that is granting the License.
    
          "Legal Entity" shall mean the union of the acting entity and all
          other entities that control, are controlled by, or are under common
          control with that entity. For the purposes of this definition,
          "control" means (i) the power, direct or indirect, to cause the
          direction or management of such entity, whether by contract or
          otherwise, or (ii) ownership of fifty percent (50%) or more of the
          outstanding shares, or (iii) beneficial ownership of such entity.
    
          "You" (or "Your") shall mean an individual or Legal Entity
          exercising permissions granted by this License.
    
          "Source" form shall mean the preferred form for making modifications,
          including but not limited to software source code, documentation
          source, and configuration files.
    
          "Object" form shall mean any form resulting from mechanical
          transformation or translation of a Source form, including but
          not limited to compiled object code, generated documentation,
          and conversions to other media types.
    
          "Work" shall mean the work of authorship, whether in Source or
          Object form, made available under the License, as indicated by a
          copyright notice that is included in or attached to the work
          (an example is provided in the Appendix below).
    
          "Derivative Works" shall mean any work, whether in Source or Object
          form, that is based on (or derived from) the Work and for which the
          editorial revisions, annotations, elaborations, or other modifications
          represent, as a whole, an original work of authorship. For the purposes
          of this License, Derivative Works shall not include works that remain
          separable from, or merely link (or bind by name) to the interfaces of,
          the Work and Derivative Works thereof.
    
          "Contribution" shall mean any work of authorship, including
          the original version of the Work and any modifications or additions
          to that Work or Derivative Works thereof, that is intentionally
          submitted to Licensor for inclusion in the Work by the copyright owner
          or by an individual or Legal Entity authorized to submit on behalf of
          the copyright owner. For the purposes of this definition, "submitted"
          means any form of electronic, verbal, or written communication sent
          to the Licensor or its representatives, including but not limited to
          communication on electronic mailing lists, source code control systems,
          and issue tracking systems that are managed by, or on behalf of, the
          Licensor for the purpose of discussing and improving the Work, but
          excluding communication that is conspicuously marked or otherwise
          designated in writing by the copyright owner as "Not a Contribution."
    
          "Contributor" shall mean Licensor and any individual or Legal Entity
          on behalf of whom a Contribution has been received by Licensor and
          subsequently incorporated within the Work.
    
       2. Grant of Copyright License. Subject to the terms and conditions of
          this License, each Contributor hereby grants to You a perpetual,
          worldwide, non-exclusive, no-charge, royalty-free, irrevocable
          copyright license to reproduce, prepare Derivative Works of,
          publicly display, publicly perform, sublicense, and distribute the
          Work and such Derivative Works in Source or Object form.
    
       3. Grant of Patent License. Subject to the terms and conditions of
          this License, each Contributor hereby grants to You a perpetual,
          worldwide, non-exclusive, no-charge, royalty-free, irrevocable
          (except as stated in this section) patent license to make, have made,
          use, offer to sell, sell, import, and otherwise transfer the Work,
          where such license applies only to those patent claims licensable
          by such Contributor that are necessarily infringed by their
          Contribution(s) alone or by combination of their Contribution(s)
          with the Work to which such Contribution(s) was submitted. If You
          institute patent litigation against any entity (including a
          cross-claim or counterclaim in a lawsuit) alleging that the Work
          or a Contribution incorporated within the Work constitutes direct
          or contributory patent infringement, then any patent licenses
          granted to You under this License for that Work shall terminate
          as of the date such litigation is filed.
    
       4. Redistribution. You may reproduce and distribute copies of the
          Work or Derivative Works thereof in any medium, with or without
          modifications, and in Source or Object form, provided that You
          meet the following conditions:
    
          (a) You must give any other recipients of the Work or
              Derivative Works a copy of this License; and
    
          (b) You must cause any modified files to carry prominent notices
              stating that You changed the files; and
    
          (c) You must retain, in the Source form of any Derivative Works
              that You distribute, all copyright, patent, trademark, and
              attribution notices from the Source form of the Work,
              excluding those notices that do not pertain to any part of
              the Derivative Works; and
    
          (d) If the Work includes a "NOTICE" text file as part of its
              distribution, then any Derivative Works that You distribute must
              include a readable copy of the attribution notices contained
              within such NOTICE file, excluding those notices that do not
              pertain to any part of the Derivative Works, in at least one
              of the following places: within a NOTICE text file distributed
              as part of the Derivative Works; within the Source form or
              documentation, if provided along with the Derivative Works; or,
              within a display generated by the Derivative Works, if and
              wherever such third-party notices normally appear. The contents
              of the NOTICE file are for informational purposes only and
              do not modify the License. You may add Your own attribution
              notices within Derivative Works that You distribute, alongside
              or as an addendum to the NOTICE text from the Work, provided
              that such additional attribution notices cannot be construed
              as modifying the License.
    
          You may add Your own copyright statement to Your modifications and
          may provide additional or different license terms and conditions
          for use, reproduction, or distribution of Your modifications, or
          for any such Derivative Works as a whole, provided Your use,
          reproduction, and distribution of the Work otherwise complies with
          the conditions stated in this License.
    
       5. Submission of Contributions. Unless You explicitly state otherwise,
          any Contribution intentionally submitted for inclusion in the Work
          by You to the Licensor shall be under the terms and conditions of
          this License, without any additional terms or conditions.
          Notwithstanding the above, nothing herein shall supersede or modify
          the terms of any separate license agreement you may have executed
          with Licensor regarding such Contributions.
    
       6. Trademarks. This License does not grant permission to use the trade
          names, trademarks, service marks, or product names of the Licensor,
          except as required for reasonable and customary use in describing the
          origin of the Work and reproducing the content of the NOTICE file.
    
       7. Disclaimer of Warranty. Unless required by applicable law or
          agreed to in writing, Licensor provides the Work (and each
          Contributor provides its Contributions) on an "AS IS" BASIS,
          WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
          implied, including, without limitation, any warranties or conditions
          of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
          PARTICULAR PURPOSE. You are solely responsible for determining the
          appropriateness of using or redistributing the Work and assume any
          risks associated with Your exercise of permissions under this License.
    
       8. Limitation of Liability. In no event and under no legal theory,
          whether in tort (including negligence), contract, or otherwise,
          unless required by applicable law (such as deliberate and grossly
          negligent acts) or agreed to in writing, shall any Contributor be
          liable to You for damages, including any direct, indirect, special,
          incidental, or consequential damages of any character arising as a
          result of this License or out of the use or inability to use the
          Work (including but not limited to damages for loss of goodwill,
          work stoppage, computer failure or malfunction, or any and all
          other commercial damages or losses), even if such Contributor
          has been advised of the possibility of such damages.
    
       9. Accepting Warranty or Additional Liability. While redistributing
          the Work or Derivative Works thereof, You may choose to offer,
          and charge a fee for, acceptance of support, warranty, indemnity,
          or other liability obligations and/or rights consistent with this
          License. However, in accepting such obligations, You may act only
          on Your own behalf and on Your sole responsibility, not on behalf
          of any other Contributor, and only if You agree to indemnify,
          defend, and hold each Contributor harmless for any liability
          incurred by, or claims asserted against, such Contributor by reason
          of your accepting any such warranty or additional liability.
    
       END OF TERMS AND CONDITIONS
    
       APPENDIX: How to apply the Apache License to your work.
    
          To apply the Apache License to your work, attach the following
          boilerplate notice, with the fields enclosed by brackets "[]"
          replaced with your own identifying information. (Don't include
          the brackets!)  The text should be enclosed in the appropriate
          comment syntax for the file format. We also recommend that a
          file or class name and description of purpose be included on the
          same "printed page" as the copyright notice for easier
          identification within third-party archives.
    
       Copyright [yyyy] [name of copyright owner]
    
       Licensed under the Apache License, Version 2.0 (the "License");
       you may not use this file except in compliance with the License.
       You may obtain a copy of the License at
    
           http://www.apache.org/licenses/LICENSE-2.0
    
       Unless required by applicable law or agreed to in writing, software
       distributed under the License is distributed on an "AS IS" BASIS,
       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
       See the License for the specific language governing permissions and
       limitations under the License.
    
  2. Ultra Messaging makes use of the PCRE software package, which is included with the Ultra Messaging distribution. Be aware that we do not make use of or include the C++ wrapper functions. The following terms of use apply (taken from http://www.pcre.org/license.txt):

    PCRE LICENCE
    ------------
    
    PCRE is a library of functions to support regular expressions whose syntax
    and semantics are as close as possible to those of the Perl 5 language.
    
    Release 6 of PCRE is distributed under the terms of the "BSD" licence, as
    specified below. The documentation for PCRE, supplied in the "doc"
    directory, is distributed under the same terms as the software itself.
    
    The basic library functions are written in C and are freestanding. Also
    included in the distribution is a set of C++ wrapper functions.
    
    
    THE BASIC LIBRARY FUNCTIONS
    ---------------------------
    
    Written by:       Philip Hazel
    Email local part: ph10
    Email domain:     cam.ac.uk
    
    University of Cambridge Computing Service,
    Cambridge, England. Phone: +44 1223 334714.
    
    Copyright (c) 1997-2005 University of Cambridge
    All rights reserved.
    
    
    THE C++ WRAPPER FUNCTIONS
    -------------------------
    
    Contributed by:   Google Inc.
    
    Copyright (c) 2005, Google Inc.
    All rights reserved.
    
    
    THE "BSD" LICENCE
    -----------------
    
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions are met:
    
        * Redistributions of source code must retain the above copyright notice,
          this list of conditions and the following disclaimer.
    
        * Redistributions in binary form must reproduce the above copyright
          notice, this list of conditions and the following disclaimer in the
          documentation and/or other materials provided with the distribution.
    
        * Neither the name of the University of Cambridge nor the name of Google
          Inc. nor the names of their contributors may be used to endorse or
          promote products derived from this software without specific prior
          written permission.
    
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    POSSIBILITY OF SUCH DAMAGE.
    
    End
               
    
  3. A library in LBM, called liblbmsdm.so calls functions from an LGPL library called libiconv.so. On most Unix systems, libiconv.so is part of the set of libraries provided by the operating system. For Windows users, we distribute a version of the libiconv dynamic library with our release. LGPL provisions, and certain provisions of GPL, apply to the use of this Windows version. To review the LGPL, use this link: http://www.gnu.org/licenses/lgpl.html to review the GPL, use this link: http://www.gnu.org/licenses/gpl.html

  4. OpenSSL License
     ---------------
    
    ====================================================================
     Copyright (c) 1998-2011 The OpenSSL Project.  All rights reserved.
    
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions
     are met:
    
     1. Redistributions of source code must retain the above copyright
        notice, this list of conditions and the following disclaimer. 
    
     2. Redistributions in binary form must reproduce the above copyright
        notice, this list of conditions and the following disclaimer in
        the documentation and/or other materials provided with the
        distribution.
    
     3. All advertising materials mentioning features or use of this
        software must display the following acknowledgment:
        "This product includes software developed by the OpenSSL Project
        for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
    
     4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
        endorse or promote products derived from this software without
        prior written permission. For written permission, please contact
        openssl-core@openssl.org.
    
     5. Products derived from this software may not be called "OpenSSL"
        nor may "OpenSSL" appear in their names without prior written
        permission of the OpenSSL Project.
    
     6. Redistributions of any form whatsoever must retain the following
        acknowledgment:
        "This product includes software developed by the OpenSSL Project
        for use in the OpenSSL Toolkit (http://www.openssl.org/)"
    
     THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
     EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
     ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
     OF THE POSSIBILITY OF SUCH DAMAGE.
     ====================================================================
    
     This product includes cryptographic software written by Eric Young
     (eay@cryptsoft.com).  This product includes software written by Tim
     Hudson (tjh@cryptsoft.com).
    
    
    
     Original SSLeay License
     -----------------------
    
     Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
     All rights reserved.
    
     This package is an SSL implementation written
     by Eric Young (eay@cryptsoft.com).
     The implementation was written so as to conform with Netscapes SSL.
    
     This library is free for commercial and non-commercial use as long as
     the following conditions are adhered to.  The following conditions
     apply to all code found in this distribution, be it the RC4, RSA,
     lhash, DES, etc., code; not just the SSL code.  The SSL documentation
     included with this distribution is covered by the same copyright terms
     except that the holder is Tim Hudson (tjh@cryptsoft.com).
    
     Copyright remains Eric Young's, and as such any Copyright notices in
     the code are not to be removed.
     If this package is used in a product, Eric Young should be given attribution
     as the author of the parts of the library used.
     This can be in the form of a textual message at program startup or
     in documentation (online or textual) provided with the package.
    
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions
     are met:
     1. Redistributions of source code must retain the copyright
        notice, this list of conditions and the following disclaimer.
     2. Redistributions in binary form must reproduce the above copyright
        notice, this list of conditions and the following disclaimer in the
        documentation and/or other materials provided with the distribution.
     3. All advertising materials mentioning features or use of this software
        must display the following acknowledgement:
        "This product includes cryptographic software written by
         Eric Young (eay@cryptsoft.com)"
        The word 'cryptographic' can be left out if the routines from the library
        being used are not cryptographic related :-).
     4. If you include any Windows specific code (or a derivative thereof) from
        the apps directory (application code) you must include an acknowledgement:
        "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
    
     THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
     FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     SUCH DAMAGE.
    
     The licence and distribution terms for any publically available version or
     derivative of this code cannot be changed.  i.e. this code cannot simply be
     copied and put under another distribution licence
     [including the GNU Public Licence.]
               
    
  5. Not including the above, the code and documentation enclosed are copyrighted and confidential information owned by Informatica and are covered under the terms of our Software License Agreement or Non-Disclosure Agreement as appropriate. Use of this code and documentation without a valid Non Disclosure Agreement or Software License Agreement with Informatica is strictly prohibited. If this code and documentation is being supplied under the terms of a Non Disclosure Agreement, all copies, in any form, must be returned or destroyed at the end of the evaluation period or as requested by Informatica.

  6. Copyright (c) 2011 The LevelDB Authors. All rights reserved.
    
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions are
    met:
    
       * Redistributions of source code must retain the above copyright
          notice, this list of conditions and the following disclaimer.
       * Redistributions in binary form must reproduce the above
          copyright notice, this list of conditions and the following disclaimer
          in the documentation and/or other materials provided with the
          distribution.
       * Neither the name of Google Inc. nor the names of its
          contributors may be used to endorse or promote products derived from
          this software without specific prior written permission.
    
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.