Home Search

DriveWorks Pro 21
Info: 3D Preview Load Balancing (KB1701201)

Send Feedback

Info: 3D Preview Load Balancing

3D previews (requested from a 3D Preview Box running in Autopilot Mode) can be load balanced across multiple Autopilots.

If you have more than one DriveWorks Autopilot and your project uses a 3D Preview Box, that runs in Autopilot mode, the property Generation Method determines the extent of load balancing that will be applied.

  • OnDemand

    The OnDemand method will generate one component set per Autopilot machine.

    When utilizing multiple Autopilots to generate 3D Previews only top level component sets are load balanced.

    Generation Tasks will not run on SOLIDWORKS models, prior to creating the drive3d file, using this option.

  • Queued

    The Queued method will release all components within a component set for generation.

    When utilizing multiple Autopilots to generate 3D Previews all released components are load balanced across all available Autopilots.

    This is only applicable to Shared Groups.

    Generation Tasks will run on SOLIDWORKS models, prior to creating the drive3d file, using this option.

    Large assemblies will have their 3D Preview generate quicker when generation is load balanced across multiple Autopilots.

    Any Drawings that are required are deferred for generation at a later time. See Deferred Drawings for more information.


All client 3D Preview requests are stored in the DriveWorks Group, the request is then distributed by DriveWorks Pro Server to the Autopilot it determines should process it.

Individual Groups

When Individual Groups are in use preview requests are sent out to the current machine (localhost).

If an Autopilot is running with the 3d preview queue enabled then it will process it.

If an Autopilot is running without the 3d preview queue enabled then an error message will be reported to say that there are no agents that can process the request.

Tags have no affect on preview requests for individual groups.

Shared Groups

Whenever the 3d preview queue is started on an Autopilot it registers itself against DriveWorks Pro Server as ready to receive preview requests.

DriveWorks Pro server will process 3d preview requests in the order that they come in. For each request it will:

  1. Check if there are any Autopilots registered, if not it will show an error message in the client
  2. Check if there are any Autopilots that haven't already tried to process this request yet, if there aren't then an error message will be shown in the client
  3. Check to see if any of the Autopilots match the tags on the preview request. (See Tags section for what is considered a match). If no Autopilots match the tags then an error message will be shown in the client.
  4. Check to see if any of the matching Autopilots are available (i.e. they're not currently previewing something). If all of them are busy then this will be put in a retry loop so that when a matching Autopilot becomes available it is processed.
  5. If there is an available matching Autopilot then it will try to send the preview request to it.
  6. Autopilots can register against the group without needing to open a port on the firewall. However, to receive a preview request a port must be opened (see the Firewall section in the topic 3D Preview Settings). If the port isn't open then the message could fail to be sent. If that is the case then it will be put back in the queue to retry again on another Autopilot (if there are any). This then goes back to step 1.
  7. If the message was successfully sent to the Autopilot then it will try and create the preview and send back either the location of the previewed file or an error message if it failed for some reason. These are then shown in the client.

Tags

Tags can be applied on each DriveWorks Autopilot to determine what it can or cannot process.

Tags can also be applied to the 3D Preview control itself.

When DriveWorks Pro Server is calculating which Autopilot will process the 3D Preview request it will look for a match between the tags assigned on each DriveWorks Autopilot and the tags assigned on the 3D Preview control.

A match is when:

  • None of the 3D Preview controls tags don't exist in the DriveWorks Autopilot blocked list
  • Or if the DriveWorks Autopilot is processing priority only then at least one of the 3D Preview controls tags must exist in the tag priority list,
  • Or if neither of the above then it is considered a match.

If multiple DriveWorks Autopilots are considered a match with the tags of the 3D Preview then the best match is found.

DriveWorks Pro Server will try and find a DriveWorks Autopilot with a priority list that contains the 3D Preview controls tags and for each of these found they are ordered by which has the tags highest in their priority list. From this the first one will be chosen.

If there is no priority list on the DriveWorks Autopilot, or if there is but the tags do not match the priority list, then the first available DriveWorks Autopilot will be chosen.

Preview Service Location

Prior to DriveWorks 15 the Preview Service Location was specified in General Settings, the web.config and driveworks.config files.

This is no longer needed.

The Preview Service Location is handled by the group.


Knowledge Base Article Ref:KB1701201