IBM WebSphere
Telecom Web Services Server Component, Version 6.2.0.1
© Copyright International Business Machines Corporation 2007, 2008.
All rights reserved. US Government Users Restricted Rights - Use, duplication
or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
Contents
About this fix pack
This fix pack is a cumulative fix which includes all the latest changes for the
IBM® WebSphere® Telecom Web Services Server (TWSS), Version 6.2.0. This
fix pack is recommended for all customers with a TWSS 6.2.0
installation.
This fix pack is installed using the WebSphere Update Installer as well as some manual updates.
Fix and update history
This fix pack includes the following APARs and fixes. This package includes all fixes for
the Access Gateway, Service Policy Manager, Service Platform components, and TWSS Web service implementations.
Interim Fix 001
- ArrayOutOfBoundsException occurs on notifymgmt.ear: (APAR LI72617) Corrects a problem
in which the notifymgmt.ear gets an ArrayOutOfBoundsException during the registerNotification method.
- Add configuration for the SMPP system_type PDU field: (APAR LI72618) Corrects a problem
in the SMS and WAP services for SMPP by adding a configuration setting in the network mapper
Administration Console page. The administrator can use this setting to specify the value of the
system_type field that is used during the Bind Transceiver operation.
- Memory leak in SMS, WAP, and MMS services: (APAR LI72622) Corrects a problem
in the SMS, WAP and MMS service EARs and the SMPPConnector.rar that results in a memory leak.
- Service Policy Manager Console hangs: (APAR LI72628) Corrects a problem
in the Service Policy Manager Console that may result in the browser looping or hanging and requiring the
user to exit the browser.
- Missing SMS Resources cause stack dump in trace log: (APAR LI72628) Corrects a problem
in the SMS service where a few resources were missing from a resource file causing exceptions to be
dumped into the trace log. This was harmless but appeared to be a problem.
- Added Attachment Size limit policy to Access Gateway: (APAR LI72628) Corrects a problem
in the Access Gateway by enforcing limits on the size of attachments sent to the system.
Interim Fix 002
- SMS & WAP JNDI Names conflict: (APAR LI72798) Corrects a problem
in the SMS and WAP services such that the JNDI names are unique.
- MMS Usage Records are updated: (APAR LI72798) Corrects a problem
in the MMS service to add a missing usage record for the message delivery status. The usage record is now generated.
- Access Gateway policy initialization script corrections: (APAR LI72798) Corrects a problem
in the Access Gateway policy initialization script that resulted in a missing policy and a misspelled policy.
The policy spelling is corrected, and a missing policy is added.
- SMS and WAP Performance Improvement related to use of getProperty(): (APAR LI72798) Corrects a problem
in the SMS and WAP service related to calling the getProperty() instead of getPropertyFromCache(),
the service now looks in the cache appropriately.
- SMS and WAP Performance Improvement related to use of 'reverse scan' in the DDL: (APAR LI72798) Corrects a problem
in the SMS and WAP service related to the use of the 'reverse scan' clause in the DLL. When creating indexes, the
reverse scan clause is removed.
- SPM Console encrypted policies are not working properly: (APAR LI72798) Corrects a problem
in the SPM Console where encrypted policies are not working properly. Encrypted policies are now displayed as obscured,
and the page behavior is corrected.
- SPM Console security and session timeout is not working properly: (APAR LI72798) Corrects a problem
in the SPM Console where the session is not timing out properly when security is enabled.
- SMS Performance improvement related to use of initProperties(): (APAR LI72798) Corrects a problem
in the SMS service such that the initProperties() method is called only during initialization.
- SMS/SMPP Usage Records updated to add charging information: (APAR LI72798) Corrects a problem
in the SMS service so that the charging information passed on the Web Service request is added to the usage records.
- Incorrect security constraints in some applications: (APAR LI72798) Corrects a problem in
Address List Management, Notification Management, Presence, Terminal Status, and Call Notification so that
the deployment descriptor security constraints are appropriate.
- Server stop cleanup for Terminal Location: (APAR LI72798) Corrects a problem
in Terminal Location for MLP when exceptions occurred during server stop.
- MMS Configuration for MMSC path added: (APAR LI72694) Corrected a problem in the
MMS Service configuration by enabling the URL path for the MMSC to be configurable.
- commit() exception on Notification Manager registerNotification: (APAR LI72714) Corrects a problem
in the Notification Manager application executing the registerNotification operation which was causing an
exception trying to commit the transaction.
Interim Fix 003
- MMSC HTTP 500 response code and interoperability (APAR LI72787) Corrects a problem in the
MMS for MM7 service that results in an HTTP error code 500, and some additional interoperability problems that
required some additional configuration. Additionally, MMS will now work without attachments.
- Incorrect security constraints in some applications: (APAR LI72798) Corrects a problem in
the Service Implementations so that the deployment descriptor security constraints are appropriate.
- SMPP SMS Server Stop Exceptions (APAR LI72798) Corrects a problem in the SMPP Resource Adapter that
causes exceptions when the SMPP SMS service is stopped.
- Access Gateway Flow Post Processing updated (APAR LI73016) Corrects several problems in the Access Gateway
post processing that is run after a TWSS Access Gateway flow is customized by WID. This update
fixes the problems related to the j2ee: namespace prefix being added to several deployment descriptors in the EAR.
The 6.2.0-WS-WAS-TWSS-WIDPlugins-FP000001.zip file contains the updated post processing files that are originally delivered in the WID Installer.
Interim Fix 004
- UTC Time stamp values in Access Gateway (APAR LI73021) New functionality to enable time stamps to be stored either in UTC (Universal Time Code) or in local system time.
- Problem when security is disabled for Access Gateway (APAR LI73129) Corrects the problem in Access Gateway related to the processing of the Message Element Remover mediation primitive when a notification is received from the PX Notification common component and security is disabled for Access Gateway. See the required configuration steps below.
- Messages are sent continuously to the SMSC in the SMPP JCA Adapter (APAR LI73119) Corrects the problem in the SMPP Resource Adapter that sends two BindTransceiver requests to the SMSC.
- WAP Push Web Service port number values are limited to 9999 and below (APAR LI73128) Corrects the problem in WAP Push over SMPP in which the port number value in the backend configuration is restricted to a maximum of 9999.
- Sending WAP Push SMS to cell phones resulted in incorrect output (APAR LI73130) Corrects the problem with WAP Push messages being sent to the actual device not being recognized as a WAP message and displaying incorrect characters.
- MMS over MM7, issue related to optional parameters VaspId and VasId (APAR LI73098) Corrects the problem with the optional parameters not taking effect when they are configured through the TWSS Administration Console.
- ALM over XDMS, issue related to accepting empty string values for Provider Domain property (APAR LI73094) Corrects the problem in Address List Management over XDMS in which the Provider Domain mbean value in the backend configuration was not being set (empty string).
- ALM over XDMS , functionality related to sending requests to XDMS when security is not enabled at Access Gateway (APAR LI73092) New functionality to enable ALM to send requests to XDMS when security is not enabled at Access Gateway and the ALM Web service is enabled at XDMS. See the required configuration steps below.
- TPC over SIP, service.config.StatusRetainTime service policy is not being supported (APAR LI73132) Corrects the problem in Third-Party Call over SIP related to the status retain time service policy, where the mbean value is not being overridden by the service policy value.
Fix Pack 001
- SMS over SMPP, issue related to BASE64 encoded BMP files not being handled by sendSmsLogo operation (APAR LI72968) Corrects the problem related to the sendSmsLogo operation to handle BASE64 encoded BMP files properly.
- SMS over SMPP, issue related to RTX format not being supported by sendSmsRingTone operation (APAR LI72969) Corrects the problem related to the sendSmsRingTone operation to support messages in RTX format.
- Issue related to the incorrect policy scope values in python script files (APAR LI73157) Corrects the problem related to the incorrect policy scope values being set in the python script files for the following TWSS services:
- Address List Management over XDMS
- Presence over SIP/IMS
- Terminal Status over SIP/IMS
- Terminal Status over Parlay
- Terminal Location over Parlay
- Terminal Location over MLP
- MMS over MM7, issue related to the parsing of MM7 XML tags (APAR LI73166) Corrects the problem related to the incorrect parsing of XML tags and attributes received from MMSC.
- SMS over SMPP, issue related to the MESSAGE ID IS INVALID ERROR response from SMSC (APAR LI73185) Corrects the problem related to the incorrect message ID being set in Deliver SM responses (DELIVER_SM_RESP PDU ) sent to SMSC from TWSS.
- Address List Management over XDMS, issue related to the extra slash "/" in the group names (APAR LI73225) Corrects the problem related to an extra slash "/" being appended to the group name created when the user=global option is set.
- Terminal Location over MLP, issue related to the MLP FORMAT_ERROR response from MLP Location Server (APAR LI73230) Corrects the problem related to the incorrect input XML tag and sequence of attributes being sent for the location-based operations.
- SPM console, issue related to the connectivity problem (APAR LI73232) Corrects the problem related to the user entered Connection Details data (URL, username, password) not being validated against the specified Service Policy Manager runtime. The user will remain on the Connection Details entry page until the connectivity validation completes succesfully.
Software compatibility
- Operating systems:
- Red Hat Enterprise Linux ® AS 4.0 Update 5
- SUSE Linux Enterprise Server 9 SP 3
- AIX ® 5L 5.3 TL 05 SP 6
- Application server
- WebSphere Application Server Network Deployment, Version 6.1.0.11
- iFix PK49611
- iFix PK52139
- iFix PK53626 (part of the 6.1.0.11-WS-WAS-IFSIP_101707 cumulative package)
- iFix PK53885
- iFix PK54131 (part of the 6.1.0.11-WS-WAS-IFSIP_101707 cumulative package)
- WebSphere Application Server Enterprise Service Bus, Version 6.0.2.2
- iFix IC53828
- iFix JR27493
- WebSphere Integration Developer, Version 6.0.2.2
- Java™
- JDK, Version 1.5 (included with WebSphere Application Server Network Deployment)
- Databases
- IBM DB2 Universal Database™ Version 9.1 FixPak 2
- Oracle Database Version 10.2.0.2
Viewing the Changed File.list in the Update Installer .pak file
Update installer .pak files are delivered in .zip format. To view the contents of a .pak file, use any archiving tool
that can read .zip files. The Java jar tool can also extract the files.list file from the .pak file.
To view the contents, type jar -tf fixpack_name.pak
To extract the files.list, type jar -xf fixpack_name.pak repository/twss.svc/files.list
Next, you can use an editor to view the files.list, which lists all of the files to be changed for the .pak file.
Installation requirements
Hardware requirements
Hardware requirements for TWSS are included in the information center and have not changed since version 6.2.0. Refer to the following information for details:
http://publib.boulder.ibm.com/infocenter/wtelecom/v6r2m0/topic/com.ibm.twss.doc/com_prereqs.html
Software requirements
Software requirements for TWSS are included in the information center. Refer to the following information for details:
http://publib.boulder.ibm.com/infocenter/wtelecom/v6r2m0/topic/com.ibm.twss.doc/com_prereqs.html
In addition to the prerequisites listed in the information center, the following maintenance fixes are required:
Installation instructions
Before you begin, ensure that the following service has been applied to the application server for the Access Gateway and Service Platform:
Note: In this section, WAS_ROOT refers to the WebSphere home directory, for example /opt/IBM/WebSphere/AppServer.
To apply the fix pack, complete the following steps:
- Verify that the WebSphere Application Server (WAS) version is 6.1.0.11, and that the appropriate iFix or iFixes have been applied.
- Verify that the WebSphere Application Server Enterprise Service Bus (ESB) version is 6.0.2.2, and that the appropriate iFix or iFixes have been applied.
- If you have an earlier TWSS fix pack that was installed using the Update Installer, uninstall it. The
TWSS Update Installer fix packs are cumulative.
- Download the WebSphere Update Installer version 6.1.0.13 on both the
Access Gateway application servers and the Service Platform application servers. You will use this version of the update
installer for both the Access Gateway which is based on WAS 6.0 and the Service Platform which is based on WAS 6.1
- Download the IMS UPDI Plugins package 6.2.0.1-WS-WAS-IMS-UPDIPlugins.pak into the
WAS_ROOT/updateInstaller/maintenance directory on both the Access Gateway application servers and the Service Platform application servers.
- If the IMS UPDI Plugin is already installed on the WAS Update Installer (Note: After applying the IMS Update Installer Plugin, if you have upgraded or installed a new version of the WAS Update Installer (UPDI) itself, then you won’t be able to apply this fix pack. You need to download and run a reset script available on the support download site which will then allow installation of TWSS 6.2.0.1 fixpack.
For details see the IMS Update Installer Plugins installation page for fix pack 6.2.0.1:
http://www.ibm.com/support/docview.wss?uid=swg24017457
- Download the TWSS Update Installer package 6.2.0-WS-WAS-TWSS-AG-FP000001.pak into the
WAS_ROOT/updateInstaller/maintenance directory on the Access Gateway servers.
- Download the TWSS Update Installer package 6.2.0-WS-WAS-TWSS-SP-FP000001.pak into the
WAS_ROOT/updateInstaller/maintenance directory on the Service Platform servers.
- Download the TWSS Update Installer package 6.2.0-WS-WAS-TWSS-Services-FP000001.pak into the
WAS_ROOT/updateInstaller/maintenance directory on the Service Platform servers.
- Start the Update Installer as described in the WebSphere documentation, and select the TWSS fix pack(s) to be installed.
The UPDI Plugins package should be installed first to each server.
The 6.2.0-WS-WAS-TWSS-AG-FP000001.pak contains updates to the Access Gateway.
The 6.2.0-WS-WAS-TWSS-SP-FP000001.pak contains updates to the Service Platform and should be installed before the services.
The 6.2.0-WS-WAS-TWSS-Services-FP000001.pak contains updates to the TWSS Services.
The Update Installer updates the WAS_ROOT/installableApps/TWSS-Base and WAS_ROOT/installableApps/TWSS-Services directory
contents, but does not deploy the updates onto the application server.
- Update the component EARs that are deployed on the application server:
- Start WebSphere Application Server where the component is installed.
- Open the Integrated Solutions Console and log in.
- Click Applications > Enterprise Applications and select the appropriate Application EAR.
- Click Uninstall.
- Follow the instructions in the information center to install the new EARs
included in the fix pack. Refer to the following instructions:
http://publib.boulder.ibm.com/infocenter/wtelecom/v6r2m0/topic/com.ibm.twss.install.doc/intro_c.html
- Review iFix contents for updated database initialization (.ddl) files or policy initialization script (.py) files, and use them to initialize the database or policies according to the instructions in the InfoCenter.
Configuration instructions
The configuration for TWSS is the same as that described in the InfoCenter, except as specified in either
the TWSS 6.2.0 Readme (WebSphereProductsForTelecomReadme.html) or this Readme.
Attachment Limit Configuration
This iFix defines a default SOAP attachment size limit of 1 MB, requiring that the size of any one attachment
or the combination of all attachment parts passed on a Web service request not exceed this limit.
This iFix also adds the ability to override the default attachment size limit through the use of name space bindings.
There are two name space binding values that can be defined to set the size limit for attachments: one to set the
individual size limit for attachment parts and the second to set the overall limit for all attachments.
To change the default SOAP attachment size limit, complete the following steps on the
deployment manager and synchronize the changes with all nodes:
- Log in to the Integrated Solutions Console.
- In the navigation panel, click Environment > Naming > Name Space Bindings.
- Select cell_name for the Scope, and click Apply.
- To change the default maximum size of an attachment part that can be attached to
an inbound message, create a name space binding for the SOAP attachment part maximum size:
- Click New.
- Click String for the binding type, and click Next.
- Type SOAP_attachment_part_max_size for the Binding Identifier.
- Type sca/attachments/MaxSizeAttachmentPart for the Name in Name Space.
- Type the maximum allowed size of an attachment part for a given message. This is an integer number
measured in MBytes (when followed by 'M' or 'm'), or KBytes (when followed by 'K' or 'k'), or bytes
(when followed by 'B' or 'b'). The default value used is '1M'.
- Click Finish, and click Save to save changes to the master configuration.
- To change the default maximum size of all attachment parts that can be attached to
an inbound message, create a name space binding for the SOAP attachment maximum size:
- Click New.
- Click String for the binding type, and click Next.
- Type SOAP_attachment_max_size for the Binding Identifier.
- Type sca/attachments/MaxSizeAttachments for the Name in Name Space.
- Type the maximum allowed size of all attachment parts for a given message. This is an integer number
measured in MBytes (when followed by 'M' or 'm'), or KBytes (when followed by 'K' or 'k'), or bytes
(when followed by 'B' or 'b'). The default value used is '1M'.
- Click Finish, and click Save to save changes to the master configuration.
system_type configuration
In either the SMS or WAP applications for SMPP, use the TWSS Administration Console to locate the Network Mapper configuration
page. That page contains an additional configuration setting for the value used in the system_type field of the SMPP Bind Transceiver operation.
reorgchk to optimize DB2 performance
DB2 relies upon calculated values for optimal performance. The database catalog statistics and the physical organization of the data in the tables are used to provide optimal database performance. Catalog statistics should be recomputed periodically as the data in the tables changes. This need is greatest after periods of heavy data modifications (inserts, updates, and deletes) such as during initial population or periodic purge activities. These calculations are CPU intensive and block access to the database while they run. We recommend this maintenance be performed during an appropriate service window.
The DB2 reorgchk command is the simplest way to count and record the statistical details about tables, indexes and columns. There are other more tightly focused techniques that may provide improved results. If you experience poor database performance after completing this command, consult the database administrator and inquire about using other techniques to improve the database performance.
db2 reorgchk update statistics on table all
No J2C activation specification for the MM7 Resource Adapter
When installing the MM7Connector.rar (MM7 Resource Adapter), there is no J2C activation specification associated with that adapter. Therefore, when you use the procedure titled "Installing the JCA adapter for SMPP and MM7-based Web service implementations" in the InfoCenter (http://publib.boulder.ibm.com/infocenter/wtelecom/v6r2m0/topic/com.ibm.twss.install.doc/jca_adapter_t.html), you should skip step 4 when deploying Parlay X Multimedia Messaging over MM7.
Disabling PMI improves performance
The TWSS 6.2.0.0 product readme recommends turning off PMI (Performance Monitoring Interface) in order to avoid a performance problem.
There is a more specific method of disabling the specific PMI metrics that cause the performance problem, which allows PMI to be generally used.
- In the WAS Administration Console, on the left side, click Monitoring and Tuning > Performance Monitoring Infrastructure (PMI).
- Select the correct application server instance. This should be done for each application server instance when in a cluster.
- Ensure that Enable PMI is checked.
- Click Custom.
- On the left side of the customization area, select Web Applications.
- Select URIConcurrentRequests, URIServiceTime, and URIRequestCount.
- Select Disable.
- Save the changes and restart the server.
Performance improvement for DNS lookups
If you experience very slow response from the TWSS Administration Console or Parlay Administration Console, particularly on AIX, this
can be due to poor or unpredictable response times from the DNS server. The Java JVM provides a system property com.ibm.cacheLocalHost that
can be set to true. This will improve lookups of the localhost IP address. This Java JVM system property should be set in the Process Definition
for the Deployment Manager and all Application Server instances.
Additional Configuration for MMS/MM7 service
Additional configuration settings for MM7 optional parameters has been introduced to the MMS Administration Console configuration
that enables these MM7 protocol fields to be set appropriately to interoperate with various MMS-C servers. Most notably are the
additional settings for VASPID, VASID, Distribution Indicator. See the help provided for these settings in the Administration Console after
installing the updated EAR file.
Additional Configuration for Access Gateway and PX Notification when security is disabled at Access Gateway
Using PX Notification when security is disabled at the Access Gateway requires additional configurations
such as User Name for PX Notification and the requesterExceptionList in Access Gateway.
To configure the PX Notification properties like User Name:
- Log in to the Administration Console that contains
the TWSS Service Platform common components.
- In the left pane, expand
TWSS Administration Console -> Web Services - > Clusters.
- Click the cluster name.
- In the Web Service Platform pane, click PXNotification.ear.
- In the Component Configuration pane, click PXNotification Delivery Web Service.
- In the Runtime properties pane enter a User Name and optionally a Password.
- Click OK and then the changes.
To configure the requesterExceptionList:
- Log in to the Administration Console that contains the TWSS Access Gateway default flow(s).
- In the left pane, expand Applications.
- Click SCA modules.
- In the SCA Modules pane, click one of the installed TWSS Access Gateway default flows.
- In the Configuration pane under Additional properties, click Module properties.
- Locate the MsgElementRemover.request.requesterExceptionList
property. This property is a comma-delimited list of requesters for which the configured message
element will not be removed.
- Set or add the user name you used to configure the
PX Notification Delivery Web Service User Name property.
- Click OK and save the changes.
Both changes will become effective after the save is completed. No server restart is needed.
Additional Configuration for ALM over XDMS when security is disabled for Access Gateway
A new service policy, service.config.UserName, is added to the Address List Management over XDMS
Web service implementation. The new policy accepts the user name value and needs to be configured at the
Service Policy Manager. This configuration enables the Access Gateway and Address List Management systems to
run with security off while using the user name (for basic authentication or asserted identity) and passing it to
XDMS when security is on at XDMS. When the requester ID is specified, it will take
precedence over the user name.
The precedence is Requester ID -> User Name from Service Policy -> UNAUTHENTICATED.
The following topic in the IBM WebSphere XDMS information center provides the required information
on creating proper access rights when the value for the service.config.UserName service policy is
different from the actual owner of the document.
http://publib.boulder.ibm.com/infocenter/wtelecom/v6r2m0/index.jsp?topic=/com.ibm.xdms.doc/grantingmanyidentitiesreadaccesstoalldocumentsinadirectory.html
Example: User Name service policy value is sip:bob@ibm.com and the actual owner for the document
is sip:john@ibm.com. Access rights need to be created for sip:bob@ibm.com to read, write,
update, or administer the documents owned by sip:john@ibm.com.
Additional configuration for Message Logger mediation primitive in TWSS Access Gateway
The following technote (IC53621) from WebSphere Application Server ESB provides a workaround when you require
triggers or stored procedures with the Message Logger mediation primitive database table on Oracle.
http://www.ibm.com/support/docview.wss?uid=swg1IC53621
Functionality improvement to TWSS common components
This fix addresses the issue related to the XA exception when a TWSS common component (Usage Records, Notification Management or PxNotification ) interacts with the JMS queue or with database tables.
Functionality improvement to SMS over SMPP Failover
New functionality to enable the SMS over SMPP service to re-create binding with the SMSC after the TWSS system restarts.
Functionality improvement to Parlay Connector
New functionality in the Parlay Connector to maintain a unique assignment ID across the cluster even if the assignmentID changes between the managed service manager objects at the Parlay gateway. This functionality requires the PARLAYDB to be re-created. See the TWSS 6.2 information center for details about creating the database.
Public interface for TWSS Service Platform API
New interface for TWSS Service Platform to ease the creation of custom Web Services using TWSS.
Additional configuration for SMS/SMPP service
A new configuration parameter, Connection re-try interval, has been introduced to the SMS SMPP ENQUIRELINK MBean in TWSS SMS Administration Console configuration. It provides an option to configure the time interval used to trigger the connection bind. It is used for establishing the connection with the SMSC when it has valid notifications at the time of TWSS server start.
The default value is 3 minutes. The valid range is 3-60 minutes. See the help provided for these settings in the Administration Console after installing the updated EAR file.
Additional information
The SMS over SMPP and WAP Push over SMPP Web services cannot coexist on the same application server.
Updates, limitations, and known problems
Updates, limitations, and known problems about Telecom Web Services Server are documented in technotes on the IBM Software Support Web
site: http://www.ibm.com/software/pervasive/serviceserver/support/
As limitations and problems are discovered and resolved, the IBM Software
Support team updates the knowledge base. By searching the knowledge base,
you can quickly find workarounds or solutions to problems that you experience.
The following link launches a customized query of the live Support
knowledge base. To create your own query, go to the Advanced search page.
All technotes for Telecom Web Services Server Version 6.2.0:
http://www.ibm.com/support/search.wss?word=aw&wfield=&nw=&apar=include&tc=SS2PVA&atrn=SWVersion&atrv=6.2.0&atrn1=&atrv1=&atrwcs=on&lang=all&dr=all&r=10&cc=us&from=advs&loc=en_US&rs=3075&cs=utf-8&Submit.x=39&Submit.y=16
Trademarks
The following terms are trademarks of International Business Machines Corporation
in the United States, other countries, or both: IBM, WebSphere, DB2 Universal Database, and AIX
Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks
of others.