IP Library Granted Patent US 7,277,921
Granted Patent B2
US 7,277,921 · App. 09/795,719 · Granted Oct 2, 2007

Interprocess application programming interface for computer applications

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,277,921
App. No.
09/795,719
Granted
Oct 2, 2007
Kind
B2
Abstract

One or more embodiments of the invention provide a method, apparatus, and article of manufacture for collaborating application programs executing on a client such as a personal digital assistant (PDA). A shared database on the client is obtained and used as a common launch parameter stack. One or more program entry records are stored in the database and the last program entry record stored is identified as the top of the stack. Each program entry record may include information regarding an application launched on the client. When the last program identified on the stack has completed execution, the last program entry record is popped off of the stack. Thereafter, control is returned to an application that corresponds to the new program entry record on the top of the stack.

Claims (72)

1. A method for collaborating applications executing on a personal digital assistant (PDA) client comprising:

(a) obtaining a shared database on the PDA client to be used as a common stack for collaborating applications, wherein the database comprises a catalog database having one or more records;

(b) storing one or more program entry records, as the one or more records, in the database wherein the last program entry record stored is the top of the stack, and wherein each program entry record comprises information regarding an application launched on the PDA client, wherein said information in each program entry record comprises:

(i) state information regarding the application launched on the PDA client; and

(ii) launch parameters for the application launched on the PDA client; and

(c) popping the last program entry record off of the stack when a second application corresponding to the last program entry record has completed execution, wherein the popping of the last program entry record returns control to a first application corresponding to a next program entry record on the stack, wherein said next program entry record on the stack comprises launch parameters for returning to the first application.

2. The method of claim 1 further comprising storing a record number in a record in the database, wherein the record number comprises a total number of program record entries in the stack.

3. The method of claim 2 further comprising verifying the stack using the record number.

4. The method of claim 1 wherein the information for a program entry record comprises a name of an application launched on the PDA client and optional parameters for the application.

5. The method of claim 1 wherein the information for a program entry record comprises state information regarding an application launched on the PDA client, and wherein the state information may be used to restore the state of the application.

6. The method of claim 1 wherein:

a first program entry record in the database comprises information regarding the first application launched on the PDA client; and

a second program entry record in the database comprises information regarding the second application launched by the first application on the PDA client.

7. The method of claim 6 wherein the second program entry record is popped from the stack by the second application.

8. The method of claim 1 wherein popping the last program entry record further comprises storing return values, from the application that has completed execution, with the next program entry record on the stack.

9. The method of claim 1 wherein the storing of a program entry record comprises storing context parameters for the second application to be launched.

10. The method of claim 1 wherein:

two program entry records arc pushed onto the stack when the second application is called by the first application; and

the first application and second application determine whether it is being called or being returned to based on whether a number of program entry records on the stack is even or odd.

11. The method of claim 1 , wherein:

the first application terminates when the second application is called; and

the stack is used to return control to the first application when the second application has completed execution.

12. The method of claim 1 wherein two instances of the same application are executed in parallel using the stack for collaboration.

13. A system for collaborating applications executing on a personal digital assistant (PDA) client comprising:

(a) a personal digital assistant (PDA) client;

(b) a shared database on the PDA client that is used as a common stack for collaborating applications launched on the PDA client, wherein the database comprises a catalog database having one or more records;

(c) a program entry record, as one of the one or more records, stored in the shared database wherein a last program entry record stored in the database is the top of the stack, and wherein each program entry record comprises information regarding an application launched on the PDA client, wherein said information in each program entry record comprises:

(i) state information regarding the application launched on the PDA client; and

(ii) launch parameters for the application launched on the PDA client; and

(d) a second application launched on the PDA client, the application configured to:

(i) store the program entry record in the shared database; and

(ii) pop the last program entry record off of the stack when the second application has completed execution, wherein the popping of the last program entry record returns control to a first application corresponding to a next program entry record on the stack, wherein said next program entry record on the stack comprises launch parameters for returning to the first application.

14. The system of claim 13 further comprising a record number stored in a record in the database, wherein the record number comprises a total number of program record entries in the stack.

15. The system of claim 14 wherein the record number is used to verify the stack.

16. The system of claim 13 wherein the information for a program entry record comprises a name of an application launched on the PDA client and optional parameters for the application.

17. The system of claim 13 wherein the information for a program entry record comprises state information regarding an application launched on the PDA client, and wherein the stare information may be used to restore the state of application.

18. The system of claim 13 wherein:

a first program entry record in the database comprises information regarding the first application launched on the PDA client; and

a second program entry record in the database comprises information regarding the second application launched by the first application on the PDA client.

19. The system of claim 18 wherein the second program entry record is popped from the stack by the second application.

20. The system of claim 13 wherein the popping the last program entry record by the application further comprises storing return values, from the application that has completed execution, with the nest program entry record on the stack.

21. The system of claim 13 wherein the program entry record comprises context parameters for an application to be launched.

22. The system of claim 13 wherein:

two program entry records are pushed onto the stack when the second application is called by the first application; and

the first application and second application determine whether it is being called or being returned to based on whether a number of program entry records on the stack is even or odd.

23. The system of claim 13 , wherein:

the first application terminates when the second application is called; and

the stack is used to return control to the first application when the second application has completed execution.

24. The system of claim 13 wherein two instances of the same application are executed in parallel using the stack for collaboration.

25. An article of manufacture comprising a program storage device embodying instructions that, when executed by a personal digital assistant (PDA) client, cause the PDA client to perform a method for collaborating applications executing on the PDA client, comprising:

(a) means for obtaining a shared database on the PDA client to be used as a common stack for collaborating applications, wherein the database comprises a catalog database having one or more records;

(b) means for storing one or more program entry records, as the one or more records, in the database wherein the last program entry record stored is the top of the stack, and wherein each program entry record comprises information regarding an application launched on the PDA client, wherein said information in each program entry record comprises:

(i) state information regarding the application launched on the PDA client; and

(ii) launch parameters for the application launched on the PDA client; and

(c) means for popping the last program entry record off of the stack when a second application corresponding to the last program entry record has completed execution, wherein the popping of the last program entry record returns control to a first application corresponding to a next program entry record on the stack, wherein said next program entry record on the stack comprises launch parameters for returning to the first application.

26. The article of manufacture of claim 25 further comprising means for storing a record number in a record in the database, wherein the record number comprises a total number of program in record entries in the stack.

27. The article of manufacture of claim 26 further comprising means for verifying the stack using the record number.

28. The article of manufacture of claim 25 wherein the information for a program entry record comprises a name of an application launched on the PDA client and optional parameters for the application.

29. The article of manufacture of claim 25 wherein the information for a program entry record comprises state information regarding an application launched on the PDA client, and wherein the state information may be used to restore the state of the application.

30. The article of manufacture of claim 25 wherein:

a first program entry record in the database comprises information regarding the first application launched on the PDA client; and

a second program entry record in the database comprises information regarding the second application launched by the first application on the PDA client.

31. The article of manufacture of claim 30 further comprising means for popping the second program entry record from the stack by the second application.

32. The article of manufacture of claim 25 wherein the means for popping the last program entry record further comprises means for storing return values, from the application that has completed execution, with the next program entry record on the stack.

33. The article of manufacture of claim 25 wherein the means for storing of a program entry record comprises means for storing context parameters for the second application to be launched.

34. The article of manufacture of claim 25 wherein:

two program entry records are pushed onto the stack when the second application is called by the first application; and

the first application and second application determine whether it is being called or being returned to based on whether a number of program entry records on the stack is even or odd.

35. The article of manufacture of claim 25 , wherein:

the first application terminates when the second application is called; and

the stack is used to return control to the first application when the second application has completed execution.

36. The article of manufacture of claim 25 wherein two instances of the same application are executed in parallel using the stack for collaboration.

Assignments (7)
SECURITY AGREEMENT Recorded Mar 3, 2016
From: COMTECH EF DATA CORP.; COMTECH XICOM TECHNOLOGY, INC.; COMTECH MOBILE DATACOM CORPORATION; TELECOMMUNICATION SYSTEMS, INC.
To: CITIBANK N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037993/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 3, 2016
From: SILICON VALLEY BANK
To: TELECOMMUNICATION SYSTEMS, INC.; LONGHORN ACQUISITION, LLC; SOLVEM INNOVATIONS, INC.; QUASAR ACQUISITION, LLC; NETWORKS IN MOTION, INC.
Reel/Frame 037994/0113 →
NUNC PRO TUNC ASSIGNMENT Recorded Jan 30, 2015
From: LONGHORN ACQUISITION, LLC
To: TELECOMMUNICATION SYSTEMS, INC.
Reel/Frame 034856/0792 →
SECURITY AGREEMENT Recorded Jan 29, 2010
From: TELECOMMUNICATION SYSTEMS, INC.; LONGHORN ACQUISITION, LLC; SOLVERN INNOVATIONS, INC.; QUASAR ACQUISITION, LLC; NETWORKS IN MOTION, INC.
To: SILICON VALLEY BANK, AGENT
Reel/Frame 023870/0484 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2009
From: LOCATIONLOGIC, LLC
To: LONGHORN ACQUISITION, LLC
Reel/Frame 022782/0574 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2009
From: AUTODESK, INC.
To: LOCATIONLOGIC LLC
Reel/Frame 022482/0936 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2001
From: NELSON, TIMOTHY JOHN; CHITHAMBARAM, NEMMARA; DEAGUIAR, JOHN RICARDO
To: AUTODESK, INC.
Reel/Frame 011579/0816 →