Accessing conflicting frameworks and classes

US11520604B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11520604-B2
Application numberUS-202117323559-A
CountryUS
Kind codeB2
Filing dateMay 18, 2021
Priority dateSep 21, 2017
Publication dateDec 6, 2022
Grant dateDec 6, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and systems for accessing conflicting frameworks and classes are presented. In some embodiments, a conflicting frameworks computing platform may receive an application classloader corresponding to a mobile application. The application classloader may indicate one or more child application-defined classloaders. Subsequently, the conflicting frameworks computing platform may create a framework-defined classloader comprising a first class that conflicts with a second class in the one or more child application-defined classloaders. Further, the conflicting frameworks computing platform may create a framework-termination classloader. The framework-termination classloader may be a parent classloader of the framework-defined classloader. Next, the conflicting frameworks computing platform may replace, using a reflection function, the application classloader with a new application classloader. The new application classloader may indicate the one or more child application-defined classloaders, the framework-defined classloader, and the framework-termination classloader.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: configuring, by a computing device, an application classloader for a mobile application, wherein the application classloader is a parent classloader of one or more application-defined classloaders; configuring, by the computing device, a framework-defined classloader referencing a first framework that conflicts with a second framework, wherein the second framework is referenced by one or more of the application classloader or the one or more application-defined classloaders; configuring, by the computing device, a framework-termination classloader, wherein the framework-termination classloader is a parent classloader of the framework-defined classloader; replacing, by the computing device and using a reflection function, the application classloader with a new application classloader; determining, by the computing device, a request for a class; determining, by the computing device and using the new application classloader, that the requested class is associated with the first framework; and processing, by the computing device and using the framework-defined classloader, the request for the class. 2. The method of claim 1 , further comprising: configuring the mobile application with application wrapping code, wherein the application wrapping code is associated with the first framework, and wherein source code of the mobile application is associated with the second framework. 3. The method of claim 1 , wherein the first framework comprises a first version of a library, and wherein the second framework comprises a second version of the library. 4. The method of claim 1 , wherein the framework-defined classloader is configured to, in response to receiving the request for the class from the new application classloader, send the request for the class to the framework-termination classloader. 5. The method of claim 4 , wherein the framework-termination classloader is configured to, in response to receiving the request for the class from the framework-defined classloader, return a class-not-found exception, and wherein the framework-defined classloader is configured to, in response to the class-not-found exception returned by the framework-termination classloader, retrieve the requested class from the first framework. 6. The method of claim 1 , wherein the framework-termination classloader is a child classloader of the application classloader or the new application classloader. 7. The method of claim 1 , wherein the request for the class comprises a request by an operating system of the computing device. 8. The method of claim 1 , further comprising: determining, by the computing device, a request for a second class; determining, by the computing device and using the new application classloader, that the requested second class is associated with the second framework; and processing, by the computing device and using the application classloader, the request for the second class. 9. The method of claim 1 , wherein the framework-defined classloader is configured to, in response to the requested class not being found by the framework-defined classloader, send the request for the class to the application classloader. 10. The method of claim 1 , wherein the first framework comprises a plurality of classes including the requested class. 11. A computing device comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the computing device to: configure an application classloader for a mobile application, wherein the application classloader is a parent classloader of one or more application-defined classloaders; configure a framework-defined classloader referencing a first framework that conflicts with a second framework, wherein the second framework is referenced by one or more of the application classloader or the one or more application-defined classloaders; configure a framework-termination classloader, wherein the framework-termination classloader is a parent classloader of the framework-defined classloader; replace, using a reflection function, the application classloader with a new application classloader; determine a request for a class; determine, using the new application classloader, that the requested class is associated with the first framework; and process, using the framework-defined classloader, the request for the class. 12. The computing device of claim 11 , wherein the first framework comprises a first version of a library, and wherein the second framework comprises a second version of the library. 13. The computing device of claim 11 , wherein the framework-defined classloader is configured to, in response to receiving the request for the class from the new application classloader, send the request for the class to the framework-termination classloader. 14. The computing device of claim 13 , wherein the framework-termination classloader is configured to, in response to receiving the request for the class from the framework-defined classloader, return a class-not-found exception, and wherein the framework-defined classloader is configured to, in response to the class-not-found exception returned by the framework-termination classloader, retrieve the requested class from the first framework. 15. The computing device of claim 11 , wherein the framework-defined classloader is configured to, in response to the requested class not being found by the framework-defined classloader, send the request for the class to the application classloader. 16. One or more non-transitory computer-readable media storing instructions that, when executed, cause a computing device to: configure an application classloader for a mobile application, wherein the application classloader is a parent classloader of one or more application-defined classloaders; configure a framework-defined classloader referencing a first framework that conflicts with a second framework, wherein the second framework is referenced by one or more of the application classloader or the one or more application-defined classloaders; configure a framework-termination classloader, wherein the framework-termination classloader is a parent classloader of the framework-defined classloader; replace, using a reflection function, the application classloader with a new application classloader; determine a request for a class; determine, using the new application classloader, that the requested class is associated with the first framework; and process, using the framework-defined classloader, the request for the class. 17. The one or more non-transitory computer-readable media of claim 16 , wherein the first framework comprises a first version of a library, and wherein the second framework comprises a second version of the library. 18. The one or more non-transitory computer-readable media of claim 16 , wherein the framework-defined classloader is configured to, in response to receiving the request for the class from the new application classloader, send the request for the class to the framework-termination classloader. 19. The one or more non-transitory computer-readable media of claim 18 , wherein the framework-termination classloader is configured to, in response to receiving the request for the class from the framework-defined classloader, return a class-not-found exception, and wherein the framework-defined classloader is configured to, in response to the class-not-found exception returned by the framework-termination classloader, retrieve the requested cla

Assignees

Inventors

Classifications

  • Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11520604B2 cover?
Methods and systems for accessing conflicting frameworks and classes are presented. In some embodiments, a conflicting frameworks computing platform may receive an application classloader corresponding to a mobile application. The application classloader may indicate one or more child application-defined classloaders. Subsequently, the conflicting frameworks computing platform may create a fram…
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/44521. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 06 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).