Services and Service Connectors Configuration
From OpenSimulator
Line 1: | Line 1: | ||
− | Starting in r9562 OpenSim has a set of new configuration variables that specify how services and service connectors are set up. The purpose of these new configuration variables is to move away from the brittle "grid vs. standalone" paradigm, as that was a very limiting model. OpenSim is moving into a service-oriented model where simulators can easily connect to services, independent of where they execute. This service-oriented model features a very flexible service connector mechanism, enabling diversity in service implementations without having to change the simulator code. | + | Starting in r9562 OpenSim has a set of new configuration variables that specify how services and service connectors are set up. The purpose of these new configuration variables is to move away from the brittle "grid vs. standalone" paradigm, as that was a very limiting model. OpenSim is moving into a service-oriented model where simulators can easily connect to services, independent of where they execute. This service-oriented model features a very flexible service connector and composition mechanism, enabling diversity in service implementations without having to change the simulator code. |
The new architecture brings changes in configuration variables of the simulators (OpenSim.ini), and also changes in the way the servers are configured. What follows explains the new configuration variables in OpenSim.ini, using the asset service as an example. | The new architecture brings changes in configuration variables of the simulators (OpenSim.ini), and also changes in the way the servers are configured. What follows explains the new configuration variables in OpenSim.ini, using the asset service as an example. | ||
Line 15: | Line 15: | ||
This section above specifies which service connector your simulator uses. | This section above specifies which service connector your simulator uses. | ||
* If you are running a standalone grid (i.e. one process grid-in-a-box), and/or if you want to store your simulator's assets locally, you want to set it to the default LocalAssetServicesConnector. | * If you are running a standalone grid (i.e. one process grid-in-a-box), and/or if you want to store your simulator's assets locally, you want to set it to the default LocalAssetServicesConnector. | ||
− | * If your simulator is connected to grid and/or if it uses a remote server to store its assets, you want to set it to RemoteAssetServicesConnector. | + | * If your simulator is connected to an external grid and/or if it uses a remote server to store its assets, you want to set it to RemoteAssetServicesConnector. |
− | * If you want to use the HyperGrid architecture that supports | + | * If you want to use the current HyperGrid architecture that supports asset exchanges between simulators in different grids, you want to set it to HGAssetBroker, independent of whether your grid is standalone or external. |
Many more asset service connectors may come long. For example, if someone implements an asset server that uses a completely different protocol, all the implementer needs to do is to write one of these service connectors for his/her service implementation, as a region module; the simulator administrators can then simply install that module and specify its name above, as a replacement for the 3 options that come with OpenSim. | Many more asset service connectors may come long. For example, if someone implements an asset server that uses a completely different protocol, all the implementer needs to do is to write one of these service connectors for his/her service implementation, as a region module; the simulator administrators can then simply install that module and specify its name above, as a replacement for the 3 options that come with OpenSim. | ||
+ | |||
+ | The last variable in the block above specifies whether you want your simulator to cache assets in memory or not. Memory caching improves speed on asset access but increases memory usage. | ||
+ | |||
+ | The next set of variables zooms in on the configuration of the asset service connector itself. | ||
[AssetService] | [AssetService] | ||
− | ; Parameters for local assets | + | ; Parameters for local assets |
LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" | LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" | ||
StorageProvider = "OpenSim.Data.SQLite.dll" | StorageProvider = "OpenSim.Data.SQLite.dll" | ||
Line 29: | Line 33: | ||
AssetLoaderArgs = "assets/AssetSets.xml" | AssetLoaderArgs = "assets/AssetSets.xml" | ||
− | ; Parameters for remote assets | + | ; Parameters for remote assets |
;AssetServerURI = "http://localhost:8003/" | ;AssetServerURI = "http://localhost:8003/" | ||
Line 41: | Line 45: | ||
HypergridAssetService = "OpenSim.Services.AssetService.dll:HGAssetService" | HypergridAssetService = "OpenSim.Services.AssetService.dll:HGAssetService" | ||
+ | The first group of variables pertains to the LocalAssetServicesConnector module in the previous section; the second group (only one variable) pertains to RemoteAssetServicesConnector; and the third group pertains to HGAssetBroker. | ||
+ | * Parameters for Local Assets | ||
+ | If you configured OpenSim in standalone before, you are probably familiar with most of that first set of variables: they are meant to configure the access to the assets database. The only | ||
[AssetCache] | [AssetCache] | ||
; Number of buckets for assets | ; Number of buckets for assets | ||
;CacheBuckets = 32768 | ;CacheBuckets = 32768 |
Revision as of 06:31, 17 May 2009
Starting in r9562 OpenSim has a set of new configuration variables that specify how services and service connectors are set up. The purpose of these new configuration variables is to move away from the brittle "grid vs. standalone" paradigm, as that was a very limiting model. OpenSim is moving into a service-oriented model where simulators can easily connect to services, independent of where they execute. This service-oriented model features a very flexible service connector and composition mechanism, enabling diversity in service implementations without having to change the simulator code.
The new architecture brings changes in configuration variables of the simulators (OpenSim.ini), and also changes in the way the servers are configured. What follows explains the new configuration variables in OpenSim.ini, using the asset service as an example.
[ServiceConnectors] ; Choose one AssetServices = "LocalAssetServicesConnector" ;AssetServices = "RemoteAssetServicesConnector" ;AssetServices = "HGAssetBroker" ; If you don't want asset caching in the regions, comment this AssetCaching = "CoreAssetCache" ...
This section above specifies which service connector your simulator uses.
- If you are running a standalone grid (i.e. one process grid-in-a-box), and/or if you want to store your simulator's assets locally, you want to set it to the default LocalAssetServicesConnector.
- If your simulator is connected to an external grid and/or if it uses a remote server to store its assets, you want to set it to RemoteAssetServicesConnector.
- If you want to use the current HyperGrid architecture that supports asset exchanges between simulators in different grids, you want to set it to HGAssetBroker, independent of whether your grid is standalone or external.
Many more asset service connectors may come long. For example, if someone implements an asset server that uses a completely different protocol, all the implementer needs to do is to write one of these service connectors for his/her service implementation, as a region module; the simulator administrators can then simply install that module and specify its name above, as a replacement for the 3 options that come with OpenSim.
The last variable in the block above specifies whether you want your simulator to cache assets in memory or not. Memory caching improves speed on asset access but increases memory usage.
The next set of variables zooms in on the configuration of the asset service connector itself.
[AssetService] ; Parameters for local assets LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService" StorageProvider = "OpenSim.Data.SQLite.dll" ;StorageProvider = "OpenSim.Data.MySQL.dll" ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=opensim;" DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" AssetLoaderArgs = "assets/AssetSets.xml" ; Parameters for remote assets ;AssetServerURI = "http://localhost:8003/" ; Paremeters for the Hypergrid connector ;; Parameters for the HG Broker ; Use this one if you have a standalone grid LocalGridAssetService = "OpenSim.Services.AssetService.dll:AssetService" ; Use this one if this sim is connected to a grid-wide asset server ;LocalGridAssetService = "OpenSim.Servers.Connectors.dll:AssetServiceConnector" HypergridAssetService = "OpenSim.Services.AssetService.dll:HGAssetService"
The first group of variables pertains to the LocalAssetServicesConnector module in the previous section; the second group (only one variable) pertains to RemoteAssetServicesConnector; and the third group pertains to HGAssetBroker.
- Parameters for Local Assets
If you configured OpenSim in standalone before, you are probably familiar with most of that first set of variables: they are meant to configure the access to the assets database. The only
[AssetCache]
; Number of buckets for assets ;CacheBuckets = 32768