System and method for storing program code and data within an application hosting center

US9956490B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9956490-B2
Application numberUS-35917109-A
CountryUS
Kind codeB2
Filing dateJan 23, 2009
Priority dateDec 10, 2002
Publication dateMay 1, 2018
Grant dateMay 1, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system and method are described for storing program code and data within an application hosting center. For example, one embodiment of a computer-implemented method comprises: subdividing program code and/or data used to execute an online application into a first type and a second type; storing program code and data of the first type in a first type of memory, the first type of memory providing relatively low latency memory access; storing program code and data of the second type in a second type of memory, the second type of memory providing relatively higher latency memory access compared to the first type of memory; retrieving program code and data from the first memory and the second memory in response to a client request to execute an online application; and transmitting a streaming interactive video stream representing images generated by the application to the client.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: receiving, by a server center, control signals from a client over the Internet, wherein the server center includes a plurality of servers, wherein the plurality of servers include a first server and a second server; executing, by the first server of the server center, a first interactive online video game in response to the control signals received from the client; executing, by the second server of the server center, a second interactive online video game; generating, by the server center, an interactive video stream including at least two frames resulting from the execution of the first and second interactive online video games, wherein the at least two frames include a first frame and a second frame, wherein the first frame is generated by the first server and the second frame is generated by the second server; receiving, by the server center from the client via the Internet, a video stream of a player interfacing with the client; identifying, by the server center, first server executing the first interactive video game; providing, by the server center, the video stream of the player to the first server determined to execute the first interactive video game for integration of the video stream of the player with the first frame of the interactive video stream; integrating, by the server center, a portion of the video stream of the player with the first frame of the interactive video stream to generate a first integrated video frame; compressing, by a shared hardware compressor of the server center, the first integrated video frame to generate a first compressed frame; saving, by the shared hardware compressor, a state of compression of the first compressed frame; compressing, by the shared hardware compressor, the second video frame after compressing the first integrated video frame, to generate a second compressed frame; saving, by the shared hardware compressor, a state of compression of the second compressed frame, wherein the state of compression used for the second compressed frame is different from the state of compression used for the first compressed frame; and transmitting, by the server center, an interactive compressed video stream having the first and second compressed frames to another client over the Internet for display of an image of the first interactive online video game, an image of the second interactive online video game, and an image of the player by the other client, wherein the image of the player is configured to be displayed in a display area along with the image resulting from the execution of the first interactive online video game. 2. The method as in claim 1 , wherein executing the first interactive online video game further comprises retrieving program code and data from a memory in response to a request from the client to execute the first interactive online video game, wherein the memory is a Flash memory. 3. The method as in claim 1 , wherein the server center comprises a video game engine for executing the first interactive online video game in response to input signals received from the client and wherein an output of the video game engine comprises a portion of the interactive video stream having a low latency. 4. The method as in claim 1 , wherein executing the first interactive online video game further comprises retrieving program code and data from a memory in response to a request from the client to execute the first interactive online video game, wherein the program code and data include an operating system on which the first interactive online video game is executed. 5. The method as in claim 1 , wherein compressing the first integrated video frame further comprises: determining characteristics of a network communication channel between the server center and the other client and processing capabilities of the other client; and uniquely compressing the first integrated video frame based on the characteristics of the network communication channel between the server center and the other client and the processing capabilities of the other client. 6. The method as in claim 5 , wherein compressing the first integrated video frame further comprises performing interframe coding and intraframe coding. 7. The method as in claim 6 , wherein the interframe coding comprises one or more I-frames and wherein the intraframe coding comprises one or more B-frames or one or more P-frames. 8. The method as in claim 5 , wherein uniquely compressing the interactive first integrated video frame based on the characteristics of the network communication channel between the server center and the other client and the processing capabilities of the other client comprises uniquely compressing the first integrated video frame based on a maximum allowable latency for the interactive compressed video stream to be received and decoded at the other client. 9. The method as in claim 5 , wherein uniquely compressing the first integrated video frame comprises modifying a resolution of the first integrated video frame. 10. The method as in claim 5 , further comprising: detecting that the characteristics of the network communication channel between the server center and other client has dropped below a specified allowable quality level; and pausing the execution of the video game on the server center in response to detecting that the characteristics of the network communication channel has dropped below the specified allowable quality level. 11. The method as in claim 5 , wherein determining the characteristics of the network communication channel between the server center and the other client comprises detecting a level of packet loss, or latency, or a combination thereof associated with the network communication channel. 12. The method as in claim 11 , further comprising adjusting a peak data rate of the compressed interactive video stream based on the detected packet loss, or the latency, or the combination thereof. 13. The method as in claim 12 , wherein adjusting the peak data rate comprises adjusting a level of compression of the interactive video stream. 14. The method as in claim 12 , further comprising: determining that channel capacity of the network communication channel has increased based on continued measurements of packet loss or latency; and increasing the peak data rate until the packet loss or the latency reaches an unacceptable level. 15. The method as in claim 1 , wherein compressing the first integrated video frame further comprises: mitigating channel bandwidth peaks by distributing large compressed video bandwidth peaks over a sequence of successive video frames. 16. The method as in claim 1 , further comprising: employing forward error correction (FEC) techniques to protect specified portions of the interactive compressed video stream. 17. The method as in claim 16 , further comprising: determining that a specified portion of the interactive compressed video stream results in a visual artifact; and upon determining that the specified portion of the interactive compressed video stream results in the artifact, generating FEC data to protect the specified portion of the compressed interactive video stream. 18. The method of claim 1 , wherein compression of the interactive video stream is adjusted according to a latency of a round trip between the server center and the other client, wherein the latency of the round trip is determined by sending a plurality of test frames to the other client, wherein the latency of the round trip is determined

Assignees

Inventors

Classifications

  • A63F13/87Primary

    Communicating with other players during game play, e.g. by e-mail or chat · CPC title

  • for prompting the player, e.g. by displaying a game menu · CPC title

  • A63F13/335Primary

    using Internet · CPC title

  • Processing of content or additional data; Elementary server operations; Server middleware · CPC title

  • for performing operations on behalf of the game client, e.g. rendering · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9956490B2 cover?
A system and method are described for storing program code and data within an application hosting center. For example, one embodiment of a computer-implemented method comprises: subdividing program code and/or data used to execute an online application into a first type and a second type; storing program code and data of the first type in a first type of memory, the first type of memory providi…
Who is the assignee on this patent?
Perlman Stephen G, Van Der Laan Roger, Sony Interactive Entertainment America Llc
What technology area does this patent fall under?
Primary CPC classification A63F13/87. Mapped technology areas include Human Necessities.
When was this patent published?
Publication date Tue May 01 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).