US 11,863,622 B2
Cross-device data distribution with modular architecture
Santiago Ortiz, Palo Alto, CA (US); Daniel Aguilar, Palo Alto, CA (US); Javier Cruz San Martin, Palo Alto, CA (US); André Gustavo Vellozo Luz, Palo Alto, CA (US); and Jeff Clark, Palo Alto, CA (US)
Assigned to DRUMWAVE INC., Palo Alto, CA (US)
Filed by DrumWave, Inc., Palo Alto, CA (US)
Filed on Aug. 8, 2022, as Appl. No. 17/883,155.
Application 17/883,155 is a continuation in part of application No. 15/891,055, filed on Feb. 7, 2018, abandoned.
Claims priority of provisional application 62/460,161, filed on Feb. 17, 2017.
Claims priority of provisional application 62/460,163, filed on Feb. 17, 2017.
Claims priority of provisional application 62/457,371, filed on Feb. 10, 2017.
Claims priority of provisional application 62/457,408, filed on Feb. 10, 2017.
Claims priority of provisional application 62/456,806, filed on Feb. 9, 2017.
Claims priority of provisional application 62/455,762, filed on Feb. 7, 2017.
Claims priority of provisional application 62/455,770, filed on Feb. 7, 2017.
Prior Publication US 2022/0385727 A1, Dec. 1, 2022
Int. Cl. H04L 67/1095 (2022.01); H04L 67/14 (2022.01); H04L 67/02 (2022.01)
CPC H04L 67/1095 (2013.01) [H04L 67/14 (2013.01); H04L 67/02 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A non-transitory, machine-readable medium storing instructions that, when executed by one or more processors, effectuate operations comprising:
receiving, by a computer system, identifiers of a set of computing devices to participate in a cross-device data visualization session provided by a cross-device data visualization application that includes a plurality of data sub-applications, wherein each data sub-application of the plurality of data sub-applications includes different instructions that operate independently from each other, each data sub-application has at least one of an input or an output that is connected to another data sub-application according to a data sub-application manifest provided to each of the set of computing devices, and the plurality of data sub-applications are distributed across the set of computing devices;
sending, by the computer system, a data set to each of the computing devices and instructions to display a first portion of the data set, wherein the instructions to display the first portion are based on the different instructions provided by each data sub-application;
receiving, by the computer system, an interaction with one of the identified computing devices via the data sub-application for that computing device requesting at least some of the other data sub-application of the other identified computing devices to display a second, at least partially different, portion of the data set; and
sending, by the computer system, a second instruction to display the second, at least partially different, portion of the data set to the at least some of the other data sub-applications provided by the identified computing devices, wherein the second instruction is sent without sending at least some of the second portion of the data set after receiving the interaction and the second instruction causes the at least some of the other identified computing devices to execute the instructions provided by the data sub-applications operating on those other identified computing devices on the at least some of the second portion of the data set that is present at the at least some of the other identified computing devices,
wherein the display of the first portion of the data set and the display of the second at least partially different portion of the data set displays different aspects of data visualization.