IP Library Granted Patent US 7,536,683
Granted Patent B2
US 7,536,683 · App. 10/831,970 · Granted May 19, 2009

Method of dynamically appending a library to an actively running program

Assignee: Adobe Systems Incorporated
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,536,683
App. No.
10/831,970
Granted
May 19, 2009
Kind
B2
Abstract

A method for dynamically linking a dynamic library to an application program is provided. The method determines if the dynamic library resides on a computer system on which the application program is executing and locates the dynamic library at a predetermined location if it is determined that the dynamic library does not reside on the computer system. The method further provides for loading and attaching to the dynamic library, receiving a function call by the application to the dynamic library and passing the function call to the dynamic library.

Claims (63)

1. A method for using a static library to dynamically load a dynamically linked library comprising:

receiving a request from an application program to connect to a dynamically linked library;

while the application program is running:

checking a computer system running the application program for the dynamically linked library;

determining if the dynamically linked library needs to be loaded;

loading the dynamically linked library from a predetermined location onto the computer system if the dynamically linked library needs to be loaded, such that the application program continues to function properly; and

attaching the dynamically linked library to a static library, the static library capable of passing one or more application calls from the application program to the dynamically linked library.

2. The method of claim 1 , wherein the determining if the dynamically linked library needs to be loaded further comprises:

determining if the dynamically linked library is the correct version.

3. The method of claim 1 , wherein the determining if the dynamically linked library needs to be loaded further comprises:

determining if the dynamically linked library is missing.

4. The method of claim 1 , wherein the predetermined location is an external resource, the external resource including a Web server or a CD-ROM.

5. The method of claim 1 , wherein the method further comprising:

downloading a new version of the dynamically linked library from a Web server; and

storing the new version of the dynamically linked library on the computer system running the application program.

6. The method of claim 1 , wherein the static library comprises an application interface, a dynamically linked library interface, a loader, and an Internet access module.

7. The method of claim 6 , wherein the application interface receives the one or more application calls from the application program.

8. The method of claim 6 , wherein the dynamically linked library interface passes the one or more application calls from the application program to the dynamically linked library.

9. The method of claim 6 , wherein the loader loads the dynamically linked library into a memory of the computer system running the application program.

10. The method of claim 6 , wherein the Internet access module opens an HTTP connection to a server to download the dynamically linked library.

11. A system to perform operations for using a static library to dynamically load a dynamically linked library comprising:

one or more computers operable to perform operations comprising:

receiving a request from an application program to connect to a dynamically linked library;

while the application program is running:

checking a computer system running the application program for the dynamically linked library;

determining if the dynamically linked library needs to be loaded;

loading the dynamically linked library from a predetermined location onto the computer system if the dynamically linked library needs to be loaded, such that the application program continues to function properly; and

attaching the dynamically linked library to a static library, the static library capable of passing one or more application calls from the application program to the dynamically linked library.

12. The system of claim 11 , wherein the determining if the dynamically linked library needs to be loaded further comprises:

determining if the dynamically linked library is the correct version.

13. The system of claim 11 , wherein the determining if the dynamically linked library needs to be loaded further comprises:

determining if the dynamically linked library is missing.

14. The system of claim 11 , wherein the predetermined location is an external resource, the external resource including a Web server or a CD-ROM.

15. The system of claim 11 , wherein the one or more computers are operable to perform operations further comprising:

downloading a new version of the dynamically linked library from a Web server; and

storing the new version of the dynamically linked library on the computer system running the application program.

16. The system of claim 11 , wherein the static library further comprises an application interface, a dynamically linked library interface, a loader, and an Internet access module.

17. The system of claim 16 , wherein the application interface receives the one or more application calls from the application program.

18. The system of claim 16 , wherein the dynamically linked library interface passes the one or more application calls from the application program to the dynamically linked library.

19. The system of claim 16 , wherein the loader loads the dynamically linked library into a memory of the computer system running the application program.

20. The system of claim 16 , wherein the Internet access module opens an HTTP connection to a server to download the dynamically linked library.

21. The system of claim 11 , wherein the one or more computers are coupled to a Web server via the Internet.

22. The system of claim 11 , wherein the one or more computers comprise a processor, a memory, a nonvolatile memory, and a hard disk.

23. A computer product, encoded on a computer-readable medium, operable to cause a data processing apparatus to perform operations for using a static library to dynamically load a dynamically linked library comprising:

receiving a request from an application program to connect to a dynamically linked library;

while the application program is running:

checking a computer system running the application program for the dynamically linked library;

determining if the dynamically linked library needs to be loaded;

loading the dynamically linked library from a predetermined location onto the computer system if the dynamically linked library needs to be loaded, such that the application program continues to function properly; and

attaching the dynamically linked library to a static library, the static library capable of passing one or more application calls from the application program to the dynamically linked library.

24. The computer program product of claim 23 , wherein the determining if the dynamically linked library needs to be loaded further comprises:

determining if the dynamically linked library is the correct version.

25. The computer program product of claim 23 , wherein the determining if the dynamically linked library needs to be loaded further comprises:

determining if the dynamically linked library is missing.

26. The computer program product of claim 23 , wherein the predetermined location is an external resource, the external resource including a Web server or a CD-ROM.

27. The computer program product of claim 23 , wherein the computer program product is operable to cause the data processing apparatus to perform operations further comprising:

downloading a new version of the dynamically linked library from a Web server; and

storing the new version of the dynamically linked library on the computer system running the application program.

28. The computer program product of claim 23 , wherein the static library comprises an application interface, a dynamically linked library interface, a loader, and an Internet access module.

29. The computer program product of claim 28 , wherein the application interface receives the one or more application calls from the application program.

30. The computer program product of claim 28 , wherein the dynamically linked library interface passes the one or more application calls from the application program to the dynamically linked library.

31. The computer program product of claim 28 , wherein the loader loads the dynamically linked library into a memory of the computer system running the application program.

32. The computer program product of claim 28 , wherein the Internet access module opens an HTTP connection to a server to download the dynamically linked library.

Assignments (2)
CHANGE OF NAME Recorded Apr 8, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048867/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2008
From: ZIMMERMAN, DANIEL R.; YUSOV, ANDREI; PALANIAPPAN, MURUGAPPAN
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 021211/0265 →
Continuity (1)
Related Publication 20040226031A1 · Nov 11, 2004