发明名称 Sharing of classes for modular programs in a multi-tenant environment
摘要 For each of a plurality of different tenants configured to concurrently execute in a virtual environment, a respective class loader graph can be constructed. For each respective class loader graph, unique types of edges between nodes that affect class loading can be identified. The edges can be traversed. Based on traversing the edges of the class loader graph, a respective unique dependency identifier (UDI) can be assigned to each class loader request. Class loader requests that are assigned the same UDI can be identified in at least two of the tenants. Responsive to identifying the class loader requests that are assigned the same UDI, a shared class loader can be assigned to each of the class loader requests. Each respective class loader request that is assigned the same UDI can be configured to call the shared class loader to load at least one class required by the respective tenant.
申请公布号 US9563447(B2) 申请公布日期 2017.02.07
申请号 US201615081020 申请日期 2016.03.25
申请人 INTERNATIONAL BUSINESS MACHINES CORPORATION 发明人 Dawson Michael H.;Hargrave Bentley J.;Watson Thomas J.
分类号 G06F9/44;G06F9/445 主分类号 G06F9/44
代理机构 Cuenot, Forsythe & Kim, LLC 代理人 Cuenot, Forsythe & Kim, LLC
主权项 1. A method, comprising: for each of a plurality of different tenants configured to concurrently execute in a virtual environment, constructing in a memory of a processing system a respective class loader graph comprising a plurality of nodes, each node representing a respective class loader request specified by a module of the tenant; for each respective class loader graph: identifying unique types of edges between nodes that affect class loading, wherein each edge indicates a dependency of the class loader request represented by a first node on the class loader request represented by a second node;traversing the edges in the class loader graph in accordance with data associated with each node; andbased on traversing the edges of the class loader graph, assigning a unique dependency identifier to each class loader request represented by a corresponding node; identifying, in at least two of the plurality of tenants, class loader requests that are assigned the same unique dependency identifier; responsive to identifying the class loader requests to which the same unique dependency identifier is assigned, assigning, using a processor, a shared class loader to each of the class loader requests; and configuring each respective class loader request to which the same unique dependency identifier is assigned to call the shared class loader to load at least one class required by the respective tenant.
地址 Armonk NY US