IP Library Granted Patent US 9,838,463
Granted Patent B2
US 9,838,463 · App. 13/797,427 · Granted Dec 5, 2017

System and method for encoding control commands

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,838,463
App. No.
13/797,427
Granted
Dec 5, 2017
Kind
B2
Abstract

A method comprising: packing commands comprising a plurality of data symbols into a data stream in a manner which allows the commands to be interpreted and executed at a receiver even when a sorting function is applied to sort the data symbols upon arrival at the receiver.

Claims (32)

1. A method, comprising:

receiving a set of control signals for a game at a game controller, the set of control signals corresponding to a set of input symbols, the set of control signals received at the game controller in a sequence that defines an input sequence of the set of input symbols, wherein the game controller is not a natively supported input device type for a client device;

encoding the set of input symbols into a code value that defines a sequentially ordered set of encoding symbols and that is decodable to reveal the input sequence of the set of input symbols; and

generating a data communication packet at the game controller, the data communication packet including one or more packet control fields having the code value present therein, the data communication packet formatted for processing by the client device in accordance with a communication protocol associated with at least one supported input device type for the client device; and

transmitting the data communication packet from the game controller to the client device over a communication channel, wherein the code value is extractable from the data communication packet in accordance with the communication protocol associated with the at least one supported input device type for the client device, and wherein the sequential ordering of encoding symbols of the code value prevents a reordering of the set of encoding symbols of the code value by the client device to enable decoding of the code value to obtain the input sequence of the set of input symbols.

2. The method as recited in claim 1 , wherein the communication channel includes a Bluetooth connection.

3. The method as recited in claim 1 , wherein the at least one natively supported input device type for the client device is a keyboard or a mouse.

4. The method as recited in claim 1 , wherein the client device is a touch-screen computing device, a laptop computer, or a desktop computer.

5. The method as recited in claim 1 , wherein encoding the set of input symbols into a code value includes partitioning a binomial coefficient value into a number of partitions equal to a number of symbols in the set of input symbols, the binomial coefficient value equal to a number of different ways of selecting the number of symbols in the set of input symbols from an available population of input symbols without regard to an ordering of selected symbols, and wherein encoding the set of input symbols into the code value includes mapping the input sequence of the set of input symbols across the number of partitions of the binomial coefficient value.

6. The method as recited in claim 1 , wherein the client device is configured to decode the code value to obtain the input sequence of the set of input symbols.

7. A method, comprising:

receiving a first plurality of inputs for a game at a game controller, the first plurality of inputs received in a sequence that defines an input sequence of the first plurality of inputs, wherein the game controller is not a supported input device type for a client device;

encoding the first plurality of inputs into a code value that defines a second plurality of inputs, wherein the second plurality of inputs is ordered in a sequence that will avoid re-ordering of the second plurality of inputs when received at the client device;

generating a data communication packet at the game controller, the data communication packet including one or more packet control fields having the code value present therein, the data communication packet formatted for processing by the client device in accordance with a communication protocol associated with at least one supported input device type for the client device; and

transmitting the data communication packet from the game controller to the client device using the communication protocol associated with at least one supported input device type for the client device, wherein the code value is extractable from the data communication packet in accordance with the communication protocol associated with the at least one supported input device type for the client device, and wherein the sequence in which the second plurality of inputs is ordered prevents a reordering of the second plurality of inputs by the client device to enable decoding of the second plurality of inputs into the first plurality of inputs before forwarding the first plurality of inputs to a hosting service that hosts the game and executes the first plurality of inputs when generating a video for the game.

8. The method as recited in claim 7 , wherein the at least one supported input device type is a keyboard or a mouse.

9. The method as recited in claim 7 , wherein the communication protocol is a wireless communication protocol.

10. The method as recited in claim 9 , wherein the wireless communication protocol is Bluetooth.

11. The method as recited in claim 7 , wherein encoding the first plurality of inputs into the code value that defines the second plurality of inputs includes partitioning a binomial coefficient value into a number of partitions equal to a number of inputs in the first plurality of inputs, the binomial coefficient value equal to a number of different ways of selecting the first plurality of inputs from an available population of inputs without regard to an ordering of the first plurality of inputs.

12. The method as recited in claim 11 , wherein encoding the first plurality of inputs into the code value that defines the second plurality of inputs includes mapping the input sequence of the first plurality of inputs across the number of partitions of the binomial coefficient value.

13. The method as recited in claim 7 , wherein the client device is a touch-screen computing device, a laptop computer, or a desktop computer.

14. One or more computer readable media that are non-transitory and that store a program, wherein the program, when executed, instructs a processor to perform the following operations:

receiving a first plurality of inputs for a game at a game controller, the first plurality of inputs received in a sequence that defines an input sequence of the first plurality of inputs, wherein the game controller is not a supported input device type for a client device;

encoding the first plurality of inputs into a code value that defines a second plurality of inputs, wherein the second plurality of inputs is ordered in a sequence that will avoid re-ordering of the second plurality of inputs when received at the client device;

generating a data communication packet at the game controller, the data communication packet including one or more packet control fields having the code value present therein, the data communication packet formatted for processing by the client device in accordance with a communication protocol associated with at least one supported input device type for the client device; and

transmitting the data communication packet from the game controller to the client device using the communication protocol associated with at least one supported input device type for the client device, wherein the code value is extractable from the data communication packet in accordance with the communication protocol associated with the at least one supported input device type for the client device, and wherein the sequence in which the second plurality of inputs is ordered prevents a reordering of the second plurality of inputs by the client device to enable decoding of the second plurality of inputs into the first plurality of inputs before forwarding the first plurality of inputs to a hosting service that hosts the game and executes the first plurality of inputs when generating a video for the game.

15. The computer readable media of claim 14 , wherein the at least one supported input device type is a keyboard or a mouse.

16. The computer readable media of claim 14 , wherein the communication protocol is a wireless communication protocol.

17. The computer readable media of claim 16 , wherein the wireless communication protocol is Bluetooth.

18. The computer readable media of claim 14 , wherein encoding the first plurality of inputs into the code value that defines the second plurality of inputs includes partitioning a binomial coefficient value into a number of partitions equal to a number of inputs in the first plurality of inputs, the binomial coefficient value equal to a number of different ways of selecting the first plurality of inputs from an available population of inputs without regard to an ordering of the first plurality of inputs.

19. The computer readable media of claim 18 , wherein encoding the first plurality of inputs into the code value that defines the second plurality of inputs includes mapping the input sequence of the first plurality of inputs across the number of partitions of the binomial coefficient value.

20. The computer readable media of claim 14 , wherein the client device is a touch-screen computing device, a laptop computer, or a desktop computer.

Assignments (4)
MERGER Recorded Mar 30, 2020
From: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT LLC
Reel/Frame 053323/0567 →
CHANGE OF NAME Recorded May 5, 2016
From: SONY COMPUTER ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
Reel/Frame 038626/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2015
From: OL2, INC.
To: SONY COMPUTER ENTERTAINMENT AMERICA LLC
Reel/Frame 035354/0237 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2013
From: COTTER, TIMOTHY
To: OL2, INC.
Reel/Frame 031421/0319 →