Disclosed is a technique to improve the performance of an association call by supporting association methods directly. Association related methods are made extrinsic and call to these made using invoke method.
Performance Optimization for CIM association traversal for WMI Providers
Disclosed is a technique to improve the performance of an association call by supporting association methods directly. Association related methods are made extrinsic and call to these made using invoke method.
Current design of the associator call:
1.
2.
CLIENT
Associators()
Request/response
WMI to CMPI Converter
GetInstance()
Request/response
EnumInstance() Request/response
GetInstance()
Request/response
WMI - CIMOM
GetInstance()
Request/response
EnumInstance() Request/response
GetInstance()
Request/response
WMI to CMPI Converter
GetInstance()
Request/response
EnumInstance() Request/response
GetInstance()
Request/response
CMPI PROVIDER
Client makes a call associators() by passing Source COP, Association Class Name and
Target Class Name.
WMI to CMPI Converter identifies it as associators() CIM call and since WMI does not
support associators() breaks the call into three different supported CIM calls and executes in sequence.
1. getInstance() on the Source COP
2. enumerateInstance() on Association Class Name
3. getInstance() on the matching Target COP. If there N matching target COP then there will be N getInstance calls.
Basically associators() method implemented by the provider never gets called. Instead algorithm for the same is placed in the WMI to CMPI Converter. With this current approach performance is in Order(n) compared to the new, improved appro...