IP Library Granted Patent US 9,588,824
Granted Patent B2
US 9,588,824 · App. 14/526,173 · Granted Mar 7, 2017

System and methods of communicating events between multiple 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 9,588,824
App. No.
14/526,173
Granted
Mar 7, 2017
Kind
B2
Abstract

A system and methods of communicating events includes detecting an event at a first embedded application, the first embedded application being embedded in an application; triggering the detected event on an event aggregator of the application; determining, by the application, whether a second embedded application is embedded in the application; and if a second embedded application is determined to be embedded in the application, transmitting the detected event from the application to the second embedded application.

Claims (24)

1. A method of communicating events, comprising:

detecting an event at a first application written in a first programming language, the first application being embedded in a host application written in a second programming language and running on a computing device;

initiating a broadcast of the detected event on an event aggregator in the host application;

determining, by the host application, whether a second application is embedded in the host application; and

if the second application is determined to be embedded in the host application, transmitting the detected event from the host application to the second embedded application;

wherein transmitting the detected event comprises sending data associated with the detected event from the second embedded application to the host application, wherein the data associated with the detected event includes an identifier of the detected event;

determining by an event aggregator the first embedded application whether at least one operation is to be executed by the first embedded application in response to the received event; and

upon a positive determination by the event aggregator in the first embedded application that the at least one operation is to be executed, executing on the first embedded application the at least one operation in response to the detected event.

2. The method of claim 1 , wherein each of the application, the first embedded application, and the second embedded application includes an event aggregator therein.

3. The method of claim 2 , wherein respective event aggregators of each of the application, the first embedded application, and the second embedded application are communicatively connected to each other.

4. The method of claim 1 , wherein a coding language of the first embedded application differs from at least one of a coding language of the host application and a coding language of the second embedded application.

5. The method of claim 1 , further comprising notifying a subscriber of the application of the detected event, the subscriber being a program function in the host application.

6. The method of claim 1 , wherein the transmitting the detected event comprises sending data associated with the detected event from the host application to the second embedded application.

7. At a computer system including one or more processors and system memory, the computer system also including a method of communicating events, the method comprising:

detecting an event at a first application written in a first programming language, the first application being embedded in a host application written in a second programming language and running on a computing device;

initiating a broadcast of the detected event on an event aggregator in the host application;

determining, by the host application, whether a second application is embedded in the host application; and

if the second application is determined to be embedded in the host application, transmitting the detected event from the host application to the second embedded application;

wherein transmitting the detected event comprises sending data associated with the detected event from the second embedded application to the host application, wherein the data associated with the detected event includes an identifier of the detected event;

determining by an event aggregator the first embedded application whether at least one operation is to be executed by the first embedded application in response to the received event; and

upon a positive determination by the event aggregator in the first embedded application that the at least one operation is to be executed, executing on the first embedded application the at least one operation in response to the detected event.

8. The computer system of claim 4 , wherein a coding language of the first embedded application differs from at least one of a coding language of the host application and a coding language of the second embedded application.

9. The computer system of claim 7 , wherein the method performed further comprise, notifying a subscriber of the application of the detected event, the subscriber being a program function in the host application.

10. The computer system of claim 7 , wherein the transmitting of the detected event comprises sending data associated with the detected event from the host application to the second embedded application.

Assignments (9)
SECURITY INTEREST Recorded Jan 17, 2024
From: HYLAND SWITZERLAND SARL
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 066339/0304 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 045430/0405 Recorded Sep 24, 2023
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, A BRANCH OF CREDIT SUISSE
To: KOFAX INTERNATIONAL SWITZERLAND SARL
Reel/Frame 065018/0421 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 045430/0593 Recorded Sep 24, 2023
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, A BRANCH OF CREDIT SUISSE
To: KOFAX INTERNATIONAL SWITZERLAND SARL
Reel/Frame 065020/0806 →
CHANGE OF NAME Recorded Feb 20, 2019
From: KOFAX INTERNATIONAL SWITZERLAND SÀRL
To: HYLAND SWITZERLAND SÀRL
Reel/Frame 048389/0380 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT SUPPLEMENT (FIRST LIEN) Recorded Feb 23, 2018
From: KOFAX INTERNATIONAL SWITZERLAND SARL
To: CREDIT SUISSE
Reel/Frame 045430/0405 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT SUPPLEMENT (SECOND LIEN) Recorded Feb 23, 2018
From: KOFAX INTERNATIONAL SWITZERLAND SARL
To: CREDIT SUISSE
Reel/Frame 045430/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2017
From: LEXMARK INTERNATIONAL TECHNOLOGY SARL
To: KOFAX INTERNATIONAL SWITZERLAND SARL
Reel/Frame 042919/0841 →
ENTITY CONVERSION Recorded Feb 11, 2016
From: LEXMARK INTERNATIONAL TECHNOLOGY S.A.
To: LEXMARK INTERNATIONAL TECHNOLOGY SARL
Reel/Frame 037793/0300 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2015
From: BLAZEK, SHANE EVAN; HANEY, KRISTOPHER JOHN ANDREW
To: LEXMARK INTERNATIONAL TECHNOLOGY, SA
Reel/Frame 034848/0747 →