Documentation forNetwork Configuration Manager

NCM 2023.4 release notes

Release date: November 1, 2023

Here's what's new in NCM 2023.4. You can find the applicable system requirements here.

To view release notes, system requirements, and product guide PDFs for supported versions of NCM, see NCM previous versions. To view release notes for multiple versions and multiple SolarWinds Platform products on a single page, see the release notes aggregator.

NCM runs on the SolarWinds Platform (self-hosted). NCM release notes include the updates from the SolarWinds Platform (self-hosted).

Attention 2023.4 customers

Upgrading from any version

Credentials are now required to change the default location of certain files, as described below. Because of this change, during an upgrade, the Configuration Wizard determines if non-default locations have been specified for the config archive, job results, and exported configs. If so, it determines whether the required credentials have been provided. If credentials have not been provided:

  • If a non-default location is specified for the config archive, it is changed back to the default location.

  • If a job is configured to save the results of the job to a non-default location, it is changed back to the default location.

  • If an Export Configs Job is configured to export configs to a non-default location, the job is disabled.

Upgrading from NCM 2023.2.0 or earlier

If you are upgrading from NCM 2023.2.0 or earlier, be aware that NCM 2023.2.1 included a change to real-time change detection (RTCD). The program RTNForwarder.exe is no longer used by RTCD. The Log Viewer (LV) and Log Analyzer (LA) now include a new action that is used instead.

During an upgrade, the installer automatically updates any LV or LA rules that launched RTNForwarder.exe to perform the new action instead. If you have any SolarWinds Platform alerts configured to launch RTNForwarder.exe as an action, that action is disabled.

For details, see the NCM 2023.2.1 Release Notes.

New features and improvements in NCM

Changes to firmware vulnerability files

The National Institute of Standards and Technology (NIST) no longer provides .zip files for download. NCM 2023.3 and later provides the following replacement files:

  • https://downloads.solarwinds.com/solarwinds/data/cve/cve-all.json.zip

  • https://downloads.solarwinds.com/solarwinds/data/cve/cpematch.json.zip

NCM maintains these files, and they are updated every night with the latest firmware vulnerability data. The files contain comprehensive firmware vulnerability data. NCM retrieves this data from NIST using their API.

When you upgrade to 2023.3, the specified download links are updated automatically during the upgrade.

In previous versions, NCM included only recently added or updated vulnerability data in the nightly firmware vulnerability download. The nightly download now includes all data. You no longer need to manually add feeds to your HA backup servers.

Credentials required to change default locations

As a security enhancement, NCM requires credentials to be specified in Advanced Settings before you can perform the following actions:

These credentials give NCM write access to desired location. If network credentials are not provided, the fields that define the locations above are read-only, and a message gives you a link to the Advanced Settings page.

See Upgrading from any version for information about non-default locations specified in existing deployments.

New features and improvements in SolarWinds Platform

Intelligent Maps improvements

  • Users can edit public maps created by other users.
  • Users can change map ownership.
  • Users can display maps based on GroupName variables.
  • Users display the list of maps for individual nodes.
  • Users can search for maps that include a specific node.
  • Map name requirements changed: map names can consist of 2 or more characters.
  • New Maps Widget added.

Additional updates

  • Stability and performance improvements for SolarWinds Platform Agents.
  • Improved FIPS support
  • Anomaly-Based alerting added for virtual machines, as well as a visual representation of the normal operating range.
  • AlertStack improvements - creating SolarWinds ServiceDesk incidents from an alert cluster.
  • API Poller: The metric column data type was changed from nvarchar to float to ensure that the column does not accept any string values.

Fixed CVEs

At SolarWinds, we prioritize the swift resolution of CVEs to ensure the security and integrity of our software. In this release, we have successfully addressed the following CVEs.

SolarWinds CVEs

SolarWinds would like to thank our Security Researchers below for reporting on the issue in a responsible manner and working with our security, product, and engineering teams to fix the vulnerability.

CVE-ID Vulnerability Title Description Severity Credit
CVE-2023-40062 SolarWinds Platform Incomplete List of Disallowed Inputs Remote Code Execution Vulnerability The SolarWinds Platform was susceptible to a Remote Code Execution Vulnerability by a low privileged user. 8.0 High Piotr Bazydlo (@chudypb) of Trend Micro Zero Day Initiative
CVE-2023-40061 SolarWinds Platform Insecure Job Execution Mechanism Vulnerability Insecure job execution mechanism vulnerability. This vulnerability can lead to other attacks as a result. 7.1 High Jakub Brzozowski "redfr0g" (STM Cyber), Kamil Falkiewicz (STM Cyber), Szymon Jacek (STM Cyber)
CVE-2023-33228 SolarWinds Network Configuration Manager Exposure of Sensitive Information Vulnerability The SolarWinds Network Configuration Manager was susceptible to the Exposure of Sensitive Information Vulnerability. This vulnerability allows users with administrative access to SolarWinds Web Console to obtain sensitive information. 4.5 Medium Arnaud Cordier (CryptID)
CVE-2023-33226 SolarWinds Network Configuration Manager Directory Traversal Remote Code Execution Vulnerability The SolarWinds Network Configuration Manager was susceptible to a Directory Traversal Remote Code Execution Vulnerability by a low privileged user. 8.0 High Piotr Bazydlo (@chudypb) of Trend Micro Zero Day Initiative
CVE-2023-33227 SolarWinds Network Configuration Manager Directory Traversal Remote Code Execution Vulnerability The SolarWinds Network Configuration Manager was susceptible to a Directory Traversal Remote Code Execution Vulnerability by a low privileged user. 8.0 High Piotr Bazydlo (@chudypb) of Trend Micro Zero Day Initiative

Third-party CVEs

CVE-ID Vulnerability title Description Severity
CVE-2022-2097 AES OCB fails to encrypt some bytes AES OCB mode for 32-bit x86 platforms using the AES-NI assembly optimized implementation will not encrypt the entirety of the data under some circumstances. This could reveal sixteen bytes of data that was pre-existing in the memory that wasn't written. In the special case of "in place" encryption, sixteen bytes of the plaintext would be revealed. Since OpenSSL does not support OCB-based cipher suites for TLS and DTLS, they are both unaffected. Fixed in OpenSSL 3.0.5 (affected 3.0.0-3.0.4). Fixed in OpenSSL 1.1.1q (affected 1.1.1-1.1.1p). N/A

Fixed customer issues

Case number Description Platform product
01267155, 01421126, 01438926, 01443423

The Job Engine no longer sends unnecessary messages to Linux Agents. The load generated by these messages could cause packet loss and connection issues.

Platform
01221457, 01293288, 01354612, 01395445, 01427582, 01430113

In environments with High Availability pools, the SolarWinds Agent configuration was improved so that the Agents do not experience connection issues or do not connect to an incorrect polling engine. The issues were caused by incorrectly assigned engine IP addresses.

Platform
01359087

The SWQL query for unpaid HCO or module nodes has been optimized to prevent it from timing out in certain environments. The query now runs successfully and returns the correct number of licensed nodes.

Platform
01354525, 01372311, 01427582

AgentManagement message processing has been improved. This change fixes an issue that caused packet loss and high response times for agents, with messages such as Messaging.IncomingMessageProcessor - Unable to deliver response message.

Platform
01417619

When you select Root Level Groups as the view mode on the Manage Groups page, the pagination and the number of rows is correct.

Platform
01423536

When you run database maintenance manually, the swdebugMaintenanceExecutionHistory.log shows the time the job started as well as the time it completed.

Platform
01417643

On a computer with a Thai calendar, the configuration wizard no longer fails during an upgrade with the following messages:

Error running task Orion.MessageBus.MessageBusConfigurator Configuring message bus

SolarWinds.ConfigurationWizard.Common.ConfigurationException: Failed to setup RabbitMQ for Orion.

Platform
01245960, 01257671, 01332739, 01337918, 01379927, 01405546

Opening a page containing PerfStack charts no longer causes the SolarWinds Platform to become unresponsive due to increased CPU and memory usage. In addition, the performance of PerfStack charts has been improved.

Platform
00323316, 01155264, 01396839

The macro ${N=Alerting;M=Notes} works correctly. When an alert definition includes that value, the associated information is included in the alert notification.

Platform
01392939

A condition that caused an extremely large number of alerts to be generated in some environments has been fixed.

Platform
01375520, 01407345, 01415367

SSH connections to a node from an additional web server no longer fail if a firewall is configured to restrict outbound connections to the node on port 22.

Platform
01245979, 01313243, 01407384

The SolarWinds Platform no longer fails periodically with errors like the following:

  • There was an error retrieving data from SolarWinds Information Service

  • Cannot access a disposed object. Object name: 'System.ServiceModel.Channels.ServiceChannel'.

Platform
01366508

If you have multiple alerts with the same condition, all of those alerts are triggered and reset as expected.

Platform
01358810

It is possible to add a node with more than 15,000 interfaces.

Platform
01330340

The SolarWinds Platform notifies you of failed login attempts in case an unknown user or a user with an invalid password is attempting to access the system. Invalid notifications are no longer sent when the login succeeds but the credentials were not in the default format.

Platform
01350830

To improve the performance of the Active Alerts view in the SolarWinds Web Console, alert history will be deleted from the SolarWinds Platform database after the specified retention period. By default, the retention period is 90 days. To change the default value:

  1. Click Settings > All Settings.

  2. Under Thresholds & Polling, click Polling Settings.

  3. Change the value of the Alerts History Retention setting.

Platform
01425479

If your system is set to a language that uses commas to represent decimals, and you have custom properties that are floating point numbers with predefined values, it is now possible to enter or select values for these custom properties.

Platform
01354791, 01354869, 01355410, 01362922, 01375906, 01373611, 01382105

For security reasons, SolarWinds Platform 2023.2 added the dedicated database user ReportingClient with the Reporting role. This user queried the SolarWinds Platform database to gather report data. The user was granted only the privileges needed to perform that task. This user could not query other, custom databases; therefore, any reports, widgets, or queries to custom database stopped working.

To resolve this issue, use the Database Manager or the Server Management Studio to edit the WebSettings table in the SolarWinds Platform database. Change the value of ReportingSQLReportsUseDBServerLevelLogin to true.

When ReportingSQLReportsUseDBServerLevelLogin is set to true, the database account that was specified in the Configuration Wizard is used to query the database. By default, this is SolarWindsOrionDatabaseUser.

Platform
01364991

Request filtering rules that deny access to files with certain extensions can prevent the SolarWinds Platform installer and Web Console from functioning correctly. To prevent this issue, the Configuration Wizard now implements request filtering rules that explicitly allow access to the required file extensions.

Platform
01202124

To prevent timeouts when the passive agent protocol is sending data from the agent to AMS, throughput between the passive agent and the SolarWinds Platform server was improved by optimizing the transfer block size.

Platform
01325547

When multiple nodes have the same IP addresses, Network Discovery no longer adds interfaces to the wrong node.

Platform
01305351

The JobEngine agent correctly purges .result files.

Platform
01200338, 01263383, 01302935, 01305295, 01307270, 01354496, 01355266, 01373795, 01374238, 01379084, 01381609, 01383437

This release fixes an issue that was preventing Network Atlas maps from opening or affecting performance for maps that did open.

Platform
00402725, 00550290, 01313151

In previous versions, HA tables needed to be truncated before a migration. If they weren't, a Centralized Upgrade would fail with the error System.Data.SqlClient.SqlException.

In 2023.4 and later, you no longer need to truncate HA tables before a migration, and duplicate rows in these tables no longer halt a Centralized Upgrade.

Platform
01292325, 01307456

The Polling Engines page no longer lists the same additional polling engine multiple times in some circumstances.

Platform
00453177, 00480501, 01210125

The Unmanage Task Editor no longer adds an error message in the logs even though the task completed successfully.

Platform
01310143, 01372569

The SolarWinds Installer no longer stops with the message that the Windows Event Log, Network List Service, and Network Location awareness applications must be closed for the installation to continue.

Platform
00971087

An attribute that could cause a memory leak has been removed from the SolarWinds Job Engine.

Platform
01174799, 01366508, 01308406, 01384094, 01397934, 01400006, 01416989

Alerts with an automatic reset condition no longer stop resetting after certain events, such as the database being temporarily disconnected.

Platform
00059548, 00666436, 00764976, 01159109

Top XX Capacity widgets can be filtered using custom properties.

Platform
01417513

NFSv2 and NFSv3 network disks for AIX systems are now correctly classified as network disks instead of fixed disks.

Platform
01267155, 01328071

A situation that could cause the Linux Job Engine to run a job outside its scheduled interval has been corrected.

Platform
01100839

The Job Engine no longer causes DNS lookups to fail.

Platform
01453880

*If ServiceNow has an Authentication profile configuration, requests from the SolarWinds Platform to ServiceNow no longer fail with a 401 status code.

Platform
01439374, 01468220

*Volume polling no longer stops due to deadlocks occurring in the CoreThreshold table.

Platform
01379355

*The throughput of the Job Engine service responsible for device polling was improved to fix issues related to polling completion below 100%, missed polls, or delayed polls.

Platform
01432738

*The Configuration Wizard no longer fails when an empty database is selected.

Platform
01424787

*When live updates are disabled for maps, information on the map viewer page is updated at the specified refresh interval.

Platform
01255993 If one DPA server is blocked, this does not disrupt connections to other DPA servers. Platform
01189602, 01296329, 01268284

In deployments with additional polling engines (APEs), attempting to integrate the SolarWinds Platform with DPA no longer installs the DPA Business Layer on the APE. In previous versions, this caused problems with the DPA integration, including:

  • Application relationships added on the Manage Client Application Relationships page were automatically removed.

  • Integration fails with the message There was an error when trying to enable the integration with the DPA server: Establishing federation with jSWIS failed.

  • Attempting to add a DPA server returns the message Cannot find a DPA server at this address or port. Check your DPA server details and network connection.

Platform
01288735

In a large, complex environment, network configuration management jobs and inventory jobs run as expected.

NCM
01358044

Network configuration management jobs no longer make unnecessary APE license checks, which caused the jobs to run slowly.

NCM
00837847, 01358148, 01426785

Inventory collection was updated to prevent database blocks, which were affecting performance.

NCM
01352472

If you run a job that saves the results of a policy report to a file, and the file name includes a macro, the macro is parsed correctly and the report's content and formatting are accurate.

NCM
01336072

When SolarWinds high availability (HA) is deployed, a network configuration search performed after a failover includes all configs. The search is not limited to only the most recently downloaded configs.

NCM
01350788

A misspelled word in INFO messages in the NCM.Collector.Jobs_[*].log file has been corrected.

NCM
01333319

The Config Details page shows the downloaded time based on the SolarWinds Platform time zone, not UTC time.

NCM
01288735, 01387785

When an inventory job retrieves a large Flash Size value, it records the value correctly and no longer returns the following error:

Arithmetic overflow error converting expression to data type int.

NCM
01395082

*Real Time Change Notification works as expected when the IP address provided to it is not the primary IP address for the node.

NCM

*This fix was added after the RC release.

Installation or upgrade

For new installations, you can download the installation file from the product page on https://www.solarwinds.com or from the Customer Portal. For more information, see Get the installer.

For upgrades, go to Settings > My Deployment to initiate the upgrade. The SolarWinds Installer upgrades your entire deployment (all SolarWinds Platform products and any scalability engines).

For more information, see the SolarWinds Platform Product Installation and Upgrade Guide.

If you are on a version earlier than 2020.2.6, first upgrade to 2020.2.6 and then upgrade to the current version. Before upgrading, see Considerations for upgrading from the Orion Platform to the SolarWinds Platform.

Before you upgrade!

If you are upgrading from 2020.2.6 or earlier, please be aware of the following:

  • Make sure the database user you use to connect to your SQL Server has the db create privilege. Without this privilege, the upgrade will not complete.

  • The legacy syslog and traps functionality has been retired and replaced with new functionality called SolarWinds Log Viewer, which can be upgraded to Log Analyzer for additional capabilities. Current rules and history will automatically be migrated to the new logging functionality (SolarWinds Log Viewer or Log Analyzer). The functionality of SolarWinds Log Viewer and Log Analyzer has been improved to more closely match legacy functionality.

    If you built syslog and trap alerts using custom SQL queries, they will not function after upgrading to 2022.3 or later. SolarWinds recommends you rewrite the alerts using SWQL (Orion.OLM entities) or using the alerting functionality built into Log Viewer/Log Analyzer.

  • Some upgrade situations from the Orion Platform to the SolarWinds Platform are not supported and the installer will stop the upgrade automatically.

    • If you have a SQL Server older than 2016.
    • If you have an Orion Platform product version 2020.2.1 or earlier.

Known issues

Windows Agents stop polling CPU, memory, and disks after the upgrade

If you use Windows Agents with disabled automatic update of Agents and upgrade your deployment to 2023.4 or later, Agents stop polling CPU, memory, and disks.

Resolution or workaround: Update Windows Agents manually, or enable the auto-update. See Update Agents. This issue will be addressed in a future SolarWinds Platform version.

Database configuration fails during an upgrade

When you attempt to upgrade from Orion Platform 2020.2.1 through 2020.2.5 to SolarWinds Platform 2023.4 or 2023.4.1, database configuration fails. The Configuration Wizard displays the following message:

Database configuration failed: Error while executing script- Invalid column name 'AllowOrionMapsManagement'.

Resolution or Workaround: For instructions to resolve this issue, see Database configuration fails during an upgrade to SolarWinds Platform 2023.4 or 2023.4.1.

Database login fails for Windows accounts after the upgrade

When you use Windows authentication to connect to the HCO database and the database SQL server, you can find Database: Login failed for user 'DOMAIN\MACHINENAME$' in the Website log. This can cause intermittent user logouts from the SolarWinds Web Console.

Resolution or Workaround: Change the database account. See Database login failing for Windows account users after upgrading to 2023.1 and above.

Configuration wizard fails on migrating APIPoller_ValueToMonitor table

If you inserted string data in the database for the metric column of the API Poller table before upgrading to 2023.4, data migration for the APIPoller_ValueToMonitor table will fail. As a consequence, the Configuration wizard fails during the upgrade, too.

Resolution or Workaround: Complete the steps to change the data type:

  1. Verify how many records for the metric column are not numeric. Run the following query:

    SELECT  * from APIPoller_ValueToMonitor Where ISNUMERIC(Metric) <> 1
  2. For the records you identified, update the metric column to null. Run the following query:

    UPDATE APIPoller_ValueToMonitor SET Metric = NULL Where ISNUMERIC(Metric) <> 1
  3. Rerun the first step. It should return no records.

  4. Continue or re-run the Configuration Wizard.

Date range is one day behind on Wait Time resources

The date on Wait Time Trends resources is one day behind for environments where the DPA server and SolarWinds Platform server are in different time zones. The affected resources are:

  • All Instances with the Highest Wait Times

  • Instances with the Highest Wait Times

  • Greatest Downward Wait Time Trends

  • Greatest Upward Wait Time Trends

Resolution or workaround: Set the DPA and SolarWinds Platform servers to the same time zone.

DPAIM stops working after failover

If you have High Availability configured, the DPA Integration Module stops working when a failover occurs after you re-integrate with a previously integrated DPA server.

Resolution or workaround: Re-integrate the DPA server.

End of life

Version EoL announcement EoE effective date EoL effective date
2022.2 November 1, 2023: End-of-Life (EoL) announcement – Customers on NCM version 2022.2 or earlier should begin transitioning to the latest version of NCM. December 1, 2023: End-of-Engineering (EoE) – Service releases, bug fixes, workarounds, and service packs for NCM version 2022.2 or earlier will no longer actively be supported by SolarWinds. December 1, 2024: End-of-Life (EoL) – SolarWinds will no longer provide technical support for NCM version 2022.2.
2020.2.6 April 18, 2023: End-of-Life (EoL) announcement – Customers on NCM version 2020.2.6 or earlier should begin transitioning to the latest version of NCM. May 18, 2023: End-of-Engineering (EoE) – Service releases, bug fixes, workarounds, and service packs for NCM version 2020.2.6 or earlier will no longer actively be supported by SolarWinds. May 18, 2024: End-of-Life (EoL) – SolarWinds will no longer provide technical support for NCM version 2020.2.6.
2020.2.5 January 18, 2023: End-of-Life (EoL) announcement – Customers on NCM version 2020.2.5 or earlier should begin transitioning to the latest version of NCM. February 17, 2023: End-of-Engineering (EoE) – Service releases, bug fixes, workarounds, and service packs for NCM version 2020.2.5 or earlier will no longer actively be supported by SolarWinds. February 17, 2024: End-of-Life (EoL) – SolarWinds will no longer provide technical support for NCM version 2020.2.5.
2020.2.4 October 19, 2022: End-of-Life (EoL) announcement – Customers on NCM version 2020.2.4 or earlier should begin transitioning to the latest version of NCM. November 18, 2022: End-of-Engineering (EoE) – Service releases, bug fixes, workarounds, and service packs for NCM version 2020.2.4 or earlier will no longer actively be supported by SolarWinds. November 18, 2023: End-of-Life (EoL) – SolarWinds will no longer provide technical support for NCM version 2020.2.4.
2020.2.1 October 19, 2022: End-of-Life (EoL) announcement – Customers on NCM version 2020.2.1 or earlier should begin transitioning to the latest version of NCM. November 18, 2022: End-of-Engineering (EoE) – Service releases, bug fixes, workarounds, and service packs for NCM version 2020.2.1 or earlier will no longer actively be supported by SolarWinds. November 18, 2023: End-of-Life (EoL) – SolarWinds will no longer provide technical support for NCM version 2020.2.1.
2020.2 October 19, 2022: End-of-Life (EoL) announcement – Customers on NCM version 2020.2 or earlier should begin transitioning to the latest version of NCM. November 18, 2022: End-of-Engineering (EoE) – Service releases, bug fixes, workarounds, and service packs for NCM version 2020.2 or earlier will no longer actively be supported by SolarWinds. November 18, 2023: End-of-Life (EoL) – SolarWinds will no longer provide technical support for NCM version 2020.2.

See the End of Life Policy for information about SolarWinds product life cycle phases. To see EoL dates for earlier NCM versions, see NCM release history.

Deprecation notice

The following platforms and features are still supported in the current release. However, they will be unsupported in a future release. Plan on upgrading deprecated platforms, and avoid using deprecated features.

Port 17778

SWIS REST Endpoint on port 17778 is deprecated as of 2023.1 and will be replaced with port 17774 in a future release. SolarWinds recommends that you start migrating SWIS REST Endpoint to port 17774.

If you are using DPAIM, make sure you are running DPA 2024.2 or later to switch to port 17774. Earlier DPA versions cannot send data to DPAIM on port 17774. See Specify the port DPA uses... for more information.

Starting with 2024.2, you can enable the port in Advanced Configuration by clearing the DisableSwisRestEndpointOnPort17778 option. See Enable/disable the SWIS endpoint port.

Network Atlas

Network Atlas is deprecated as of Orion Platform 2020.2. It is still available and supported in the current release, but will be removed in a future release. Deprecation is an indication that you should avoid expanded use of this feature and formulate a plan to discontinue using the feature. SolarWinds recommends that you start using Intelligent Maps in the SolarWinds Platform Web Console to display maps of physical and logical relationships between entities monitored by the SolarWinds Platform products you have installed.

Starting with 2024.2, you can import Network Atlas maps to Intelligent Maps. See Import maps.

Legal notices

© 2023 SolarWinds Worldwide, LLC. All rights reserved.

This document may not be reproduced by any means nor modified, decompiled, disassembled, published or distributed, in whole or in part, or translated to any electronic medium or other means without the prior written consent of SolarWinds. All right, title, and interest in and to the software, services, and documentation are and shall remain the exclusive property of SolarWinds, its affiliates, and/or its respective licensors.

SOLARWINDS DISCLAIMS ALL WARRANTIES, CONDITIONS, OR OTHER TERMS, EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, ON THE DOCUMENTATION, INCLUDING WITHOUT LIMITATION NONINFRINGEMENT, ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY INFORMATION CONTAINED HEREIN. IN NO EVENT SHALL SOLARWINDS, ITS SUPPLIERS, NOR ITS LICENSORS BE LIABLE FOR ANY DAMAGES, WHETHER ARISING IN TORT, CONTRACT OR ANY OTHER LEGAL THEORY, EVEN IF SOLARWINDS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

The SolarWinds, SolarWinds & Design, Orion, and THWACK trademarks are the exclusive property of SolarWinds Worldwide, LLC or its affiliates, are registered with the U.S. Patent and Trademark Office, and may be registered or pending registration in other countries. All other SolarWinds trademarks, service marks, and logos may be common law marks or are registered or pending registration. All other trademarks mentioned herein are used for identification purposes only and are trademarks of (and may be registered trademarks) of their respective companies.