IP Library Granted Patent US 12,403,395
Granted Patent B2
US 12,403,395 · App. 18/626,157 · Granted Sep 2, 2025

Online software video capture and replay system

Inventors: Andrew Paradise (San Francisco, CA); James Daniels (Boston, MA); Jason Petralia (Winchester, MA)
Assignee: SKILLZ PLATFORM INC.
A63F13/497A63F13/30A63F13/352A63F13/355A63F13/49A63F2300/634
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,403,395
App. No.
18/626,157
Granted
Sep 2, 2025
Kind
B2
Abstract

A user-activity video signal can be received. The user-activity video signal can comprise a video capture characterizing a user's interaction with a software application on a client. The software application can have an interface display space on the client and the software application can execute on the client in operation with at least one remote backend computing system. Backend user interaction data corresponding to the user's interaction with the software application as generated by the at least one remote backend computing system can be received. A new video comprising a plurality of divided segments of the user-activity video signal can be generated automatically using the backend user interaction data and a plurality of predefined rules. The new video can be provided. Related apparatus, systems, techniques, and articles are also described.

Claims (37)

1. A method, comprising:

receiving, by at least one data processor, a first user-activity video signal and a second user-activity video signal;

receiving, by the at least one data processor, backend user interaction data corresponding to the first user and backend user interaction data corresponding to the second user;

identifying, by the at least one data processor and using the backend user interaction data corresponding to the first user and the backend user interaction data corresponding to the second user, one or more user-activity events associated with an interaction with a software application by at least one of the first user or the second user;

generating, by the at least one data processor and using the backend user interaction data, the identified one or more user-activity events, a new video comprising a plurality of divided segments of the first user-activity video signal and the second user-activity video signal, the new video concurrently displaying segments of the first user-activity video signal with segments of the second user-activity video signal, wherein one or more segments of the plurality of divided segments comprise the identified one or more user-activity events; and

providing, by the at least one data processor, the new video to one or more viewing clients.

2. The method of claim 1 , wherein the software application includes a first interface display space, and a second interface display space.

3. The method of claim 1 , wherein the software application comprises an online multiplayer video game.

4. The method of claim 1 , wherein at least one of the first user-activity video signal or the second user-activity video signal correlates in time to the one or more user-activity events.

5. The method of claim 1 , wherein the one or more user-activity events comprise suspicious user-activity events in at least one of the first user's interaction or the second user's interaction.

6. The method of claim 1 , wherein the new video is generated substantially contemporaneously with reception of the backend user interaction data.

7. The method of claim 1 , wherein the generating comprises:

generating automatically, by the at least one data processor, dynamic commands for creating the new video.

8. The method of claim 7 , wherein the dynamic commands specify which divided segments of the first user-activity video signal and the second user-activity video signal to include in the new video.

9. The method of claim 1 , wherein the providing includes one or more of streaming, broadcasting, and displaying.

10. The method of claim 1 , wherein the new video comprises a highlights video of the first user's interaction with an online multiplayer video game and the second user's interaction with the online multiplayer video game.

11. A system, comprising:

at least one data processor; and

a memory storing instructions, which, when executed by the at least one data processor, causes the at least one data processor to perform operations comprising:

receiving, by at least one data processor, a first user-activity video signal and a second user-activity video signal;

receiving, by the at least one data processor, backend user interaction data corresponding to the first user and backend user interaction data corresponding to the second user;

identifying, by the at least one data processor and using the backend user interaction data corresponding to the first user and the backend user interaction data corresponding to the second user, one or more user-activity events associated with an interaction with a software application by at least one of the first user or the second user;

generating, by the at least one data processor and using the backend user interaction data, the identified one or more user-activity events, a new video comprising a plurality of divided segments of the first user-activity video signal and the second user-activity video signal, the new video concurrently displaying segments of the first user-activity video signal with segments of the second user-activity video signal, wherein one or more segments of the plurality of divided segments comprise the identified one or more user-activity events; and

providing, by the at least one data processor, the new video to one or more viewing clients.

12. The system of claim 11 , wherein the first software application includes a first interface display space and wherein the second software application includes a second interface display space on the second client device.

13. The system of claim 11 , wherein the software application comprises an online multiplayer video game.

14. The system of claim 11 , wherein at least one of the first user-activity video signal or the second user-activity video signal correlates in time to the one or more user-activity events.

15. The system of claim 11 , wherein the one or more user-activity events of interest comprise suspicious user-activity events in at least one of the first user's interaction or the second user's interaction.

16. The system of claim 11 , wherein the new video is generated substantially contemporaneously with reception of the backend user interaction data.

17. The system of claim 11 , wherein the generating operation further comprises: generating automatically, by the at least one data processor, dynamic commands for creating the new video.

18. The system of claim 17 , wherein the dynamic commands specify which divided segments of the first user-activity video signal and the second user-activity video signal to include in the new video.

19. The system of claim 11 , wherein the providing includes one or more of streaming, broadcasting, and displaying.

20. A non-transitory computer program product storing instructions, which, when executed by at least one data processor forming part of at least one computing system, implement operations comprising:

receiving, by at least one data processor, a first user-activity video signal and a second user-activity video signal;

receiving, by the at least one data processor, backend user interaction data corresponding to the first user and backend user interaction data corresponding to the second user; identifying, by the at least one data processor and using the backend user interaction data corresponding to the first user and the backend user interaction data corresponding to the second user, one or more user-activity events associated with an interaction with a software application by at least one of the first user or the second user;

generating, by the at least one data processor and using the backend user interaction data, the identified one or more user-activity events, a new video comprising a plurality of divided segments of the first user-activity video signal and the second user-activity video signal, the new video concurrently displaying segments of the first user-activity video signal with segments of the second user-activity video signal, wherein one or more segments of the plurality of divided segments comprise the identified one or more user-activity events; and

providing, by the at least one data processor, the new video to one or more viewing clients.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2024
From: DANIELS, JAMES; PARADISE, ANDREW; PETRALIA, JASON
To: SKILLZ PLATFORM INC.
Reel/Frame 068849/0237 →
Continuity (6)
Continuation 17810488 · Jul 1, 2022
Continuation 16428444 · May 31, 2019
Continuation 15494776 · Apr 24, 2017
Continuation 14224889 · Mar 25, 2014
Provisional Application 61930406 · Jan 22, 2014
Related Publication 20240269552A1 · Aug 15, 2024
References Cited (40)
US 6699127B1 · Lobb et al. · 2004 [cited by applicant]
US 8255815B2 · Ording · 2012 [cited by applicant]
US 9462230B1 · Agrawal et al. · 2016 [cited by applicant]
US 9578256B1 · Gregg · 2017 [cited by applicant]
US 9630097B2 · Paradise et al. · 2017 [cited by applicant]
US 10307674B2 · Paradise et al. · 2019 [cited by applicant]
US 11406894B2 · Paradise et al. · 2022 [cited by applicant]
US 11975261B2 · Paradise et al. · 2024 [cited by applicant]
US 20030054327A1 · Evensen · 2003 [cited by applicant]
US 20080161113A1 · Hansen et al. · 2008 [cited by applicant]
US 20090125968A1 · Perlman et al. · 2009 [cited by applicant]
US 20090131177A1 · Pearce · 2009 [cited by applicant]
US 20090149259A1 · Van · 2009 [cited by applicant]
US 20090208181A1 · Cottrell · 2009 [cited by applicant]
US 20100172624A1 · Watts · 2010 [cited by applicant]
US 20100223649A1 · Suitts et al. · 2010 [cited by applicant]
US 20100241699A1 · Muthukumarasamy et al. · 2010 [cited by applicant]
US 20100304860A1 · Gault et al. · 2010 [cited by applicant]
US 20110010386A1 · Zeinfeld · 2011 [cited by applicant]
US 20110072056A1 · Bakalash et al. · 2011 [cited by applicant]
US 20120013622A1 · Mahajan et al. · 2012 [cited by applicant]
US 20120156668A1 · Zelin · 2012 [cited by applicant]
US 20120189273A1 · Folgner et al. · 2012 [cited by applicant]
US 20120281080A1 · Wang · 2012 [cited by applicant]
US 20130084959A1 · Nelson et al. · 2013 [cited by applicant]
US 20130121614A1 · Intwala · 2013 [cited by applicant]
US 20130151614A1 · Beerse et al. · 2013 [cited by applicant]
US 20130172086A1 · Ikenaga · 2013 [cited by applicant]
US 20130226983A1 · Beining et al. · 2013 [cited by applicant]
US 20130339473A1 · Mccaffrey et al. · 2013 [cited by applicant]
US 20130344960A1 · Perry et al. · 2013 [cited by applicant]
US 20140194173A1 · Nicholas et al. · 2014 [cited by applicant]
US 20150024839A1 · Zahn et al. · 2015 [cited by applicant]
US 20150035757A1 · Mahlmeister et al. · 2015 [cited by applicant]
US 20150141140A1 · Lampe et al. · 2015 [cited by applicant]
US 20150202529A1 · Paradise et al. · 2015 [cited by applicant]
US 20170225075A1 · Paradise et al. · 2017 [cited by applicant]
US 20190282901A1 · Paradise et al. · 2019 [cited by applicant]
US 20220331693A1 · Paradise et al. · 2022 [cited by applicant]
WO 2015112543A1 · 2015 [cited by applicant]