IP Library Granted Patent US 10,293,251
Granted Patent B2
US 10,293,251 · App. 15/640,483 · Granted May 21, 2019

Pre-loading translated code in cloud based emulated applications

Inventors: Jacob P. Stine (La Honda, CA); Victor Octav Suba Miura (Foster City, CA); Brian Michael Christopher Watson (San Francisco, CA); Nicholas J. Cardell (Foster City, CA)
Assignee: SONY INTERACTIVE ENTERTAINMENT INC.
A63F13/35A63F13/12A63F13/30A63F13/358A63F13/60A63F13/10A63F13/323A63F2300/207A63F2300/209A63F2300/552
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 10,293,251
App. No.
15/640,483
Granted
May 21, 2019
Kind
B2
Abstract

Pre-translated code for an emulated application may be retrieved and executed to translate data from the emulated application into a form compatible with the client device before receiving a request for the emulated application from the client device. The translated data may be delivered to the client device platform over a network after receiving the request for the emulated application from the client device.

Claims (37)

1. A nontransitory computer readable medium containing executable program, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to implement a method comprising:

retrieving pre-translated code for an emulated application before receiving a request for the emulated application from a client device wherein the pre-translated code for the emulated application includes a platform independent recording of a state of an emulator at a point during emulation of a legacy application;

executing the pre-translated code for the emulated application to translate data from the emulated application into a form compatible with the client device before receiving the request for the emulated application from the client device, wherein translating the data from the emulated application into a form compatible with the client device includes building a buffer of data that is sufficient to run the emulated application at the point during emulation of the legacy application; and

delivering the translated data to the client device platform over a network after receiving the request for the emulated application from the client device.

2. The nontransitory computer readable medium of claim 1 , wherein the emulated application is a legacy game.

3. The nontransitory computer readable medium of claim 1 , wherein the memory is a cache.

4. The nontransitory computer readable medium of claim 1 , wherein the pre-translated code is loaded before a request for the emulated application is made by the client device platform.

5. The nontransitory computer readable medium of claim 1 , wherein the method further comprises choosing which emulated application of a plurality of emulated applications to pre-load with a prediction engine.

6. The nontransitory computer readable medium of claim 5 , wherein the prediction engine uses historical data of the number of client device platforms that have made a request for the emulated application in order to choose which emulated application to pre-load.

7. The nontransitory computer readable medium of claim 6 , wherein the historical data further includes a time and date with each request for the emulated application.

8. The nontransitory computer readable medium of claim 5 , wherein the prediction engine uses data from a user profile associated with the client device platform that is searching for an emulated application in order to choose which emulated application to pre-load.

9. The nontransitory computer readable medium of claim 5 , wherein the prediction engine uses triggers from a second application that is being played by the client device platform in order to choose which emulated application to pre-load.

10. The nontransitory computer readable medium of claim 5 , wherein the prediction engine tracks the client device platform as it navigates an application selection menu in order to choose which emulated application to pre-load.

11. The nontransitory computer readable medium of claim 10 , wherein the prediction engine follows a cursor controlled by the client device platform in order to track the navigation.

12. The nontransitory computer readable medium of claim 10 , wherein the prediction engine follows one or more eyes belonging to a user controlling the client device platform in order to track the navigation.

13. An emulator configured to operate on a network, comprising:

one or more processors;

a memory coupled to the one or more processors;

one or more executable instructions embodied in memory, the instructions being configured to implement a method when executed by the one or more processors, the method comprising:

retrieving pre-translated code for an emulated application before a request for the emulated application is received from a client device wherein the pre-translated code for the emulated application includes a platform independent recording of a state of an emulator at a point during emulation of a legacy application;

executing the pre-translated code for the emulated application to translate data from the emulated application into a form compatible with the client device before receiving the request for the emulated application from the client device, wherein translating the data from the emulated application into a form compatible with the client device includes building a buffer of data that is sufficient to run the emulated application at the point during emulation of the legacy application; and

delivering the translated data to the client device over a network after receiving the request for the emulated application from the client device.

14. The emulator of claim 13 , wherein the emulated application is a legacy game.

15. The emulator of claim 13 , wherein the memory is a cache.

16. The emulator of claim 13 , wherein the pre-translated code is loaded before a request for the emulated application is made by the client device platform.

17. The emulator of claim 13 , wherein the method further comprises choosing which emulated application of a plurality of emulated applications to pre-load with a prediction engine.

18. The emulator of claim 17 , wherein the prediction engine uses historical data of the number of client device platforms that have made a request for the emulated application in order to choose which emulated application to pre-load.

19. The emulator of claim 18 , wherein the historical data further includes a time and date with each request for the emulated application.

20. The emulator of claim 17 , wherein the prediction engine uses data from a user profile associated with the client device platform that is searching for an emulated application in order to choose which emulated application to pre-load.

21. The emulator of claim 17 , wherein the prediction engine uses triggers from a second application that is being played by the client device platform in order to choose which emulated application to pre-load.

22. The emulator of claim 17 , wherein the prediction engine tracks the client device platform as it navigates an application selection menu in order to choose which emulated application to pre-load.

23. The emulator of claim 22 , wherein the prediction engine follows a cursor controlled by the client device platform in order to track the navigation.

24. The emulator of claim 22 , wherein the prediction engine follows one or more eyes belonging to a user controlling the client device platform in order to track the navigation.

25. In an emulator configured to operate on a network, a method, comprising:

retrieving pre-translated code for an emulated application before receiving a request for the emulated application from a client device wherein the pre-translated code for the emulated application includes a platform independent recording of a state of an emulator at a point during emulation of a legacy application;

executing the pre-translated code for the emulated application to translate data from the emulated application into a form compatible with the client device before receiving the request for the emulated application from the client device, wherein translating the data from the emulated application into a form compatible with the client device includes building a buffer of data that is sufficient to run the emulated application at the point during emulation of the legacy application; and

delivering the translated data to the client device platform over the network after receiving the request for the emulated application from the client device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2018
From: STINE, JACOB P.; SUBA MIURA, VICTOR OCTAV; WATSON, BRIAN MICHAEL CHRISTOPHER; CARDELL, NICHOLAS J.
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 044873/0416 →
CHANGE OF NAME Recorded Feb 8, 2018
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 045293/0516 →
Continuity (2)
Continuation 13631785 · Sep 28, 2012
Related Publication 20170296915A1 · Oct 19, 2017