Skip to main content
insightsoftware Documentation insightsoftware Documentation
{%article.title%}
Published:
Was this article helpful?
0 out of 0 found this helpful

Understanding Longview Servers

The following servers are an integral part of Longview. In addition to these servers, your system may also have process-specific servers or server pools, such as Elimination Servers, Math Servers, Journal Entry Servers, and so on.

Understanding the Data Server

The Data Server performs as a single, integrated data source for the Longview system. It is responsible for maintaining access to the system, overseeing authentication and authorization, and maintaining symbols, dimensions, classes, and attributes.

The Data Server features the following characteristics:

  • up to 16 base dimensions
  • up to 8 schedule dimensions
  • a maximum of 262,144 symbols per dimension
  • string data and data approval comments up to 4,000 characters in length
  • names up to 31 characters in length

The Data Server is not actually one server, but a set of executable files.

The Data Server consists of the following:

Agents

An agent (lvagent) is a process that serves as a channel from client components to the servers. There are two modes in which agents can operate — dedicated and pooled.

There are also web agents (lvwag), which behave similarly to regular agents.

  • Dedicated

    When your Longview system uses dedicated agents, a new agent is spawned by the Listener each time it receives a connect request from a client component. The agent process ends when the user disconnects from the servers.
  • Pooled

    When your Longview system uses agent pooling, the Listener pre-spawns the specified number of agents when the servers first start up. In this mode, each time the Listener receives a connect request from a client component, it assigns the connection to the least busy agent in the pool. Agents handle multiple, concurrent connections in this mode, to a maximum of 250 connections. When a user disconnects, the assigned agent remains on the server, waiting to handle other connections. Longview recommends that you start with one agent handling ten users.

Elimination Server

If your company contains several divisions that share the same corporate parent, it is possible that they do business with each other. To ensure that intercompany transactions are handled correctly, the users of your Longview system need to identify each entity that does business with its siblings, and then perform an intercompany elimination on each of those transactions.

The Elimination Server (lvelim.exe) manages the data related to eliminations. Specifically, the Elimination Server does the following:

  • creates eliminations for all hierarchies.
  • stores and manages the transactions in new intercompany data tables.
  • communicates with the Journal Entry Server to create and post each elimination journal entry (JE) automatically.

Grid Server

The Grid Server manages the running of the math portion of the restatement over a network of Windows-based computers. In manual mode, the Grid Server itself manages the distribution of all jobs in the network. The Grid Server also works with third-party grid software (DataSynapse) by sending jobs to the third-party Grid Server, which then manages the distribution of the math jobs. In either case, distributing the jobs across multiple desktops/servers reduces the time taken to complete the restatement process.

The Grid Server:

  • works with third-party grid software (DataSynapse).
  • is launched when the Longview Administrator Console is started.
  • distributes the math jobs to multiple machines when using manual mode or sends all jobs to a third-party Grid Server when the restatement is launched.
  • transfers the math output files to the tmp folder on the server and adds the jobs to the writer queue.
  • sends information on its activity to the Longview Data Server Log.

Listener

The Listener (lvlsnr.exe) identifies connection requests from client components. It listens for users attempting to access the application.

The Listener:

  • receives the user’s request for connection to the application.
  • assigns an agent to communicate the user’s request to the application and to transmit the responses to the user. If agent pools are being used, the Listener assigns user connection requests to a particular pre-existing agent.
  • goes back to listening for the next request from a user.
  • sends information on its activities to the Longview Data Server Log.

Locking Server

The Locking Server (lvlock.exe) handles all requests for locking, unlocking, and verification of submitted data against a user’s locks. It also stores information on locking activity.

The Locking Server:

  • receives notification from the agent that the user has requested access to symbols in the Data Server database. The combination of symbols is called an intersection of data (specified hierarchically in all dimensions).
  • verifies whether the intersection of data is valid.
  • verifies whether any of the symbols in the intersection are locked — that is, in use by another user. If the requested intersection overlaps a locked intersection, the data is considered locked.
  • If none of the data is locked, it allows write access.
  • If any of the data is locked, it allows read-only access.
  • sends the locking information back to the agent.
  • sends information on its activities to the Longview Data Server Log.

Management Server

The Management Server (lvmgm.exe) maintains hierarchy information for other servers, providing quick and coordinated access to hierarchical information.

The Management Server:

  • creates hierarchical information when the server is first initialized.
  • recreates hierarchical information when the hierarchy is changed.
  • handles most database maintenance requests (for example, adding or deleting symbols).
  • detects errors in the hierarchy, alerting users when the hierarchy structure fails to meet the Longview standard.
  • sends data back to the requesting server.
  • sends information on its activities to the Longview Data Server Log.

Monitor Server

The Monitor Server (lvmon.exe) monitors all system activity. All processes on the Server, including agents, send periodic status updates to the Longview Data Server Log.

The Monitor Server:

  • receives information from the Listener and Agents, and from all servers.
  • relays all status updates to the Longview Data Server Log, which you can review later for general and troubleshooting information.
  • takes appropriate action, such as shutting down all servers, if a system error occurs.

Security Server

The Security Server (lvsec.exe) filters every connection to the application. It handles user IDs, passwords, and symbol access restrictions.

The Security Server:

  • receives notification from the agent that the user has requested access to the application.
  • checks if the user is authorized to access the database by verifying the user ID and password.
  • If the user ID and password are correct, it identifies the areas of the data for which the user has read access and write access.
  • If the user ID and password are incorrect, the component sends an error message to the user.
  • If the user does not have the proper authorization for a particular request, the component sends an error message to the user.
  • sends the security information back to the agent.
  • sends information on its activities to the Longview Data Server Log.

Understanding Server Pools

In the past, Longview servers were designed to process very specific types of data. Many of those processes were quite similar and repetitive, resulting in unnecessary fragmentation.

The servers now understand all families of data (unadjusted, adjusting, and schedule), and all types of data (leaf, parent, calculated, validation, and CTA). The resulting benefit is optimal use of resources.

Server pools include the following:

Journal Entry Server Pool

A Journal Entry (JE) is a record of the accounting information for a business transaction. The Journal Entry Server (lvjent.exe) handles all operations relating to an application’s journal entries, for example:

  • creating JEs
  • updating JEs
  • translating and validating JE details
  • posting JEs
  • deleting JEs (when allowed) The Journal Entry Server Pool:
  • receives requests from the component (via the associated agent), or from the Elimination Server, to perform a JE operation. When a system is configured to use JE workers, these requests are routed automatically to the least busy worker for better concurrency.
  • queues data to the Submission Server queue.
  • sends information on its activities to the Longview Data Server Log.

Math Server Pool

The Math Server (lvmath.exe) performs accounting related logic, server modeling and validation logic, and calculations, depending on the configuration of your system.

The Math Server:

N-Dimensional Distribution

N-Dimensional Distribution distributes data to the nth dimension, in a one-to-one mapping. For example, for a particular account and entity, it distributes 100% of the data to the nth dimension, which can be a function, an activity, or a product.

N-dimensional modeling automatically iterates through fixed dimensions, to run three-dimensional models. No complex looping is necessary.

N-dimensional modeling:

  • executes the query once (rather than once for each iteration)
  • compiles the datalink and model once
  • submits changes once (after all iterations)

Period Activity Calculation

The Period Activity Calculation (PAC) translates year-to-date (YTD) data to current period data. Whenever a data value corresponding to a YTD time period changes, the corresponding current period time period data automatically changes.

Retained Earnings Calculation

Retained Earnings Calculation (REC) moves the net income value to the Retained Earnings section of the Balance Sheet. Whenever the value of a leaf cell changes, this change causes a change in the Net Income value and is recorded automatically in the associated REC leaf account.

Translation

The translation logic calculates data related to data translation (also known as foreign exchange). Whenever the value of a source currency changes, the corresponding target currency is automatically calculated using appropriate exchange rates.

In addition, the appropriate effect on the Net CTA account, as well as the related Cumulative Translation Adjustment (CTA) details are calculated.

Year-to-date

The year-to-date (YTD) calculation logic is like the Period Activity Calculation (PAC) logic. It converts a period amount to a YTD amount.

Submission Server Pool

The Submission Server Pool (lvsub.exe) enters data into leaf tables in the Data Server database and sends data files to the appropriate servers for further calculations.

The number of submission servers you can start depends on the logic enabled in your system. For example, if you use schedules in your system, the submission pool can be set to 2, because you can submit to different leaf tables (klx_uln_pnnn_cells and klx_sln_pnnn_cells). If you use leaf partitioning in the database, your submission pool can be greater than 1, because there is more than one leaf table to which you can submit data. It is not necessary to have one Submission Server per leaf table.

The Submission Server Pool:

  • receives input from the agent.
  • sends the data file to the Math Server if calculations are required.
  • sends information on its activities to the Longview Data Server Log.
  • inserts and updates values in the following tables:
    • klx_aln_pnnn_cells
    • klx_sln_pnnn_audit
    • klx_sln_pnnn_cells
    • klx_sls_pnnn_cells
    • klx_uln_pnnn_audit
    • klx_uln_pnnn_cells
    • klx_uls_pnnn_cells
    • * nnn = 0 – 999

Writer Server Pool

The Writer Server Pool (lvwrite.exe) updates all data tables not updated by the Submission Server Pool — parent, calculated, validation, and translation tables.

The Writer Servers:

  • accept rolled up calculated delta data from the Math Server.
  • take the jobs that were placed in the Writer queue by the Math Server.
  • create data cache files (highly compressed files, much smaller than storing in a database) when Store Calculated Data in Cache Files is selected.
    For more information, see Recalculation.
  • update the appropriate data tables — for example, parent, calculated, Cumulative Translation Adjustment (CTA), or validation.
  • send information on activities to the Longview Data Server Log.

To calculate the maximum number of Writer Servers, you can use the following formula:

Max Writers = NumPartitions * 4 * Logic

where:

  • NumPartitions is the number of partitions in the database
  • 4 represents the four types of tables (Calculated, Parent, Validation, and CTA)
  • Logic represents the combination of Journal Entry and Management Servers currently enabled. The possible values are:
    Value Description

    1

    Neither Journal Entry nor Management Servers.

    2

    Only Journal Entry Server, or only Management Server.

    4

    Both Journal Entry and Management Servers.

Published:

Understanding Longview Servers

The following servers are an integral part of Longview. In addition to these servers, your system may also have process-specific servers or server pools, such as Elimination Servers, Math Servers, Journal Entry Servers, and so on.

Understanding the Data Server

The Data Server performs as a single, integrated data source for the Longview system. It is responsible for maintaining access to the system, overseeing authentication and authorization, and maintaining symbols, dimensions, classes, and attributes.

The Data Server features the following characteristics:

  • up to 16 base dimensions
  • up to 8 schedule dimensions
  • a maximum of 262,144 symbols per dimension
  • string data and data approval comments up to 4,000 characters in length
  • names up to 31 characters in length

The Data Server is not actually one server, but a set of executable files.

The Data Server consists of the following:

Agents

An agent (lvagent) is a process that serves as a channel from client components to the servers. There are two modes in which agents can operate — dedicated and pooled.

There are also web agents (lvwag), which behave similarly to regular agents.

  • Dedicated

    When your Longview system uses dedicated agents, a new agent is spawned by the Listener each time it receives a connect request from a client component. The agent process ends when the user disconnects from the servers.
  • Pooled

    When your Longview system uses agent pooling, the Listener pre-spawns the specified number of agents when the servers first start up. In this mode, each time the Listener receives a connect request from a client component, it assigns the connection to the least busy agent in the pool. Agents handle multiple, concurrent connections in this mode, to a maximum of 250 connections. When a user disconnects, the assigned agent remains on the server, waiting to handle other connections. Longview recommends that you start with one agent handling ten users.

Elimination Server

If your company contains several divisions that share the same corporate parent, it is possible that they do business with each other. To ensure that intercompany transactions are handled correctly, the users of your Longview system need to identify each entity that does business with its siblings, and then perform an intercompany elimination on each of those transactions.

The Elimination Server (lvelim.exe) manages the data related to eliminations. Specifically, the Elimination Server does the following:

  • creates eliminations for all hierarchies.
  • stores and manages the transactions in new intercompany data tables.
  • communicates with the Journal Entry Server to create and post each elimination journal entry (JE) automatically.

Grid Server

The Grid Server manages the running of the math portion of the restatement over a network of Windows-based computers. In manual mode, the Grid Server itself manages the distribution of all jobs in the network. The Grid Server also works with third-party grid software (DataSynapse) by sending jobs to the third-party Grid Server, which then manages the distribution of the math jobs. In either case, distributing the jobs across multiple desktops/servers reduces the time taken to complete the restatement process.

The Grid Server:

  • works with third-party grid software (DataSynapse).
  • is launched when the Longview Administrator Console is started.
  • distributes the math jobs to multiple machines when using manual mode or sends all jobs to a third-party Grid Server when the restatement is launched.
  • transfers the math output files to the tmp folder on the server and adds the jobs to the writer queue.
  • sends information on its activity to the Longview Data Server Log.

Listener

The Listener (lvlsnr.exe) identifies connection requests from client components. It listens for users attempting to access the application.

The Listener:

  • receives the user’s request for connection to the application.
  • assigns an agent to communicate the user’s request to the application and to transmit the responses to the user. If agent pools are being used, the Listener assigns user connection requests to a particular pre-existing agent.
  • goes back to listening for the next request from a user.
  • sends information on its activities to the Longview Data Server Log.

Locking Server

The Locking Server (lvlock.exe) handles all requests for locking, unlocking, and verification of submitted data against a user’s locks. It also stores information on locking activity.

The Locking Server:

  • receives notification from the agent that the user has requested access to symbols in the Data Server database. The combination of symbols is called an intersection of data (specified hierarchically in all dimensions).
  • verifies whether the intersection of data is valid.
  • verifies whether any of the symbols in the intersection are locked — that is, in use by another user. If the requested intersection overlaps a locked intersection, the data is considered locked.
  • If none of the data is locked, it allows write access.
  • If any of the data is locked, it allows read-only access.
  • sends the locking information back to the agent.
  • sends information on its activities to the Longview Data Server Log.

Management Server

The Management Server (lvmgm.exe) maintains hierarchy information for other servers, providing quick and coordinated access to hierarchical information.

The Management Server:

  • creates hierarchical information when the server is first initialized.
  • recreates hierarchical information when the hierarchy is changed.
  • handles most database maintenance requests (for example, adding or deleting symbols).
  • detects errors in the hierarchy, alerting users when the hierarchy structure fails to meet the Longview standard.
  • sends data back to the requesting server.
  • sends information on its activities to the Longview Data Server Log.

Monitor Server

The Monitor Server (lvmon.exe) monitors all system activity. All processes on the Server, including agents, send periodic status updates to the Longview Data Server Log.

The Monitor Server:

  • receives information from the Listener and Agents, and from all servers.
  • relays all status updates to the Longview Data Server Log, which you can review later for general and troubleshooting information.
  • takes appropriate action, such as shutting down all servers, if a system error occurs.

Security Server

The Security Server (lvsec.exe) filters every connection to the application. It handles user IDs, passwords, and symbol access restrictions.

The Security Server:

  • receives notification from the agent that the user has requested access to the application.
  • checks if the user is authorized to access the database by verifying the user ID and password.
  • If the user ID and password are correct, it identifies the areas of the data for which the user has read access and write access.
  • If the user ID and password are incorrect, the component sends an error message to the user.
  • If the user does not have the proper authorization for a particular request, the component sends an error message to the user.
  • sends the security information back to the agent.
  • sends information on its activities to the Longview Data Server Log.

Understanding Server Pools

In the past, Longview servers were designed to process very specific types of data. Many of those processes were quite similar and repetitive, resulting in unnecessary fragmentation.

The servers now understand all families of data (unadjusted, adjusting, and schedule), and all types of data (leaf, parent, calculated, validation, and CTA). The resulting benefit is optimal use of resources.

Server pools include the following:

Journal Entry Server Pool

A Journal Entry (JE) is a record of the accounting information for a business transaction. The Journal Entry Server (lvjent.exe) handles all operations relating to an application’s journal entries, for example:

  • creating JEs
  • updating JEs
  • translating and validating JE details
  • posting JEs
  • deleting JEs (when allowed) The Journal Entry Server Pool:
  • receives requests from the component (via the associated agent), or from the Elimination Server, to perform a JE operation. When a system is configured to use JE workers, these requests are routed automatically to the least busy worker for better concurrency.
  • queues data to the Submission Server queue.
  • sends information on its activities to the Longview Data Server Log.

Math Server Pool

The Math Server (lvmath.exe) performs accounting related logic, server modeling and validation logic, and calculations, depending on the configuration of your system.

The Math Server:

N-Dimensional Distribution

N-Dimensional Distribution distributes data to the nth dimension, in a one-to-one mapping. For example, for a particular account and entity, it distributes 100% of the data to the nth dimension, which can be a function, an activity, or a product.

N-dimensional modeling automatically iterates through fixed dimensions, to run three-dimensional models. No complex looping is necessary.

N-dimensional modeling:

  • executes the query once (rather than once for each iteration)
  • compiles the datalink and model once
  • submits changes once (after all iterations)

Period Activity Calculation

The Period Activity Calculation (PAC) translates year-to-date (YTD) data to current period data. Whenever a data value corresponding to a YTD time period changes, the corresponding current period time period data automatically changes.

Retained Earnings Calculation

Retained Earnings Calculation (REC) moves the net income value to the Retained Earnings section of the Balance Sheet. Whenever the value of a leaf cell changes, this change causes a change in the Net Income value and is recorded automatically in the associated REC leaf account.

Translation

The translation logic calculates data related to data translation (also known as foreign exchange). Whenever the value of a source currency changes, the corresponding target currency is automatically calculated using appropriate exchange rates.

In addition, the appropriate effect on the Net CTA account, as well as the related Cumulative Translation Adjustment (CTA) details are calculated.

Year-to-date

The year-to-date (YTD) calculation logic is like the Period Activity Calculation (PAC) logic. It converts a period amount to a YTD amount.

Submission Server Pool

The Submission Server Pool (lvsub.exe) enters data into leaf tables in the Data Server database and sends data files to the appropriate servers for further calculations.

The number of submission servers you can start depends on the logic enabled in your system. For example, if you use schedules in your system, the submission pool can be set to 2, because you can submit to different leaf tables (klx_uln_pnnn_cells and klx_sln_pnnn_cells). If you use leaf partitioning in the database, your submission pool can be greater than 1, because there is more than one leaf table to which you can submit data. It is not necessary to have one Submission Server per leaf table.

The Submission Server Pool:

  • receives input from the agent.
  • sends the data file to the Math Server if calculations are required.
  • sends information on its activities to the Longview Data Server Log.
  • inserts and updates values in the following tables:
    • klx_aln_pnnn_cells
    • klx_sln_pnnn_audit
    • klx_sln_pnnn_cells
    • klx_sls_pnnn_cells
    • klx_uln_pnnn_audit
    • klx_uln_pnnn_cells
    • klx_uls_pnnn_cells
    • * nnn = 0 – 999

Writer Server Pool

The Writer Server Pool (lvwrite.exe) updates all data tables not updated by the Submission Server Pool — parent, calculated, validation, and translation tables.

The Writer Servers:

  • accept rolled up calculated delta data from the Math Server.
  • take the jobs that were placed in the Writer queue by the Math Server.
  • create data cache files (highly compressed files, much smaller than storing in a database) when Store Calculated Data in Cache Files is selected.
    For more information, see Recalculation.
  • update the appropriate data tables — for example, parent, calculated, Cumulative Translation Adjustment (CTA), or validation.
  • send information on activities to the Longview Data Server Log.

To calculate the maximum number of Writer Servers, you can use the following formula:

Max Writers = NumPartitions * 4 * Logic

where:

  • NumPartitions is the number of partitions in the database
  • 4 represents the four types of tables (Calculated, Parent, Validation, and CTA)
  • Logic represents the combination of Journal Entry and Management Servers currently enabled. The possible values are:
    Value Description

    1

    Neither Journal Entry nor Management Servers.

    2

    Only Journal Entry Server, or only Management Server.

    4

    Both Journal Entry and Management Servers.

For an optimal Community experience, Please view on Desktop