IP Library › Granted Patent US 12,314,779
Granted Patent B2
US 12,314,779 · App. 17/978,577 · Granted May 27, 2025

Graphical user interface for designing inter-process communication

Inventors: Peter Blackmer (Potsdam, NY); Jason Fregoe (Bombay, NY); Justin Wagschal (Lowville, NY); Marcus Alvarez (Potsdam, NY)
Assignee: SpiceCSM, LLC
G06F9/54G06F9/451
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 12,314,779
App. No.
17/978,577
Granted
May 27, 2025
Kind
B2
Abstract

A computer system provides a software application which enables users to define and implement communications among processes without writing code in a programming or scripting language. Instead, users may define and implement such inter-process communications using a user-friendly graphical user interface. The resulting inter-process communications may be executed among multiple processes executing in parallel with each other. Processes may provide data to each other sequentially or non-sequentially. In this way, the system enables users who are not programmers to define and implement inter-process communications quickly and easily.

Claims (37)

1. A method performed by at least one computer processor executing computer program instructions stored on at least one non-transitory computer-readable medium, the method comprising:

(A) receiving, via a graphical user interface, first input specifying communication between a first widget and a second widget,

wherein the first widget is associated with a first graphical user interface element, first data, and a first process;

wherein the second widget is associated with a second graphical user interface element and second data;

(B) storing, based on the first input, a first definition of the communication between the first graphical user interface element and the second graphical user interface element; and

(C) executing the first definition, comprising:

(C) (1) performing the first process associated with the first widget to generate first output; and

(C) (2) updating the second data of the second widget based on the first output.

2. The method of claim 1 :

wherein the first input specifies a unique identifier of the second widget; and

wherein (C) (2) comprises:

identifying the second widget based on the unique identifier of the second widget; and

updating the second data of the second widget based on the first output.

3. The method of claim 2 , further comprising storing the unique identifier of the second widget in the first data associated with the first widget.

4. The method of claim 2 , wherein receiving the first input comprises receiving text specifying the unique identifier of the second widget.

5. The method of claim 1 , wherein the first input specifies the first process.

6. The method of claim 5 , wherein the first input comprises a URL at which the first process is accessible.

7. The method of claim 1 , wherein the first input specifies an output of the first process, and wherein (C) (2) comprises updating the second data based on the output of the first process.

8. The method of claim 5 , wherein the first input specifies the second data.

9. The method of claim 8 , wherein the first input comprises text specifying the second data.

10. The method of claim 1 , wherein the second widget is associated with a second process, wherein the first input specifies the second process, and wherein (C) (2) comprises providing the first output as input to the second process.

11. The method of claim 10 , further comprising:

(D) performing the second process to generate second output based on the first output.

12. The method of claim 11 , wherein (C) (1) and (D) are performed in parallel.

13. The method of claim 11 , further comprising providing the second output to the first process.

14. The method of claim 11 , further comprising providing the second output to a third process associated with a third widget, wherein the third widget is associated with a third graphical user interface element and third data.

15. The method of claim 1 , wherein receiving the first input comprises receiving the first input via a dropdown list.

16. The method of claim 1 , wherein a software application includes the first widget and the second widget.

17. The method of claim 1 , wherein a first software application includes the first widget, and wherein a second software application includes the second widget.

18. A system comprising at least one non-transitory computer-readable medium having computer program instructions stored thereon, the computer program instructions being executable by at least one computer processor to perform a method, the method comprising:

(A) receiving, via a graphical user interface, first input specifying communication between a first widget and a second widget,

wherein the first widget is associated with a first graphical user interface element, first data, and a first process;

wherein the second widget is associated with a second graphical user interface element and second data;

(B) storing, based on the first input, a first definition of the communication between the first graphical user interface element and the second graphical user interface element; and

(C) executing the first definition, comprising:

(C) (1) performing the first process associated with the first widget to generate first output; and

(C) (2) updating the second data of the second widget based on the first output.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2022
From: BLACKMER, PETER; FREGOE, JASON; WAGSCHAL, JUSTIN; ALVAREZ, MARCUS
To: SPICECSM, LLC
Reel/Frame 061998/0259 →
Continuity (2)
Provisional Application 63275780 · Nov 4, 2021
Related Publication 20230138091A1 · May 4, 2023
References Cited (36)
US 4860204A · Gendron et al. · 1989 [cited by applicant]
US 5487141A · Cain et al. · 1996 [cited by applicant]
US 5537630A · Berry et al. · 1996 [cited by applicant]
US 5625823A · Debenedictis et al. · 1997 [cited by applicant]
US 5678013A · Smith et al. · 1997 [cited by applicant]
US 5862379A · Rubin et al. · 1999 [cited by applicant]
US 5896532A · Blewett · 1999 [cited by applicant]
US 6282699B1 · Zhang et al. · 2001 [cited by applicant]
US 6425120B1 · Morganelli et al. · 2002 [cited by applicant]
US 6437805B1 · Sojoodi et al. · 2002 [cited by applicant]
US 6684385B1 · Bailey et al. · 2004 [cited by applicant]
US 6701513B1 · Bailey · 2004 [cited by applicant]
US 7694272B2 · Bronicki et al. · 2010 [cited by applicant]
US 7958454B2 · Gaudette · 2011 [cited by applicant]
US 8478616B2 · De Klerk et al. · 2013 [cited by applicant]
US 8495510B2 · Pradhan · 2013 [cited by examiner]
US 8584082B2 · Baird et al. · 2013 [cited by applicant]
US 8612870B2 · Kodosky et al. · 2013 [cited by applicant]
US 9841878B1 · Morris · 2017 [cited by applicant]
US 10222926B2 · Pandian · 2019 [cited by examiner]
US 10489126B2 · Kumar et al. · 2019 [cited by applicant]
US 11579764B1 · Argroves · 2023 [cited by examiner]
US 20060064674A1 · Olson, Jr. et al. · 2006 [cited by applicant]
US 20090119578A1 · Relyea et al. · 2009 [cited by applicant]
US 20090313601A1 · Baird et al. · 2009 [cited by applicant]
US 20110225495A1 · Casalaina et al. · 2011 [cited by applicant]
US 20120102412A1 · Sinclair et al. · 2012 [cited by applicant]
US 20150193123A1 · Inukonda et al. · 2015 [cited by applicant]
US 20160321314A1 · Reich et al. · 2016 [cited by applicant]
US 20160371064A1 · Rougerie et al. · 2016 [cited by applicant]
US 20200034120A1 · Hoff · 2020 [cited by applicant]
US 20200301679A1 · Eteminan et al. · 2020 [cited by applicant]
EP 3106980A1 · 2016 [cited by applicant]
WO 2000049498A1 · 2000 [cited by applicant]
WO 2003081389A2 · 2003 [cited by applicant]
International Search Report & Written Opinion mailed Mar. 10, 2023, in international application No. PCT/US2022/048570, 7 pages. [cited by applicant]