IP Library Granted Patent US 12,629,588
Granted Patent B2
US 12,629,588 · App. 18/281,282 · Granted May 19, 2026

Controller state management for client-server networking

Inventors: Luke Timmins (Bellevue, WA); Gregory Peng (Bellevue, WA)
Assignee: Sony Interactive Entertainment LLC
A63F13/2145A63F13/355A63F13/426
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,629,588
App. No.
18/281,282
Granted
May 19, 2026
Kind
B2
Abstract

Described herein are techniques for transmitting state data between a controller and another electronic device. In embodiments, such techniques may comprise receiving, at a user device, input that relates to a first action to be performed by an avatar; providing, to a second electronic device, a first set of state data generated from the received input over a first communication channel; and determining a user intent that relates to a second action to be performed by the avatar. Based on the user intent, a second set of state data can be generated that is different from the first set of state data and includes less than all available state data. The second set of state data can be provided to the second device over a second communication channel, causing the avatar to perform a modified action.

Claims (36)

1 . A method for controlling a server, the method comprising:

receiving, through a first communication channel between the server and a controller device, a first set of state data representing touch input received by the controller device;

determining a first type of action to be performed by an avatar based on the touch input, wherein determining the first type of action comprises using the first set of state data to select the first type of action from a set of actions available to be performed by the avatar;

receiving, through a second communication channel between the server and the controller device, a second set of state data representing an action intent that relates to a second type of action to be performed by the avatar, wherein the action intent is generated by a prediction model based on the touch input, wherein the prediction model is trained on historic gameplay action data;

and

modifying the first type of action based on the second set of state data, wherein the modifying the first type of action comprises replacing the first type of action with the second type of action when a movement associated with the second set of state data indicates a change from a movement associated with the first set of state data.

2 . The method of claim 1 , wherein the first type of action is modified in accordance with an interrupt that prevents the first type of action from being performed by the avatar.

3 . The method of claim 1 , wherein modifying the first type of action includes causing the avatar to perform the second type of action after the first type of action.

4 . The method of claim 1 , wherein the first set of state data includes a predetermined set of data values.

5 . The method of claim 1 , wherein the second set of state data includes a set of data values selected based on the action intent.

6 . The method of claim 5 , wherein modifying the first type of action is based on the set of data values.

7 . The method of claim 1 , wherein the second set of state data includes at least one of an input vector, an input deflection, or an input change.

8 . The method of claim 1 , wherein the historic gameplay action data is associated with a user of the controller device.

9 . The method of claim 1 , wherein the prediction model is trained by machine learning to correlate gameplay input to gameplay action for the avatar.

10 . A server comprising:

a processor that executes instructions stored in memory, wherein the processor executes the instructions to:

receiving, through a first communication channel between the server and a controller device, a first set of state data representing touch input received by the controller device;

determining a first type of action to be performed by an avatar based on the touch input, wherein determining the first type of action comprises using the first set of state data to select the first type of action from a set of actions available to be performed by the avatar;

receiving, through a second communication channel between the server and the controller device, a second set of state data representing an action intent that relates to a second type of action to be performed by the avatar, wherein the action intent is by a prediction model based on the touch input, wherein the prediction model is trained on historic gameplay action data;

and

modify the first type of action based on the second set of state data, wherein the modifying the first type of action comprises replacing the first type of action with the second type of action when a movement associated with the second set of state data indicates a change from a movement associated with the first set of state data.

11 . The server of claim 10 , wherein the controller device is configured to control the avatar during gameplay of a video game.

12 . The server of claim 11 , wherein the controller device includes a virtual controller presented within a touchscreen display.

13 . The server of claim 11 , wherein the touch input is associated with one or more input mechanisms implemented on the controller device.

14 . The server of claim 10 , wherein the server includes a gaming console.

15 . The server of claim 10 , wherein the server includes a game server computing device.

16 . The server of claim 10 , wherein the second set of state data is used by the server to cause the avatar to perform the second type of action after performing the first type of action.

17 . The server of claim 10 , wherein the second set of state data is used by the server to modify the first type of action based on a set of data values selected in accordance with the action intent.

18 . A non-transitory computer-readable storage media storing computer-executable instructions that upon execution by one or more processors cause a server to perform operations comprising:

receiving, through a first communication channel between the server and a controller device, a first set of state data representing touch input received by the controller device;

determining a first type of action to be performed by an avatar based on the touch input, wherein determining the first type of action comprises using the first set of state data to select the first type of action from a set of actions available to be performed by the avatar;

receiving, through a second communication channel between the server and the controller device, a second set of state data representing an action intent that relates to a second type of action to be performed by the avatar, wherein the action intent is generated by a prediction model based on the touch input, wherein the prediction model is trained on historic gameplay action data;

and

modifying the first type of action based on the second set of state data, wherein the modifying the first type of action comprises replacing the first type of action with the second type of action when a movement associated with the second set of state data indicates a change from a movement associated with the first set of state data.

19 . The non-transitory computer-readable storage media of claim 18 , wherein modifying the first type of action includes one or more of: an interrupt that prevents the first type of action being performed by the avatar, based on a set of data values selected in accordance with the action intent, or a second type of action to be performed subsequent to the first type of action.

20 . The non-transitory computer-readable storage media of claim 18 , wherein the first set of state data includes a predetermined set of data values and the second set of state data includes a set of data values selected based on the action intent.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2026
From: BUNGIE, INC.
To: SONY INTERACTIVE ENTERTAINMENT LLC
Reel/Frame 074404/0767 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2023
From: TIMMINS, LUKE; PENG, GREGORY
To: BUNGIE, INC.
Reel/Frame 064911/0611 →
Continuity (2)
Provisional Application 63158965 · Mar 10, 2021
Related Publication 20240173616A1 · May 30, 2024
References Cited (134)
US 7254775B2 · Geaghan · 2007 [cited by examiner]
US 8062115B2 · Thomas · 2011 [cited by examiner]
US 8222507B1 · Salazar · 2012 [cited by examiner]
US 8246459B2 · Ryu · 2012 [cited by examiner]
US 8269736B2 · Wilairat · 2012 [cited by examiner]
US 8512115B2 · Namba · 2013 [cited by examiner]
US 8519965B2 · Cady · 2013 [cited by examiner]
US 8954890B2 · Haussila · 2015 [cited by examiner]
US 9146674B2 · Karlsson · 2015 [cited by examiner]
US 9317197B2 · Takuma · 2016 [cited by examiner]
US 10831258B2 · Tanzawa · 2020 [cited by examiner]
US 11058948B1 · Hardiman · 2021 [cited by examiner]
US 11119564B2 · Tanzawa · 2021 [cited by examiner]
US 20030017863A1 · Takahashi · 2003 [cited by examiner]
US 20040248650A1 · Colbert · 2004 [cited by examiner]
US 20050057524A1 · Hill · 2005 [cited by examiner]
US 20050202869A1 · Miyamoto · 2005 [cited by examiner]
US 20050227217A1 · Wilson · 2005 [cited by examiner]
US 20060010400A1 · Dehlin · 2006 [cited by examiner]
US 20060025218A1 · Hotta · 2006 [cited by examiner]
US 20060097991A1 · Hotelling · 2006 [cited by examiner]
US 20060112335A1 · Hofmeister · 2006 [cited by examiner]
US 20060197753A1 · Hotelling · 2006 [cited by examiner]
US 20060258453A1 · Kando · 2006 [cited by examiner]
US 20070060335A1 · Sakaguchi · 2007 [cited by examiner]
US 20070252821A1 · Hollemans · 2007 [cited by examiner]
US 20080132333A1 · Kogo · 2008 [cited by examiner]
US 20080165141A1 · Christie · 2008 [cited by examiner]
US 20080180406A1 · Han · 2008 [cited by examiner]
US 20080274780A1 · Yamada · 2008 [cited by examiner]
US 20080297482A1 · Weiss · 2008 [cited by examiner]
US 20080297492A1 · Shirakawa · 2008 [cited by examiner]
US 20090051114A1 · Robbers · 2009 [cited by examiner]
US 20090054124A1 · Robbers · 2009 [cited by examiner]
US 20090122018A1 · Vymenets · 2009 [cited by examiner]
US 20090181770A1 · Viner · 2009 [cited by examiner]
US 20090327975A1 · Stedman · 2009 [cited by examiner]
US 20100053093A1 · Kong · 2010 [cited by examiner]
US 20100066704A1 · Kasai · 2010 [cited by examiner]
US 20100083111A1 · de los Reyes · 2010 [cited by examiner]
US 20100141680A1 · Nashida · 2010 [cited by examiner]
US 20100162181A1 · Shiplacoff · 2010 [cited by examiner]
US 20100277419A1 · Ganey · 2010 [cited by examiner]
US 20100285881A1 · Bilow · 2010 [cited by examiner]
US 20100287486A1 · Coddington · 2010 [cited by examiner]
US 20100321319A1 · Hefti · 2010 [cited by examiner]
US 20110009195A1 · Porwal · 2011 [cited by examiner]
US 20110014983A1 · Miller, IV · 2011 [cited by examiner]
US 20110130182A1 · Namba · 2011 [cited by examiner]
US 20110169762A1 · Weiss · 2011 [cited by examiner]
US 20110172013A1 · Shirasaka · 2011 [cited by examiner]
US 20110205169A1 · Yasutake · 2011 [cited by examiner]
US 20120026100A1 · Migos · 2012 [cited by examiner]
US 20120034978A1 · Lim · 2012 [cited by examiner]
US 20120050262A1 · Kim · 2012 [cited by examiner]
US 20120066627A1 · Furukawa · 2012 [cited by examiner]
US 20120169610A1 · Berkes · 2012 [cited by examiner]
US 20120179963A1 · Chiang · 2012 [cited by examiner]
US 20120212420A1 · Shin · 2012 [cited by examiner]
US 20120218203A1 · Kanki · 2012 [cited by examiner]
US 20120274585A1 · Telfer · 2012 [cited by examiner]
US 20120306775A1 · Miyachi · 2012 [cited by examiner]
US 20130007096A1 · Pahlavan · 2013 [cited by examiner]
US 20130038532A1 · Okura · 2013 [cited by examiner]
US 20130058019A1 · Lee · 2013 [cited by examiner]
US 20130120258A1 · Maus · 2013 [cited by examiner]
US 20130120293A1 · Jeon · 2013 [cited by examiner]
US 20130120295A1 · Kim · 2013 [cited by examiner]
US 20130139079A1 · Kitao · 2013 [cited by examiner]
US 20130141373A1 · Takuma · 2013 [cited by examiner]
US 20130154959A1 · Lindsay · 2013 [cited by examiner]
US 20130167062A1 · Herring · 2013 [cited by examiner]
US 20130169559A1 · Peng · 2013 [cited by examiner]
US 20130205208A1 · Kim · 2013 [cited by examiner]
US 20130215059A1 · Lim · 2013 [cited by examiner]
US 20130263029A1 · Rossi · 2013 [cited by examiner]
US 20130275868A1 · Haussila · 2013 [cited by examiner]
US 20130285924A1 · Griffin · 2013 [cited by examiner]
US 20130316813A1 · Derome · 2013 [cited by examiner]
US 20130316817A1 · Tanzawa · 2013 [cited by examiner]
US 20130316829A1 · Derome · 2013 [cited by examiner]
US 20130321340A1 · Seo · 2013 [cited by examiner]
US 20130331182A1 · Tanzawa · 2013 [cited by examiner]
US 20140207622A1 · Vijayaraghavan · 2014 [cited by examiner]
US 20150072784A1 · Lee · 2015 [cited by examiner]
US 20150113477A1 · Haussila · 2015 [cited by examiner]
US 20150169067A1 · Hong · 2015 [cited by examiner]
US 20170304730A1 · Bronstein Bendayan · 2017 [cited by examiner]
US 20170340959A1 · Tang · 2017 [cited by examiner]
US 20180011529A1 · Tanzawa · 2018 [cited by examiner]
US 20180157372A1 · Kurabayashi · 2018 [cited by examiner]
US 20180161674A1 · Kohara · 2018 [cited by examiner]
US 20190255442A1 · Broadway et al. · 2019 [cited by applicant]
US 20190339765A1 · Tanzawa · 2019 [cited by examiner]
US 20200122032A1 · Matsui · 2020 [cited by examiner]
US 20200155941A1 · Ito · 2020 [cited by examiner]
US 20200174618A1 · Wang · 2020 [cited by examiner]
US 20200282308A1 · Guo · 2020 [cited by examiner]
US 20230092439A1 · Dang · 2023 [cited by examiner]
US 20240149147A1 · Peng · 2024 [cited by examiner]
US 20240173616A1 · Timmins · 2024 [cited by examiner]
AU 2022234766 · 2023 [cited by applicant]
CA 3212951 · 2022 [cited by applicant]
CN 116981505 · 2023 [cited by applicant]
EP 4291315 · 2023 [cited by applicant]
IL 305750 · 2023 [cited by applicant]
JP 2019535156 · 2019 [cited by applicant]
JP 2024512346 · 2024 [cited by applicant]
KR 20200099913A · 2020 [cited by applicant]
MX MXa2023010556 · 2023 [cited by applicant]
WO WO2019245681 · 2019 [cited by applicant]
WO WO2020252400 · 2020 [cited by applicant]
WO WO2021101811 · 2021 [cited by applicant]
WO WO2022192474 · 2022 [cited by applicant]
International Patent Application No. PCT/US2022/019651, International Search Report and Written Opinion mailed Jun. 16, 2022, 10 pages. [cited by applicant]
Australian Application No. 2022234766, First Examination Report dated Jul. 11, 2024. [cited by applicant]
European Application No. 22767948.7, Extended European Search Report dated Jul. 18, 2024. [cited by applicant]
Canadian Application No. 3,212,951, First Examiner's Report dated Dec. 2, 2024. [cited by applicant]
UAE Application No. P6002252/2023, Examination Report and Search Report dated Dec. 12, 2024. [cited by applicant]
Australian Application No. 2022234766, Second Examination Report dated Oct. 30, 2024. [cited by applicant]
Japanese Application No. 2023-553751, Non-Final Notification of Reasons for Refusal dated Oct. 8, 2024. [cited by applicant]
PCT Application No. PCT/US2022/019651, International Preliminary Report on Patentability dated Sep. 21, 2023. [cited by applicant]
P6002252/2023, Luke Timmins, Controller State Management for Client-Server, Sep. 7, 2023. [cited by applicant]
2022234766, Luke Timmins, Controller State Management for Client-Server, Sep. 19, 2023. [cited by applicant]
3,212,951, Luke Timmins, Controller State Management for Client-Server, Sep. 8, 2023. [cited by applicant]
2022800210164.3, Luke Timmins, Controller State Management for Client-Server Networking, Sep. 8, 2023. [cited by applicant]
22767948.7, Luke Timmins, Controller State Management for Client-Server Networking, Sep. 15, 2023. [cited by applicant]
305750, Luke Timmins, Controller State Management for Client-Server Networking, Sep. 7, 2023. [cited by applicant]
2023-553751, Luke Timmins, Controller State Management for Client-Server Networking, Sep. 4, 2023. [cited by applicant]
MX/a/2023/010556, Luke Timmins, Controller State Management for Client-Server Networking, Sep. 7, 2023. [cited by applicant]
803835, Luke Timmins, Controller State Management for Client-Server Networking, Sep. 19, 2023. [cited by applicant]
PCT/US2022/019651, Luke Timmins, Controller State Management for Client-Server Networking, Mar. 9, 2022. [cited by applicant]
2023125000, Luke Timmins, Controller State Management for Client-Server Networking, Sep. 29, 2023. [cited by applicant]
523450618, Luke Timmins, Controller State Management for Client-Server Networking, Sep. 10, 2023. [cited by applicant]