IP Library Granted Patent US 8,788,829
Granted Patent B2
US 8,788,829 · App. 11/465,183 · Granted Jul 22, 2014

System and method for interapplication communications

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 8,788,829
App. No.
11/465,183
Granted
Jul 22, 2014
Kind
B2
Abstract

A first executable program on a computer system is enabled to exchange communications with a second executable program on the computer system by determining that the first executable program requests to exchange information with the second executable program, using the second executable program to challenge the first executable program for a digital certificate, and using the second executable program to exchange information with the first executable program when the digital certificate is verified.

Claims (55)

1. A computer-implemented method, comprising:

determining a validity of a digital certificate associated with a first executable program;

obtaining a portion of a license agreement associated with a second executable program;

when the digital certificate is valid, generating an instruction to provide a challenge to the first executable program, the challenge instructing the first executable program to encrypt the obtained portion of the license agreement provided by the second executable program;

receiving a response to the challenge from the first executable program, the response comprising the encrypted portion of the license agreement and a digital signature applied to the encrypted portion of the license agreement;

decrypting, using at least one processor, the received response using a public key associated with the digital certificate to generate a decrypted portion of the license agreement; and

determining, using the at least one processor, whether that the obtained portion of the license agreement corresponds to the decrypted portion of the license agreement; and

when the decrypted portion of the license agreement corresponds to the obtained portion of the license agreement, enabling communications with the first executable program in a manner consistent with the license agreement, and enabling the first executable program to access one or more functions of the second executable program in accordance with the license agreement.

2. The method of claim 1 , wherein the digital signature comprises an acknowledgement of the license agreement by the first executable program.

3. The method of claim 1 , further comprising:

using the digital signature to show knowledge of the license agreement.

4. The method of claim 1 , further comprising:

using the digital signature to show acceptance of the license agreement.

5. The method of claim 1 , wherein the portion of the license agreement comprises a message digest of the license agreement.

6. The method of claim 1 , wherein the digital certificate comprises the public key.

7. The method of claim 1 , wherein decrypting the response to the challenge further comprises decrypting the digital signature using the public key.

8. The method of claim 1 , wherein the first and second executable programs are independently launched in separate launch operations.

9. The method of claim 1 , wherein the digital certificate is enrolled in a digital certificate management system.

10. The method of claim 9 , further comprising reporting use of the digital certificate by the first executable program to the digital certificate management system.

11. The method of claim 8 , wherein the digital certificate management system is administered by an operating system in which a location for digital certificates in memory is monitored to identify programs that attempt to access certificates.

12. A computer system, comprising:

a processing system comprising one or more processors; and

a memory comprising one or more tangible computer-readable media,

wherein the memory includes instructions that, when executed by the processing system, cause the processing system to perform operations comprising:

determining a validity of a digital certificate associated with a first executable program;

obtaining a portion of a license agreement associated with a second executable program;

when the digital certificate is valid, generating an instruction to provide a challenge to the first executable program, the challenge instructing the first executable program to encrypt the obtained portion of the license agreement provided by the second executable program;

receiving a response to the challenge from the first executable program, the response comprising the encrypted portion of the license agreement and a digital signature applied to the encrypted portion of the license agreement;

decrypting the received response using a public key associated with the digital certificate to generate a decrypted portion of the license agreement; and

determining whether the obtained portion of the license agreement corresponds to the decrypted portion of the license agreement; and

when the decrypted portion of the license agreement corresponds to the obtained portion of the license agreement, enabling communications with the first executable program in a manner consistent with the license agreement, and enabling the first executable program to access one or more functions of the second executable program in accordance with the license agreement.

13. The system of claim 12 , wherein the portion of the license agreement comprises a message digest of the license agreement.

14. The system of claim 12 , wherein the digital certificate comprises the public key.

15. The method system of claim 14 , wherein decrypting the response to the challenge further comprises decrypting the digital signature using the public key.

16. The system of claim 12 , wherein the first and second executable programs are independently launched in separate launch operations.

17. The system of claim 12 , wherein the digital certificate is enrolled in a digital certificate management system.

18. The system of claim 17 , further comprising reporting use of the digital certificate by the first executable program to the digital certificate management system.

19. The system of claim 17 , wherein the digital certificate management system is administered by an operating system in which a location for digital certificates in memory is monitored to identify programs that attempt to access certificates.

20. A tangible, non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform a method, comprising:

determining a validity of a digital certificate associated with a first executable program;

obtaining a portion of a license agreement associated with a second executable program;

when the digital certificate is valid, generating an instruction to provide a challenge to the first executable program, the challenge instructing the first executable program to encrypt the obtained portion of the license agreement provided by the second executable program;

receiving a response to the challenge from the first executable program, the response comprising the encrypted portion of the license agreement and a digital signature applied to the encrypted portion of the license agreement;

decrypting the received response using a public key associated with the digital certificate to generate a decrypted portion of the license agreement; and

determining whether the obtained portion of the license agreement corresponds to the decrypted portion of the license agreement; and

when the obtained portion of the license agreement corresponds to the decrypted portion of the license agreement, enabling communications with the first executable program in a manner consistent with the license agreement, and enabling the first executable program to access one or more functions of the second executable program in accordance with the license agreement.

21. The method of claim 1 , further comprising:

receiving a request to establish the communications with the first application program.

22. The system of claim 12 , wherein the operations further comprise:

receiving a request to establish the communications with the first application program.

23. The system of claim 22 , wherein the digital signature comprises an acknowledgement of the license agreement by the first executable program.

24. The system of claim 22 , further comprising:

using the digital signature to show knowledge of the license agreement.

25. The system of claim 22 , further comprising:

using the digital signature to show acceptance of the license agreement.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 057453/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
CHANGE OF NAME Recorded Aug 24, 2017
From: AOL INC.
To: OATH INC.
Reel/Frame 043672/0369 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 16, 2010
From: BANK OF AMERICA, N A
To: AOL INC; AOL ADVERTISING INC; GOING INC; LIGHTNINGCAST LLC; MAPQUEST, INC; NETSCAPE COMMUNICATIONS CORPORATION; QUIGO TECHNOLOGIES LLC; SPHERE SOURCE, INC; TACODA LLC; TRUVEO, INC; YEDDA, INC
Reel/Frame 025323/0416 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2009
From: AOL LLC
To: AOL INC.
Reel/Frame 023723/0645 →
SECURITY AGREEMENT Recorded Dec 14, 2009
From: AOL INC.; AOL ADVERTISING INC.; BEBO, INC.; ICQ LLC; GOING, INC.; LIGHTNINGCAST LLC; MAPQUEST, INC.; NETSCAPE COMMUNICATIONS CORPORATION; QUIGO TECHNOLOGIES LLC; SPHERE SOURCE, INC.; TACODA LLC; TRUVEO, INC.; YEDDA, INC.
To: BANK OF AMERICAN, N.A. AS COLLATERAL AGENT
Reel/Frame 023649/0061 →