U.S. Patent no. 10,293,251: Pre-loading translated code in cloud based emulated applications

Issued May 21, 2019, to Sony Interactive Entertainment Inc.
Priority Date September 28, 2012

Summary:
U.S. Patent No. 10,293,251 (the ‘251 Patent) relates to video game emulation. This invention describes a method for pre-loading emulated applications. Video games typically feature loading screens before a player is able to play the game. However, these loading screens detract from the enjoyment of the game and this problem is further compounded by games emulated over a network. Similarly, network delays may affect this loading process as well. The ‘251 Patent is addressed at the issue where without pre-loading translated code in cloud based emulation loading times are too long. As game infrastructure continues to move towards a cloud based framework this issue will continue to persist. This forward thinking approach to emulation loading has the potential to increase game accessibility as well.

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.

Illustrative Claim:
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.