发明名称 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.
申请公布号 US9311118(B1) 申请公布日期 2016.04.12
申请号 US201514921183 申请日期 2015.10.23
申请人 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 extends from a respective first node to a respective second node and indicates a dependency of the class loader request represented by the first node on the class loader request represented by the second node; traversing the edges in the class loader graph in accordance with data associated with each node; and based on traversing the edges of the class loader graph, assigning a unique dependency identifier to each class loader request represented by a corresponding node, wherein the respective unique dependency identifier assigned to a class loader request that is dependent on at least one other class loader request is based, at least in part, on a respective type of at least one edge extending from the first node representing the class loader request to the second node representing the other class loader request; 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 are 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