IP Library Granted Patent US 7,984,419
Granted Patent B2
US 7,984,419 · App. 11/113,561 · Granted Jul 19, 2011

System and method for separating code sharing and active applications in an OSGi service platform

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,984,419
App. No.
11/113,561
Granted
Jul 19, 2011
Kind
B2
Abstract

A system and method for categorizing bundles into two categories in an OSGi framework. The first type of bundle is referred to as a code sharing bundle, while the second type of bundle is referred to as an application bundle. Code sharing bundles are primarily static in nature and act as libraries, while application bundles are dynamic and contain active applications. This arrangement reduces dependencies between bundles, as well as providing a number of additional benefits.

Claims (32)

1. A method, comprising:

as a replacement for standard OSGi bundles, creating two disjunctive bundle types, including:

a code sharing bundle type, wherein each code sharing bundle is arranged to share packages of JAVA classes and not to implement active logic; and

an application bundle type, wherein each application bundle is arranged to implement active logic but not to share packages of Java classes.

2. The method of claim 1 , wherein when a package is exported from the application bundle, the package only contains Java interfaces, and wherein the Java interfaces contain, besides methods, only fields initialized with compile time constants.

3. The method of claim 1 , wherein the code sharing bundle is not permitted to register services.

4. The method of claim 1 , wherein the code sharing bundle cannot be started or stopped.

5. The method of claim 1 , further comprising creating dedicated incarnations of static fields for all of Java classes of the code sharing bundle during each initialization.

6. The method of claim 1 , further comprising incarnating a dedicated set of static locks for each client bundle.

7. The method of claim 1 , further comprising initializing each Java class and interface defined by a code sharing bundle for every client bundle that uses exported code from a code sharing bundle.

8. The method of claim 7 , wherein, if a client application bundle using exported packages of the code sharing bundle is stopped and started, the initialization is repeated for each Java class and interface contained by the code sharing bundle.

9. The method of claim 1 , wherein each code sharing bundle contains at least one Java class file.

10. A computer program product embodied in a non-transistor memory, comprising:

computer-executable instructions for execution by a computer for, as a replacement for standard OSGi bundles, creating two disjunctive bundle types, including:

a code sharing bundle type, wherein each code sharing bundle is arranged to share packages of JAVA classes and not to implement active logic; and

an application bundle type, wherein each application bundle type is arranged to implement active logic but not to share packages of Java classes.

11. The computer program product of claim 10 , wherein when a package is exported from the application bundle, the package only contains Java interfaces, and wherein the Java interfaces contain, besides methods, only fields initialized with compile time constants.

12. The computer program product of claim 10 , wherein the code sharing bundle is not permitted to register services.

13. The computer program product of claim 10 , wherein the code sharing bundle cannot be started or stopped.

14. The computer program product of claim 10 , further comprising creating dedicated incarnations of static fields for all Java classes of the code sharing bundle during each initialization.

15. The computer program product of claim 10 , further comprising incarnating a dedicated set of static locks for each client bundle.

16. The computer program product of claim 10 , further comprising initializing each Java class and interface defined by a code sharing bundle for every client bundle that uses exported code from a code sharing bundle.

17. The computer program product of claim 16 , wherein, if a client application bundle using exported packages of the code sharing bundle is stopped and started, the initialization is repeated for each Java class and interface contained by the code sharing bundle.

18. An electronic device, comprising:

a processor; and

a memory unit operatively connected to the processor and including a computer program product, comprising:

computer code for, as a replacement for standard OSGi bundles, creating two disjunctive bundle types, including:

a code sharing bundle type, wherein each code sharing bundle is arranged to share packages of JAVA classes and not to implement active logic; and

an application bundle type, wherein each application bundle type is arranged to implement active logic but not to share packages of Java classes.

19. The electronic device of claim 18 , wherein when a package is exported from the application bundle, the package only contains Java interfaces, and wherein the Java interfaces contain, besides methods, only fields initialized with compile time constants.

20. The electronic device of claim 18 , wherein the code sharing bundle is not permitted to register services.

21. The electronic device of claim 18 , wherein the code sharing bundle cannot be started or stopped.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2025
From: CONVERSANT WIRELESS LICENSING LTD.
To: MEDIATEK INC.
Reel/Frame 071292/0785 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2023
From: CONVERSANT WIRELESS LICENSING S.A R.L.
To: CONVERSANT WIRELESS LICENSING LTD.
Reel/Frame 063493/0782 →
RELEASE OF SECURITY INTEREST Recorded Apr 13, 2021
From: CPPIB CREDIT INVESTMENTS INC.
To: CONVERSANT WIRELESS LICENSING S.A R.L.
Reel/Frame 055910/0584 →
AMENDED AND RESTATED U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Aug 22, 2018
From: CONVERSANT WIRELESS LICENSING S.A R.L.
To: CPPIB CREDIT INVESTMENTS, INC.
Reel/Frame 046897/0001 →
CHANGE OF NAME Recorded Oct 20, 2017
From: CORE WIRELESS LICENSING S.A.R.L.
To: CONVERSANT WIRELESS LICENSING S.A R.L.
Reel/Frame 044242/0401 →