Oracle's JD Edwards EnterpriseOne 8.11 Tuning Guidelines for - IBM
Oracle's JD Edwards EnterpriseOne 8.11 Tuning Guidelines for - IBM
Oracle's JD Edwards EnterpriseOne 8.11 Tuning Guidelines for - IBM
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>IBM</strong> / Oracle International Competency Center<br />
September 2005<br />
Oracle’s <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong><br />
<strong>8.11</strong> <strong>Tuning</strong> <strong>Guidelines</strong> <strong>for</strong> the <strong>IBM</strong><br />
eServer pSeries<br />
By Larry Grubbs<br />
pSeries IT Specialist<br />
<strong>IBM</strong> / Oracle International Competency Center<br />
© Copyright 2005, <strong>IBM</strong> Corporation
Oracle’s <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> <strong>8.11</strong> <strong>Tuning</strong> <strong>Guidelines</strong> <strong>for</strong> the <strong>IBM</strong> eServer pSeries<br />
Page 2<br />
Table of contents<br />
1 2 Table Introduction of contents<br />
1 2 Highlights Test environment <strong>for</strong> establishing<br />
3 Subheads recommendations<br />
4 3 Bulleted <strong>JD</strong> <strong>Edwards</strong> copy <strong>EnterpriseOne</strong> opti-<br />
5 Graphics mization <strong>for</strong> and POWER4 illustrations or<br />
5 Trademark<br />
POWER5 s and special special<br />
4 WebSphere characters application server<br />
6 5 Quotations<br />
HTTP server<br />
7 6 Charts <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> JAS<br />
8 Legal server copy<br />
7 Oracle database settings<br />
Introduction<br />
The reduced total cost of ownership and an increasingly internet<br />
sophisticated enterprise user base has driven the demand of the <strong>JD</strong><br />
<strong>Edwards</strong> <strong>EnterpriseOne</strong> HTML solution. This increased demand in<br />
turn calls <strong>for</strong> a tuning guide that will optimize the per<strong>for</strong>mance of such<br />
a system. For the best per<strong>for</strong>mance of the HTML client, parameters in<br />
the WebSphere® Application Server, the HTTP Server, and the <strong>JD</strong><br />
<strong>Edwards</strong> <strong>EnterpriseOne</strong> JAS and enterprise servers need to be tuned<br />
along with the Oracle database itself. Many of these configurable<br />
parameters are based on the number of users.<br />
Consider these parameter guidelines as a starting point. Your environment<br />
will be different from our lab and your results may vary. For<br />
example, if you run a different mix of batch jobs (UBEs), or have other<br />
applications running on your system, additional iterations may be<br />
required to optimize the per<strong>for</strong>mance of your implementation. Keep in<br />
mind that there are steady improvements and fixes in the <strong>IBM</strong>®<br />
eServer pSeries® software and <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> code so,<br />
over time, the guidelines established by our ongoing testing will<br />
continue to improve as well.<br />
For each configurable parameter, we have included:<br />
• an explanation<br />
• where practical, the actual settings <strong>for</strong> 350 users (175 users<br />
running distribution applications, 87 users running<br />
manufacturing applications, and 88 users running financial<br />
applications). These settings should be extrapolated <strong>for</strong><br />
your environment based on your number of users.<br />
• the recommendation summarized in general terms.<br />
Test environment <strong>for</strong> establishing recommendations<br />
We tested with AIX® 5.3 ML02 on the pSeries server with WebSphere<br />
5.0.2 and <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> <strong>8.11</strong>. The hardware configuration<br />
that we tested was Physical 3-Tier (P3T), each tier was a separate<br />
LPAR on a single eServer pSeries 570 POWER5 server. The first<br />
LPAR was set up as the <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> JAS server with<br />
WebSphere, the second pSeries LPAR was set up as the <strong>JD</strong> <strong>Edwards</strong><br />
<strong>EnterpriseOne</strong> enterprise server, and the last pSeries LPAR was set<br />
up as the <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> Database server. All partitions<br />
were initially setup as Dedicated Processor partitions.<br />
®<br />
© Copyright 2005, <strong>IBM</strong> Corporation
Oracle’s <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> <strong>8.11</strong> <strong>Tuning</strong> <strong>Guidelines</strong> <strong>for</strong> the <strong>IBM</strong> eServer pSeries<br />
Page 3<br />
All pSeries servers used in this testing had the level of software installed as shown in the table below.<br />
This combination of software offered the latest fixes available at the time of the testing and is included <strong>for</strong><br />
your reference. Keep in mind that software does change and improve over time, and we generally<br />
recommend that customers stay current on service packs. Check the <strong>JD</strong> <strong>Edwards</strong> Customer Connection<br />
web site <strong>for</strong> latest versions of supported software.<br />
Software <strong>for</strong> test environment Description Service Pack:<br />
AIX 5.3 ML02<br />
Oracle Database 9.2.0.6 Fixpak 6<br />
<strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> <strong>8.11</strong> 8.94 System<br />
HTTP 1.3.26.2<br />
WebSphere 5.0.2 CF3<br />
Java 1.4.2<br />
Table 1. Test environment update levels<br />
<strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> optimization <strong>for</strong> POWER4 or POWER5<br />
The <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> Optimization Flags section of the jde.ini file was changed. In addition to<br />
the already present –O2 flag which is a direct result of previous <strong>IBM</strong> testing, include the –qarch=pwr5<br />
flag, or –qarch=pw4 <strong>for</strong> POWER4 architecture. This flag optimizes the code <strong>for</strong> the POWER4 or<br />
POWER5 architecture. See below <strong>for</strong> an actual copy of the BSFN Build section of the jde.ini file used.<br />
The OptimizationFlags section has been Bold printed with the new compiler flag additions being underlined.<br />
[BSFN BUILD]<br />
BuildArea=/u01/peoplesoft/b9/packages<br />
OptimizationFlags=-O2 -qarch=pwr5 (OptimizationFlags=-O2 –qarch=pwr4)<br />
DebugFlags=-g -qfullpath -qdbextra -D_DEBUG -D<strong>JD</strong>EDEBUG<br />
InliningFlags=<br />
DefineFlags=-DKERNEL -DPRODUCTION_VERSION -DNATURAL_ALIGNMENT<br />
CompilerFlags=-qalign=natural -qflag=I:I -c<br />
OSReleaseLevel=<br />
LinkFlags=-bI:/u01/peoplesoft/b9/system/bin32/funclist.imp -bM:SRE -bexpall -brtl -lc -lm -bnoentry -L. -<br />
L/u01/<br />
peoplesoft/b9/system/lib -ljdelib -lcallobj -lerror -lgentext -ljdb -ljde_erk -ljdecache -ljdeddapi -ljdeknet -<br />
ljderepl -ljdeschr -ljdesec -ljdespec -ljdetam -llanguage -lmisc -lpackage -lport -lqueueknl -lruntime -lsrc -l<br />
transmon -lube -lworkflow -ljdesaw -ljdenet -lowver -ljdeunicode -lv_verify -bloadmap:loadmap<br />
LinkLibraries=v_verify.so<br />
SimultaneousBuilds=5<br />
This change should be followed by a package build and redeployment of this package. After the package<br />
deployment the change should net up to a 3% decrease of the <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> CPU.<br />
®<br />
© Copyright 2005, <strong>IBM</strong> Corporation
Oracle’s <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> <strong>8.11</strong> <strong>Tuning</strong> <strong>Guidelines</strong> <strong>for</strong> the <strong>IBM</strong> eServer pSeries<br />
Page 4<br />
WebSphere application server<br />
Most of these settings are changed by starting the WebSphere Administrative Console using a Web<br />
browser.<br />
WebSphere Application Server instances (or JVMs)<br />
HTML Clients use a web browser running Internet Explorer 6.0 which connects through the HTTP Server<br />
running on the pSeries server to pass requests to WebSphere running <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> JAS<br />
servlets and JSPs. We followed the JAS installation instructions <strong>for</strong> creating the JAS server instance<br />
(referred to as a JVM because each instance runs in its own Java Virtual Machine). We found that each<br />
JVM provided the best per<strong>for</strong>mance if it supported up to 350 users. Running 350 or fewer users per JVM<br />
reduces the memory contention within WebSphere and there<strong>for</strong>e reduces the response time <strong>for</strong> the HTML<br />
clients. If you have more than 350 users, you will need to create additional instances to provide <strong>for</strong> the<br />
additional users, as needed.<br />
350 user example: we created one JVM to accommodate our 350 users.<br />
Recommendation: Follow the JAS installation instructions and create one or more instances to run the<br />
JAS code <strong>for</strong> up to 350 users running in each instance.<br />
Heap size memory settings<br />
You can control how much of the pSeries server’s total memory is available <strong>for</strong> the JAS server by varying<br />
the heap size. The way you vary the heap size <strong>for</strong> each instance is via the command line arguments<br />
within each JVM. WebSphere allows <strong>for</strong> an initial heap setting and a maximum heap setting. We found<br />
that WebSphere on the pSeries server per<strong>for</strong>med best when both the initial and maximum heap size<br />
settings were the same.<br />
In our test, we used both 768 MB and 1024MB heap size. We found using anything higher than 1024 MB<br />
will cause excess garbage collection times, thus affecting overall response times. A 1024 MB heap size<br />
seams to be ideal <strong>for</strong> most situations. However, 768 MB would work when a shortage of physical<br />
memory is present. Note that the response times may suffer due to smaller heap size. You can review<br />
your heap size by using the <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong>’s “web” saw.<br />
350 user example: we set the JVM’s command line parameters to include –Xms1024m <strong>for</strong> initial and –<br />
Xmx1024m <strong>for</strong> maximum.<br />
Recommendation: <strong>for</strong> the heap size in each JVM, on the command line, set an initial heap of 1024 MB<br />
memory per user and a maximum heap of 1024 MB.<br />
®<br />
© Copyright 2005, <strong>IBM</strong> Corporation
Oracle’s <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> <strong>8.11</strong> <strong>Tuning</strong> <strong>Guidelines</strong> <strong>for</strong> the <strong>IBM</strong> eServer pSeries<br />
Page 5<br />
JAS servlet connections<br />
Within the instance, we configured the servlet running the <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> JAS code to control<br />
how many concurrent servlet request that a JVM can accept. Because we allow 350 maxclients in the<br />
HTTP Server, we set the maximum number of connections <strong>for</strong> the servlet to be 350. The maximum<br />
should be equal to or less than the number of HTTP Server child process. This setting should not exceed<br />
350 per instance because each user uses a thread and we only want to allow 350 threads per instance.<br />
Because more of a user’s time is spent on data input than running the servlet, changing this setting did<br />
not significantly affect per<strong>for</strong>mance.<br />
350 user example: we set the maximum number of connections <strong>for</strong> the servlet to 350.<br />
Recommendation: set the number of <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> servlet connections to equal the<br />
number of users connecting to the WebSphere instance, with a maximum of 350.<br />
HTTP server<br />
All of the tuning in this section <strong>for</strong> the HTTP Server involves changing the HTTP configuration file. The<br />
following shows how to access the HTTP configuration file using VI Editor. On the pSeries server<br />
command line, type in and hit Enter:<br />
cd /usr/HTTPServer/conf<br />
and then open the “httpd.conf” file with the vi editor:<br />
vi httpd.conf<br />
At this point you now have the “httpd.conf” file open and ready to edit. When finished with the httpd.conf<br />
file type the following to save your changes:<br />
:wq<br />
If you wish to exit without saving your changes type:<br />
:q!<br />
Server-Pool size regulation<br />
Rather than making you guess how many server processes you need, Apache dynamically adapts to the<br />
load it sees. That is, it tries to maintain enough server processes to handle the current load, plus a few<br />
spare servers to handle transient load spikes (e.g., multiple simultaneous request from a single Internet<br />
Explorer browser). It does this by periodically checking how many servers are waiting <strong>for</strong> a request. If<br />
there are fewer than MinSpareServers, it creates a new spare. If there are more than MaxSpareServers,<br />
some of the spares die off.<br />
350 user example:<br />
MinSpareServers 5<br />
MaxSpareServers 50<br />
®<br />
© Copyright 2005, <strong>IBM</strong> Corporation
Oracle’s <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> <strong>8.11</strong> <strong>Tuning</strong> <strong>Guidelines</strong> <strong>for</strong> the <strong>IBM</strong> eServer pSeries<br />
Page 6<br />
Recommendation: The default settings shown above should be sufficient <strong>for</strong> 350 users.<br />
MaxClients<br />
The MaxClients HTTP server parameter limits the total number of servers running, i.e., limits the number<br />
of clients who can simultaneously connect. If this limit is ever reached, clients will be locked out, so it<br />
should not be set too low. It is intended mainly as a brake to keep a runaway server from taking AIX with<br />
it as it spirals down.<br />
350 user example:<br />
MaxClients 500<br />
Recommendation: Set this number equal to the total number of HTML clients connecting to the system.<br />
You must then stop and restart your HTTP Server <strong>for</strong> this change to take effect.<br />
<strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> JAS server<br />
All of the tuning in this section <strong>for</strong> the <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> JAS Server involves changing either the<br />
jdbj.ini or the jdelog.properties file. The following shows how to access the jdbj.ini file using VI Editor,<br />
access the jdelog.properties the same way. Keep in mind that each JVM you create will have an associated<br />
jdbj.ini & jdelog.properties file, thus all of them will need to be changed if one is changed.<br />
On the pSeries server command line, type in and hit Enter:<br />
cd<br />
/usr/WebSphere/AppServer/installedApps/”nodename”/EA_JS_”portname”_”nodename”.ear/webc<br />
lient.war/WEB-INF/jdbj.ini<br />
and then open the “jdbj.ini” file with the vi editor:<br />
vi jdbj.ini<br />
At this point you now have the “jdbj.ini” file open and ready to edit. When you are finished editing the file<br />
and wish to close and save the file type:<br />
:wq<br />
To edit the jdelog.properties file, just replace jdbj.ini with jdelog.properties in the above instructions as<br />
they are both located in the same directory.<br />
<strong>JD</strong>BC Connection pool settings in the jdbj.ini<br />
<strong>JD</strong>BC is the database interface used between the <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> JAS code running on<br />
WebSphere and the database enterprise server. We ran with various numbers of initial, minimum,<br />
maximum, and pool growth settings. These settings affect the number of QZDASOINIT and/or QSQSRVR<br />
jobs that get used. Connection pooling allows HTML clients to use fewer of these jobs than fat and TSE<br />
clients because they can be reused. While running with 350 users, we found that, having a base amount<br />
<strong>for</strong> minimum number connections and small growth rate up to a maximum equal to the number of users,<br />
®<br />
© Copyright 2005, <strong>IBM</strong> Corporation
Oracle’s <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> <strong>8.11</strong> <strong>Tuning</strong> <strong>Guidelines</strong> <strong>for</strong> the <strong>IBM</strong> eServer pSeries<br />
Page 7<br />
delivered the best per<strong>for</strong>mance. Initial connections can be set to one <strong>for</strong> every 10 users.<br />
350 user example:<br />
[<strong>JD</strong>Bj-CONNECTION POOL]<br />
MaxConnection=350<br />
MinConnection=5<br />
PoolGrowth=5<br />
InitialConnection=30 (350 users/10 connections per user=30)<br />
Recommendation: if the <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> userids are all mapped to a single pSeries server<br />
system user profile (proxy userid), set initial connections to 1 <strong>for</strong> every 10 users, minimum connections to<br />
5, pool growth to 5, and maximum connections equal to the number of users, up to a maximum of 400 per<br />
instance.<br />
Turn off Debug in jdelog.properties<br />
<strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> <strong>8.11</strong> uses log4j <strong>for</strong> logging in <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> Web Runtime and<br />
JAS. The logging is controlled by a configuration file called jdelog.properties. Currently the setting in this<br />
file has enabled debug level logging at the root level. Since the component level settings in this file are<br />
not enabled, no logging occurs but the logging modules are called frequently. This has the potential to<br />
severely impact per<strong>for</strong>mance of the web solution.<br />
Fix/Workaround: If logging is disabled <strong>for</strong> the web components, change following settings in the<br />
jdelog.properties file to improve the per<strong>for</strong>mance.<br />
Possible Settings:<br />
jdelog.rootLogger=DEBUG,<strong>JD</strong>ELOG,JASLOG<br />
New Settings:<br />
jdelog.rootLogger=ERROR,<strong>JD</strong>ELOG,JASLOG<br />
Oracle database settings<br />
<strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> <strong>8.11</strong> running on Oracle requires a few tuning parameters to run efficiently.<br />
The first of these tuning parameters is Oracle DB Processes. By default Oracle runs 150 processes total.<br />
In a <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> <strong>8.11</strong> environment this ration of Oracle DB processes/user should be in<br />
the range of 10/12 processes per user. So <strong>for</strong> 150 Oracle DB processes you could run approximately 15<br />
<strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> users effectively with the default settings. Ideally you would take the number<br />
of intended active users to be run concurrently and divide this number by 10 to determine the appropriate<br />
number of Oracle DB processes to run.<br />
®<br />
© Copyright 2005, <strong>IBM</strong> Corporation
Oracle’s <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> <strong>8.11</strong> <strong>Tuning</strong> <strong>Guidelines</strong> <strong>for</strong> the <strong>IBM</strong> eServer pSeries<br />
Page 8<br />
It should be changed in the following way:<br />
Logon to SQL Server, usually ‘sqlserver “/ as sysdba” will do the trick. Once logged in to determine the<br />
current level of set processes type:<br />
show parameter process – this will show the current setting.<br />
To change the parameter to the correct value type:<br />
alter system set processes=xxxx scope=spfile;<br />
®<br />
© Copyright 2005, <strong>IBM</strong> Corporation
Oracle’s <strong>JD</strong> <strong>Edwards</strong> <strong>EnterpriseOne</strong> <strong>8.11</strong> <strong>Tuning</strong> <strong>Guidelines</strong> <strong>for</strong> the <strong>IBM</strong> eServer pSeries<br />
Page 9<br />
Contact in<strong>for</strong>mation<br />
Larry Grubbs<br />
pSeries Specialist<br />
<strong>IBM</strong> / Oracle International Competency Center<br />
lwgrubbs@us.ibm.com<br />
303-334-8765<br />
Boyd Fenton<br />
Manager<br />
<strong>IBM</strong> / Oracle International Competency Center<br />
bafento@us.ibm.com<br />
303-334-2524<br />
For more in<strong>for</strong>mation<br />
For additional in<strong>for</strong>mation on integrated, collaborative enterprise solutions from <strong>IBM</strong> and Oracle, call<br />
1 888 426-5505 or visit ibm.com/solutions/businesssolutions/oracle<br />
®<br />
© Copyright 2005, <strong>IBM</strong> Corporation
©Copyright <strong>IBM</strong> Corporation 2005<br />
<strong>IBM</strong> Corporation<br />
Integrated Marketing Communications<br />
Server Group<br />
Route 100<br />
Somers, NY 10589<br />
U.S.A.<br />
ibm.com<br />
Visit www.ibm.com/pc/safecomputing periodically <strong>for</strong> the latest in<strong>for</strong>mation on safe and effective computing. Warranty In<strong>for</strong>mation: For a copy of<br />
applicable product warranties, write to: Warranty In<strong>for</strong>mation, P.O. Box 12195, RTP, NC 27709, Attn: Dept. <strong>JD</strong>JA/B203. <strong>IBM</strong> makes no representation<br />
or warranty regarding third-party products or services including those designated as ServerProven or ClusterProven.<br />
This publication was developed <strong>for</strong> products and services offered in the United States. <strong>IBM</strong> may not offer the products, services or features discussed<br />
in this document in other countries. In<strong>for</strong>mation is subject to change without notice. Consult your local <strong>IBM</strong> representative <strong>for</strong> in<strong>for</strong>mation on offerings<br />
available in your area.<br />
The examples given in this paper are hypothetical examples of how a customer can use the products described herein and examples of potential cost<br />
or efficiency savings are not based on any actual case study. There is no guarantee of comparable results. Many factors determine the sizing<br />
requirements and per<strong>for</strong>mance of a systems architecture. <strong>IBM</strong> assumes no liability <strong>for</strong> the methodology used <strong>for</strong> determining the configurations<br />
recommended in this document nor <strong>for</strong> the results it provides. Any per<strong>for</strong>mance data contained in this presentation was determined in a controlled<br />
environment. There<strong>for</strong>e, the results obtained in other operating environments may vary significantly. Some measurements quoted in this presentation<br />
may have been made on development-level systems. There is no guarantee these measurements will be the same on generally-available systems.<br />
Some measurements quoted in this presentation may have been estimated through extrapolation. Actual results may vary. Users of this presentation<br />
should verify the applicable data <strong>for</strong> their specific environment.<br />
In<strong>for</strong>mation in this presentation concerning non-<strong>IBM</strong> products was obtained from the suppliers of these products, published announcement material or<br />
other publicly available sources. <strong>IBM</strong> has not tested these products and cannot confirm the accuracy of per<strong>for</strong>mance, compatibility or any other claims<br />
related to non-<strong>IBM</strong> products. Questions on the capabilities of non-<strong>IBM</strong> products should be addressed to the suppliers of those products.<br />
<strong>IBM</strong>, the <strong>IBM</strong> logo, the e-business logo, AIX, eServer, POWER4, POWER5, pSeries, and WebSphere are trademarks or registered trademarks of <strong>IBM</strong><br />
Corporation in theUnited States, other countries, or both.<br />
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.<br />
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.<br />
Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are<br />
trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.<br />
UNIX is a registered trademark of The Open Group in the United States and other countries.<br />
Linux is a trademark of Linus Torvalds in the United States, other countries, or both.<br />
Oracle, <strong>JD</strong> <strong>Edwards</strong>, and PeopleSoft are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their<br />
respective owners.<br />
Other company, product, or service names may be trademarks or service marks of others.