System and method for retaining system state

Information

  • Patent Grant
  • 9168457
  • Patent Number
    9,168,457
  • Date Filed
    Friday, January 28, 2011
    15 years ago
  • Date Issued
    Tuesday, October 27, 2015
    10 years ago
Abstract
An apparatus and method are described for retaining system state of an online application such as a video game. For example, a method according to one embodiment comprises: executing a application on a server in response to user input from a client; transmitting video generated by the application over a network connection from the server to the client; detecting that the network connection has become unusable or impaired; responsively pausing the execution of the application from a current point of execution; and resuming the execution of the application from the current point of execution upon detecting that the network connection has become usable or unimpaired.
Description
TECHNICAL FIELD

The present disclosure relates generally to the field of data processing systems and, more particularly, to retaining system state with real-time interactive streaming compressed video.





BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure will be understood more fully from the detailed description that follows and from the accompanying drawings, which however, should not be taken to limit the disclosed subject matter to the specific embodiments shown, but are for explanation and understanding only.



FIG. 1
a illustrates a hosting service and a client employed according to one embodiment.



FIG. 1
b illustrates exemplary latencies associated with communication between a client and hosting service.



FIG. 2 shows the example of FIG. 4 optionally including a mass storage repository that functions as a media library according to another embodiment of the present invention.





DESCRIPTION OF EMBODIMENTS OF THE INVENTION

The assignee of the present application has developed an online video gaming and application hosting system. Certain embodiments of this system are described, for example, in U.S. patent application Ser. No. 10/315,460 (US. Application No. 20040111755), filed Dec. 10, 2002; U.S. patent application Ser. No. 12/538,081, filed, Aug. 7, 2009, entitled, “System and Method for Compressing Video Based on Latency Measurements and Other Feedback”; and U.S. application Ser. No. 12/359,150, filed Jan. 23, 2009, entitled “System And Method for Protecting Certain Types of Multimedia Data Transmitted Over A Communication Channel.” These applications are sometimes referred to herein as the “co-pending applications” and are incorporated herein by reference.



FIG. 4
a of U.S. patent application Ser. No. 12/538,081 ('081 application), reproduced in the present application as FIG. 1a, shows a Hosting Service 210 that hosts applications running on Servers 402, that accept input from an Input device 421, received by Home or Office Client 415, and sent through the Internet 410 to Hosting Service 210. The Servers 402 are responsive to the input, and update their video and audio output accordingly, and which is then compressed through Low-Latency Video Compression 404, and the compressed video is then streamed through the Internet 410 to be decompressed by the Home or Office Client 415, and then displayed on Monitor or SD/HDTV 422. This system is an low-latency streaming interactive video system as more thoroughly described in the aforementioned “co-pending applications”.


As shown in FIG. 4b of '081, and in FIG. 7 of U.S. patent application Ser. No. 10/315,460 ('460 application), reproduced in the present application as FIG. 1b and FIG. 2, respectively, the network connection between the Hosting Service 210 Home and Office Client 415 may be implemented through a wide range of network technologies, of varying degrees of reliability, such as wired or optical fiber technologies that are typically more reliable and wireless technologies that may be subject to unpredictable interference or range limitations (e.g. Wi-Fi) and are typically less reliable. The '081 application describes techniques to address packet losses and other network impairments that may occur over such network connections. For example, the '081 application includes a section entitled “Dropped or Delayed Packets” which addresses these issues.


Almost all commercial and consumer Internet connections are subject to some impairments some of the time when packets are lost or delayed to the point where they are not usable for the intended application. Often, these impairments do not affect some, but not all, packets, so within a given short time interval (e.g. 1 second) at least some of the packets make it through. But, sometimes, there may be longer intervals (e.g. a minute or more) when either no packets are able to make it through a connection, or the number of packets are so few (in either or both directions) that the throughput of the connection has dropped to the point where it is not practical to send a low-latency compressed video/audio stream of sufficient quality or low enough latency for a given intended application (e.g. as described in the “co-pending applications”, some applications can tolerate more impairments than others). Effectively, at this point, the connection is unusable or impaired for carrying low-latency streaming interactive video for the given application.


There are many causes of long intervals where a connection is unusable for a given application. There may be congestion on the network, or a failure in one or more of the routers between the Hosting Service 210 and Home or Office or Client 415. Or, in the case of a wireless connection, there may be interference or congestion from other wireless sources or wireless network users. Also, in the case of wireless, it is possible the Home or Office Client 415 has moved beyond the usable range of the wireless network. Or, if Home or Office Client is a battery-powered device, it may put itself into sleep mode if the battery runs low or if it is preserving power, and during this time it may not be responsive to the network connection for receiving packets. While such intervals sometimes last for a very long duration, frequently such outages are relatively brief (e.g. 5 minutes or less), either because the impairment comes and goes, or because the user takes some action (e.g. moves back within range of a wireless network) to restore an adequate connection for the given application.


During the time the connection is impaired or unusable for the given application, a user's control of the application running on the Servers 402 through the low-latency streaming interactive video system described herein might be impaired or disabled entirely, but once the connection is restored, the user's control of the application would restored. In the case of some applications, for example some video games, if the application does not receive appropriate input from the user for a long interval, or if the user is unable to view and/or hear the video/audio from the application with high enough quality, or if the connection is disconnected entirely, then the application might proceed in an undesirable manner. For example, if the application is a driving game and the car controlled by the user is approaching a sharp turn before a cliff when the network connection is impaired or disconnected such that either the user's control input is unable to appropriately control the car, or if user is unable to see a good enough quality video (or any updated video) to see a sharp turn is coming up so as to provide input to appropriately turn the car, then the car might continue going forward, miss the turn and crash off the cliff.


To address this issue, in one embodiment, if the connection between the Server 402 and the Home or Office Client 415 is unusable or impaired, then the Server 402 pauses the application, until the connection is restored to an adequate level of quality (e.g. if there are impairments, the given application is still usable at given quality level), at which time the user is able to resume the application from where it had been paused. For example, in the driving game example, the game would have been paused prior reaching the sharp turn, and once the connection is restored, the game would be resumed, the user would see the sharp turn coming up, and the user could use the controls to appropriately turn the car upon reaching the sharp turn. As mentioned below, in one embodiment, the client and server may periodically transmit messages to one another to ensure that the connection is usable, or with a sufficient quality level, for the given application. Various different parameters may be used to determine whether the connection is at an adequate quality level. For example, the client or server may measure the latency and/or bandwidth of the connection. If the latency increases above or bandwidth drops below a specified threshold (e.g., a threshold designated for the particular game being played), then the server will pause the game. What is considered an adequate quality level for different applications may vary, and even what is considered an adequate quality level for a given applications may vary. Such quality thresholds may be specified by the developer or publisher of an application or the operator of the Hosting Service 210, each of whom may have a quality standard it wishes to maintain (e.g. for technical, aesthetic, or brand reputation reasons). Also, such quality thresholds may be specified by the user, who may be willing tolerate lower quality in general, or in certain situations (e.g. if stuck at airport waiting for a delayed flight, and only a poor quality network is available). In one embodiment, such quality thresholds may be set by the user, the operator of the Hosting Service 210, or by another party.


In one embodiment, when the connection is restored, the application remains in a paused state, so the user can decide when to resume the application. This is useful, for example, when the user does not know how long it will be before the connection is restored and may not have his or her attention focused on the application when the connection is restored. In one embodiment, a message will be displayed to the user indicating that the connection is once again at an adequate quality level (or that the connection is still not at an adequate quality level if such is the case).


In one embodiment, the application does not pause, but when the connection is restored the user can continue using the application in whatever state it has come to by the time the connection is restored. This could be useful in the case of an application that is a multiplayer game where many people are playing, and it would not be desirable to pause the game for all players because one player's connection is temporarily impaired or lost.


In one embodiment, all input devices are presumed to be in an inactive state when the connection is lost, but otherwise the application proceeds as normal. This may be useful in the case of a 3D design application where the user would not want any input action to continue (e.g. if the connection was lost when a keyboard letter key was in a “down” state, and if it remained in that state, the key would auto-repeat until the connection is restored), but the user would like a long-term rendering task the application is running to continue to run.


In on embodiment, a Server 402 that has lost a connection waits for a certain amount of time for the connection to be restored (e.g. 5 minutes), but if the connection is not restored by that time, then it either (a) terminates the application, (b) saves the user's current state (e.g. position in a game, or state in a productivity application), or (c) saves the user's current state at the last allowed save interval (e.g. in the case of many games, there are only certain points in the game where a user is permitted to save progress in the game).


In one embodiment, the Home or Office Client 415 presents the user with an indicator that shows how much time is left to restore the connection before the application is terminated (e.g. if it 5 minutes, then the user could be presented with a 5 minute countdown timer to know how long there is to restore the connection, or to bother waiting for the connection to be restored).


In one embodiment, the Home or Office Client 415 and Hosting Service 210 send each other periodic messages that indicate that the connection is working well. Thus, if either ceases to receive such messages (or if the messages indicate a problem with the connection), then this will serve as an indication that the connection has become impaired or unusable, and appropriate actions, such as those described previously, can be taken.


Elements of the disclosed subject matter may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, flash memory, optical disks, CD-ROMs, DVD ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, propagation media or other type of machine-readable media suitable for storing electronic instructions. For example, the present invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).


It should also be understood that elements of the disclosed subject matter may also be provided as a computer program product which may include a machine-readable medium having stored thereon instructions which may be used to program a computer (e.g., a processor or other electronic device) to perform a sequence of operations. Alternatively, the operations may be performed by a combination of hardware and software. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnet or optical cards, propagation media or other type of media/machine-readable medium suitable for storing electronic instructions. For example, elements of the disclosed subject matter may be downloaded as a computer program product, wherein the program may be transferred from a remote computer or electronic device to a requesting process by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).


Additionally, although the disclosed subject matter has been described in conjunction with specific embodiments, numerous modifications and alterations are well within the scope of the present disclosure. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

Claims
  • 1. A computer-implemented method comprising: executing an application on a server in response to user input from a client;compressing video output from the application to generate interactive compressed streaming video;transmitting the interactive compressed streaming video generated by the application over a network connection from the server to the client;detecting by the server that the network connection has become unusable or impaired, wherein detecting that the network connection has become impaired comprises detecting that the network latency has increased above a specified threshold;pausing, by the server without user input from the client, the execution of the application from a current point of execution and halting transmission of the interactive compressed streaming video in response to detecting by the server that the network connection has become unusable or impaired; andupon detecting by the server that the network connection has become usable or unimpaired,generating a message instructing the user that the connection has become usable or unimpaired;maintaining, by the server without user input from the client, the application in a paused state until instructed by the user to continue execution; andresuming, by the server, the execution of the application from the current point of execution and resuming transmission of the interactive compressed streaming video,wherein if the connection remains unusable or impaired for a specified period of time, then the server saves a user's current state.
  • 2. The method as in claim 1 wherein detecting that the network connection has become impaired further comprises detecting that the network bandwidth drops below a specified threshold.
  • 3. The method as in claim 2 wherein the specified threshold is based on the bandwidth required to deliver real-time video of the application to the client at a specified resolution.
  • 4. The method as in claim 1 wherein the client periodically transmits messages to the server and/or the server periodically transmits messages to the client to ensure that the connection is usable.
  • 5. The method as in claim 1 wherein the application comprises a video game.
  • 6. A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform the operations of: executing an application on a server in response to user input from a client;compressing video output from the application to generate interactive compressed streaming video;transmitting the interactive compressed streaming video generated by the application over a network connection from the server to the client;detecting by the server that the network connection has become unusable or impaired, wherein detecting that the network connection has become impaired comprises detecting that the network latency has increased above a specified threshold;pausing, by the server without user input from the client, the execution of the application from a current point of execution and halting transmission of the interactive compressed streaming video in response to detecting by the server that the network connection has become unusable or impaired; andupon detecting by the server that the network connection has become usable or unimpaired,generating a message instructing the user that the connection has become usable or unimpaired;maintaining, by the server without user input from the client, the application in a paused state until instructed by the user to continue execution; andresuming, by the server, the execution of the application from the current point of execution and resuming transmission of the interactive compressed streaming video,wherein if the connection remains unusable or impaired for a specified period of time, then the server saves a user's current state.
  • 7. The non-transitory machine-readable medium as in claim 6 wherein detecting that the network connection has become impaired further comprises detecting that the network bandwidth drops below a specified threshold.
  • 8. The non-transitory machine-readable medium as in claim 7 wherein the specified threshold is based on the bandwidth required to deliver real-time video of the application to the client at a specified resolution.
  • 9. The non-transitory machine-readable medium as in claim 6 wherein the client periodically transmits messages to the server and/or the server periodically transmits messages to the client to ensure that the connection is usable.
  • 10. The non-transitory machine-readable medium as in claim 6 wherein the application comprises a video game.
  • 11. An apparatus having a memory for storing program code and a processor for processing the program code to perform the operations of: executing an application on a server in response to user input from a client;compressing video output from the application to generate interactive compressed streaming video;transmitting the interactive compressed streaming video generated by the application over a network connection from the server to the client;detecting by the server that the network connection has become unusable or impaired, wherein detecting that the network connection has become impaired comprises detecting that the network latency has increased above a specified threshold;pausing, by the apparatus without user input from the client, the execution of the application from a current point of execution and halting transmission of the interactive compressed streaming video in response to detecting by the server that the network connection has become unusable or impaired; andupon detecting by the server that the network connection has become usable or unimpaired,generating a message instructing the user that the connection has become usable or unimpaired;maintaining, by the server without user input from the client, the application in a paused state until instructed by the user to continue execution; andresuming, by the apparatus, the execution of the application from the current point of execution and resuming transmission of the interactive compressed streaming video,wherein if the connection remains unusable or impaired for a specified period of time, then the server saves a user's current state.
  • 12. The apparatus as in claim 11 wherein detecting that the network connection has become impaired further comprises detecting that the network bandwidth drops below a specified threshold.
  • 13. The apparatus as in claim 12 wherein the specified threshold is based on the bandwidth required to deliver real-time video of the application to the client at a specified resolution.
  • 14. The apparatus as in claim 11 wherein the client periodically transmits messages to the server and/or the server periodically transmits messages to the client to ensure that the connection is usable.
  • 15. The apparatus as in claim 11 wherein the application comprises a video game.
CLAIM TO PRIORITY

The application is a continuation-in-part and claims the benefit of U.S. Provisional Application No. 61/382,842 entitled, “System and Method for Retaining System State”, filed on Sep. 14, 2010.

US Referenced Citations (332)
Number Name Date Kind
4539706 Mears et al. Sep 1985 A
4573074 Alaria et al. Feb 1986 A
4616263 Eichelberger Oct 1986 A
5058199 Grube Oct 1991 A
5129096 Burns Jul 1992 A
5222246 Wolkstein Jun 1993 A
5357604 San et al. Oct 1994 A
5408679 Masuda Apr 1995 A
5493644 Thayer et al. Feb 1996 A
5509028 Marque-Pucheu Apr 1996 A
5558339 Perlman Sep 1996 A
5586247 Yoshifuji et al. Dec 1996 A
5586257 Perlman Dec 1996 A
5599232 Darling Feb 1997 A
5608412 Welles, II et al. Mar 1997 A
5618045 Kagan et al. Apr 1997 A
5640386 Wiedeman Jun 1997 A
5646676 Dewkett et al. Jul 1997 A
5654747 Ottesen et al. Aug 1997 A
5682204 Uz et al. Oct 1997 A
5710719 Houle Jan 1998 A
5732076 Ketseoglou et al. Mar 1998 A
5742289 Naylor et al. Apr 1998 A
5742680 Wilson Apr 1998 A
5751378 Chen et al. May 1998 A
5790176 Craig Aug 1998 A
5815146 Youden et al. Sep 1998 A
5828370 Moeller et al. Oct 1998 A
5870665 Uchikawa Feb 1999 A
5872575 Segal Feb 1999 A
5884101 Wu Mar 1999 A
5890055 Chu et al. Mar 1999 A
5915020 Tilford et al. Jun 1999 A
5926208 Noonen et al. Jul 1999 A
5956088 Shen et al. Sep 1999 A
5959592 Petruzzelli Sep 1999 A
5974503 Venkatesh et al. Oct 1999 A
5987376 Olson et al. Nov 1999 A
5999808 LaDue Dec 1999 A
6009060 Kim Dec 1999 A
6052814 Karasawa Apr 2000 A
6057850 Kichury May 2000 A
6092117 Gladwin et al. Jul 2000 A
6110041 Walker et al. Aug 2000 A
6115369 Oura Sep 2000 A
6132306 Trompower Oct 2000 A
6148142 Anderson Nov 2000 A
6160993 Wilson Dec 2000 A
6166703 Muterspaugh Dec 2000 A
6175854 Bretscher Jan 2001 B1
6188571 Roganti et al. Feb 2001 B1
6205185 Kajiwara Mar 2001 B1
6241612 Heredia Jun 2001 B1
6263503 Margulis Jul 2001 B1
6292589 Chow et al. Sep 2001 B1
6292847 Nishimoto et al. Sep 2001 B1
6307567 Cohen-Or Oct 2001 B1
6323909 Michener et al. Nov 2001 B1
6331856 Van Hook et al. Dec 2001 B1
6347216 Marko et al. Feb 2002 B1
6397038 Green, Sr. et al. May 2002 B1
6404775 Leslie et al. Jun 2002 B1
6409602 Wiltshire et al. Jun 2002 B1
6412112 Barrett et al. Jun 2002 B1
6421385 Uenoyama et al. Jul 2002 B1
6424817 Hadden et al. Jul 2002 B1
6430233 Dillon et al. Aug 2002 B1
6445679 Taniguchi Sep 2002 B1
6466248 Spann et al. Oct 2002 B1
6473858 Shimomura et al. Oct 2002 B1
6585596 Leifer et al. Jul 2003 B1
6594313 Hazra et al. Jul 2003 B1
6597891 Tantawy et al. Jul 2003 B2
6600730 Davis et al. Jul 2003 B1
6614768 Mahany et al. Sep 2003 B1
6631410 Kowalski et al. Oct 2003 B1
6650869 Kelly et al. Nov 2003 B2
6664969 Emerson et al. Dec 2003 B1
6665872 Krishnamurthy et al. Dec 2003 B1
6667944 Monden et al. Dec 2003 B2
6671186 Kopf Dec 2003 B2
6678502 Sugaya et al. Jan 2004 B1
6684058 Karacaoglu et al. Jan 2004 B1
6690657 Lau et al. Feb 2004 B1
6690726 Yavits et al. Feb 2004 B1
6690926 Tawil et al. Feb 2004 B2
6692359 Williams et al. Feb 2004 B1
6721280 Mauro et al. Apr 2004 B1
6724826 Varian Apr 2004 B1
6728541 Ohkura et al. Apr 2004 B2
6741841 Mitchell May 2004 B1
6745050 Forsythe et al. Jun 2004 B1
6754241 Krishnamurthy et al. Jun 2004 B1
6757913 Knox Jun 2004 B2
6760487 Linares Jul 2004 B1
6785262 Yao et al. Aug 2004 B1
6788882 Geer et al. Sep 2004 B1
6792615 Rowe et al. Sep 2004 B1
6810528 Chatani Oct 2004 B1
6811113 Silansky et al. Nov 2004 B1
6820218 Barga et al. Nov 2004 B1
6830515 Rowe Dec 2004 B2
6832071 Nakamura et al. Dec 2004 B1
6836658 Sharon et al. Dec 2004 B1
6842617 Williams et al. Jan 2005 B2
6845090 Takabatake et al. Jan 2005 B1
6850285 Eaton et al. Feb 2005 B2
6853197 McFarland et al. Feb 2005 B1
6856786 Belostotsky et al. Feb 2005 B2
6859498 Choi Feb 2005 B1
6873654 Rackett Mar 2005 B1
6886029 Pecus et al. Apr 2005 B1
6908390 Nguyen et al. Jun 2005 B2
6925285 Kim Aug 2005 B2
6963353 Firestone Nov 2005 B1
6968153 Heinonen et al. Nov 2005 B1
6973667 Fritsch et al. Dec 2005 B2
6993353 Desai et al. Jan 2006 B2
6996742 Lerman et al. Feb 2006 B2
7016419 Tardif Mar 2006 B2
7028304 Weinberger et al. Apr 2006 B1
7072627 Coffin, III Jul 2006 B2
7089319 Lysenko et al. Aug 2006 B2
7099388 Cooper Aug 2006 B2
7155515 Brown et al. Dec 2006 B1
7158679 Sano et al. Jan 2007 B2
7215660 Perlman May 2007 B2
7219153 Day May 2007 B1
7244181 Wang et al. Jul 2007 B2
7263125 Lainema Aug 2007 B2
7272613 Sim et al. Sep 2007 B2
7289478 Kim et al. Oct 2007 B1
7295614 Shen et al. Nov 2007 B1
7299487 Campbell et al. Nov 2007 B1
7340764 Kubota et al. Mar 2008 B2
7359004 Yu et al. Apr 2008 B2
7423990 Kelton et al. Sep 2008 B2
7430187 Holt et al. Sep 2008 B2
7461161 Horiguchi Dec 2008 B2
7471665 Perlman Dec 2008 B2
7477688 Zhang et al. Jan 2009 B1
7493078 Perlman Feb 2009 B2
7502849 Roberts et al. Mar 2009 B2
7543326 Moni Jun 2009 B2
7548657 Deaven Jun 2009 B2
7558525 Perlman Jul 2009 B2
7567527 Perlman Jul 2009 B2
7587520 Kent et al. Sep 2009 B1
7590084 Perlman Sep 2009 B2
7593361 Perlman Sep 2009 B2
7680038 Gourlay Mar 2010 B1
7684752 Perlman Mar 2010 B2
7702006 Kunii et al. Apr 2010 B2
7715336 Perlman May 2010 B2
7738391 Melpignano et al. Jun 2010 B2
7841946 Walker et al. Nov 2010 B2
7848409 Wang et al. Dec 2010 B2
7878908 Sloate et al. Feb 2011 B2
7916147 Clemie et al. Mar 2011 B2
7936376 Fukuhara May 2011 B2
8050289 Masterson et al. Nov 2011 B1
8147339 Perry Apr 2012 B1
8423071 Sun Apr 2013 B1
20010007575 Mori et al. Jul 2001 A1
20010024974 Cohen Sep 2001 A1
20010034743 Thomas Oct 2001 A1
20020004838 Hakenberg Jan 2002 A1
20020015513 Ando et al. Feb 2002 A1
20020019984 Rakib Feb 2002 A1
20020028655 Rosener et al. Mar 2002 A1
20020034980 Lemmons et al. Mar 2002 A1
20020038459 Talmola et al. Mar 2002 A1
20020046285 Yasushi et al. Apr 2002 A1
20020056120 McTernan et al. May 2002 A1
20020059614 Lipsanen et al. May 2002 A1
20020059637 Rakib May 2002 A1
20020061743 Hutcheson et al. May 2002 A1
20020068592 Hutcheson et al. Jun 2002 A1
20020069265 Bountour et al. Jun 2002 A1
20020071658 Marko et al. Jun 2002 A1
20020072329 Bandeira et al. Jun 2002 A1
20020073429 Beane et al. Jun 2002 A1
20020075382 Cohen Jun 2002 A1
20020080267 Moluf Jun 2002 A1
20020106019 Chaddha et al. Aug 2002 A1
20020106119 Foran et al. Aug 2002 A1
20020114330 Cheung et al. Aug 2002 A1
20020115409 Khayrallah Aug 2002 A1
20020118758 Sekiguchi et al. Aug 2002 A1
20020128065 Chung et al. Sep 2002 A1
20020133491 Sim et al. Sep 2002 A1
20020149617 Becker Oct 2002 A1
20020152303 Dispensa Oct 2002 A1
20020154055 Davis et al. Oct 2002 A1
20020157115 Lu Oct 2002 A1
20020165927 Theriault et al. Nov 2002 A1
20020166119 Cristofalo Nov 2002 A1
20020170065 Pinnick Nov 2002 A1
20020181189 Yang Dec 2002 A1
20020181190 Callado Dec 2002 A1
20020184303 Uner Dec 2002 A1
20020184314 Riise Dec 2002 A1
20020188955 Thompson et al. Dec 2002 A1
20030009535 Apostolopulos Jan 2003 A1
20030017846 Estevez et al. Jan 2003 A1
20030037156 Mallart Feb 2003 A1
20030048808 Stahl et al. Mar 2003 A1
20030054827 Schmidl et al. Mar 2003 A1
20030056168 Krishnamachari et al. Mar 2003 A1
20030065805 Barnes, Jr. Apr 2003 A1
20030078103 LeMay et al. Apr 2003 A1
20030079016 Tsao Apr 2003 A1
20030079026 Watanabe et al. Apr 2003 A1
20030124977 Smith et al. Jul 2003 A1
20030135860 Dureau Jul 2003 A1
20030139150 Rodriguez et al. Jul 2003 A1
20030158700 Forler et al. Aug 2003 A1
20030177187 Levine et al. Sep 2003 A1
20030181162 Matula Sep 2003 A1
20030181229 Forster et al. Sep 2003 A1
20030207684 Wesel Nov 2003 A1
20030216144 Roese et al. Nov 2003 A1
20030220072 Coffin, III Nov 2003 A1
20030226149 Chun et al. Dec 2003 A1
20030229719 Iwata et al. Dec 2003 A1
20030234804 Parker et al. Dec 2003 A1
20040003104 Boskovic et al. Jan 2004 A1
20040025190 McCalla et al. Feb 2004 A1
20040034865 Barrett et al. Feb 2004 A1
20040043819 Willis Mar 2004 A1
20040048669 Rowe Mar 2004 A1
20040052371 Watanabe Mar 2004 A1
20040057516 Kim et al. Mar 2004 A1
20040064504 Domschitz Apr 2004 A1
20040080533 Nishtala et al. Apr 2004 A1
20040093372 Chen et al. May 2004 A1
20040094194 Aldoretta et al. May 2004 A1
20040097288 Sloate et al. May 2004 A1
20040102245 Escalera et al. May 2004 A1
20040110469 Judd et al. Jun 2004 A1
20040111755 Perlman Jun 2004 A1
20040114576 Itoh et al. Jun 2004 A1
20040125820 Rios Jul 2004 A1
20040153764 Paradkar Aug 2004 A1
20040153933 Ejima et al. Aug 2004 A1
20040203694 Wong et al. Oct 2004 A1
20040204102 Kuehnel et al. Oct 2004 A1
20040224769 Hansen Nov 2004 A1
20050071851 Opheim Mar 2005 A1
20050100100 Unger May 2005 A1
20050104889 Clemie et al. May 2005 A1
20050135480 Li et al. Jun 2005 A1
20050147164 Wu et al. Jul 2005 A1
20050183120 Jain et al. Aug 2005 A1
20050188073 Nakamichi et al. Aug 2005 A1
20050201460 Kang et al. Sep 2005 A1
20050286448 Proctor et al. Dec 2005 A1
20060029034 Lum Feb 2006 A1
20060029065 Fellman Feb 2006 A1
20060069623 MacDonald Korth et al. Mar 2006 A1
20060078046 Lu Apr 2006 A1
20060078051 Liang et al. Apr 2006 A1
20060098592 Proctor, Jr. et al. May 2006 A1
20060111186 Hattori May 2006 A1
20060116208 Chen et al. Jun 2006 A1
20060117344 Lamkin et al. Jun 2006 A1
20060117371 Margulis Jun 2006 A1
20060136569 Tenhunen et al. Jun 2006 A1
20060146830 Lin et al. Jul 2006 A1
20060148571 Hossack et al. Jul 2006 A1
20060150055 Quinard et al. Jul 2006 A1
20060154710 Serafat Jul 2006 A1
20060183421 Proctor et al. Aug 2006 A1
20060195884 van Zoest et al. Aug 2006 A1
20060208959 Smith et al. Sep 2006 A1
20060224761 Howarth et al. Oct 2006 A1
20060230428 Craig et al. Oct 2006 A1
20060242240 Parker et al. Oct 2006 A1
20060258463 Cugno et al. Nov 2006 A1
20070009015 Kunii et al. Jan 2007 A1
20070009029 Craig et al. Jan 2007 A1
20070025631 Kim et al. Feb 2007 A1
20070047901 Ando et al. Mar 2007 A1
20070058937 Ando et al. Mar 2007 A1
20070073779 Walker et al. Mar 2007 A1
20070094700 Wolfe Apr 2007 A1
20070121629 Cuijpers et al. May 2007 A1
20070136480 Stephenson et al. Jun 2007 A1
20070147514 Yamaguchi et al. Jun 2007 A1
20070156815 Mate et al. Jul 2007 A1
20070183493 Kimpe Aug 2007 A1
20070202941 Miltenberger et al. Aug 2007 A1
20070226364 Landspurg Sep 2007 A1
20070260492 Feied et al. Nov 2007 A1
20070260677 DeMarco et al. Nov 2007 A1
20070271358 Gaddy Nov 2007 A1
20070297509 Mizobuchi et al. Dec 2007 A1
20080008276 Yokoyama Jan 2008 A1
20080025196 Karaoguz et al. Jan 2008 A1
20080028458 Masuhiro et al. Jan 2008 A1
20080032794 Ware et al. Feb 2008 A1
20080045338 Walker et al. Feb 2008 A1
20080207322 Mizrahi Aug 2008 A1
20080211901 Cinvanlar et al. Sep 2008 A1
20080220878 Michaelis Sep 2008 A1
20080225735 Qiu et al. Sep 2008 A1
20080247463 Buttimer et al. Oct 2008 A1
20080268947 Fyock et al. Oct 2008 A1
20080276269 Miller et al. Nov 2008 A1
20080288983 Johnson et al. Nov 2008 A1
20090003452 Au et al. Jan 2009 A1
20090006736 Pantos Jan 2009 A1
20090028230 Leitner Jan 2009 A1
20090109988 Musunuri et al. Apr 2009 A1
20090118018 Perlman et al. May 2009 A1
20090144425 Marr et al. Jun 2009 A1
20090144792 Fielibert et al. Jun 2009 A1
20090198606 Craig et al. Aug 2009 A1
20100035691 Wild et al. Feb 2010 A1
20100064002 Levanon et al. Mar 2010 A1
20100080292 Coulombe Apr 2010 A1
20100111410 Iu et al. May 2010 A1
20100150231 Huang et al. Jun 2010 A1
20100226262 Liu et al. Sep 2010 A1
20100248843 Karsten Sep 2010 A1
20100250770 Barreto et al. Sep 2010 A1
20100255901 Garvey et al. Oct 2010 A1
20110039612 Pececnik Feb 2011 A1
20110157197 Clemie et al. Jun 2011 A1
20110228845 Banerjee Sep 2011 A1
20120075317 Clemie et al. Mar 2012 A1
20120198510 Stoneback Aug 2012 A1
Foreign Referenced Citations (22)
Number Date Country
0554586 Dec 1992 EP
1094642 Apr 2001 EP
1104686 Jun 2001 EP
1202472 May 2002 EP
1837060 Sep 2007 EP
96-11928 Dec 2006 IL
09-212661 Aug 1997 JP
2001111575 Apr 2001 JP
2001244864 Sep 2001 JP
20020092022 Dec 2002 KR
WO-9641479 Dec 1996 WO
WO-9742766 Nov 1997 WO
WO-0050971 Aug 2000 WO
WO-0141447 Jun 2001 WO
WO-02060183 Aug 2002 WO
WO-02078369 Oct 2002 WO
WO-03032666 Apr 2003 WO
WO-2006134055 Dec 2006 WO
WO-2007130012 Nov 2007 WO
2009073801 Jun 2009 WO
WO-2010141492 Dec 2010 WO
WO-2010141522 Dec 2010 WO
Non-Patent Literature Citations (49)
Entry
Patent Cooperation Treaty International Search Report and Written Opinion for foreign counterpart Patent Application Serial No. PCT/US2011/051368, mailed Nov. 28, 2011, 14 pages.
Office Action from U.S. Appl. No. 12/359,171, Sep. 1, 2010, 7 pages.
Office Action from U.S. Appl. No. 12/538,086, mailed Oct. 7, 2010), 10 pages.
Office Action from U.S. Appl. No. 12/538,076 mailed Oct. 12, 2011, 7 pages.
Office Action from U.S. Appl. No. 12/359,229, mailed Oct. 26, 2011, 8 pages.
Office Action from U.S. Appl. No. 12/359,218, mailed Sep. 13, 2011, 9 pages.
Office Action from U.S. Appl. No. 12/538,090, mailed Jan. 26, 2012, 12 pages.
Final Office Action U.S. Appl. No. 12/359,154 mailed Dec. 13, 2011, 13 pages.
Office Action U.S. Appl. No. 12/359,154 mailed Apr. 11, 2011, 7 pages.
Office Action from U.S. Appl. No. 12/359,127, mailed Mar. 6, 2012, 6 pages.
Office Action from U.S. Appl. No. 12/359,140, mailed Mar. 29, 2011, 6 pages.
Final Office Action from U.S. Appl. No. 12/359,171, mailed May 9, 2011, 18 pages.
Office Action from U.S. Appl. No. 12/359,187, mailed Mar. 29, 2011, 7 pages.
Final Office Action from U.S. Appl. No. 12/359,187, mailed Feb. 14, 2012, 9 pages.
Office Action from U.S. Appl. No. 12/538,077 mailed Aug. 12, 2011, 7 pages.
Office Action from U.S. Appl. No. 12/359,226, mailed Apr. 3, 2012, 7 pages.
Office Action from U.S. Appl. No. 12/359,227, mailed Apr. 10, 2012, 6 pages.
Office Action from U.S. Appl. No. 12/359,150, mailed Mar. 23, 2012, 12 pages.
Final Office Action from U.S. Appl. No. 12/359,140, mailed Mar. 20, 2012, 13 pages.
Office Action from U.S. Appl. No. 12/538,041, mailed Mar. 19, 2012, 9 pages.
Office Action from U.S. Appl. No. 12/359,233, mailed Apr. 20, 2012, 8 pages.
Office Action from U.S. Appl. No. 12/538,054, mailed Jan. 18, 2012, 12 pages.
Office Action from U.S. Appl. No. 12/538,062, mailed May 10, 2012, 13 pages.
Office Action from U.S. Appl. No. 12/538,096, mailed Jun. 26, 2012), 13 pages.
Office Action from U.S. Appl. No. 12/359,218, mailed Jun. 25, 2012, 26 pages.
Office Action from U.S. Appl. No. 12/538,076, mailed Jun. 25, 2012, 21 pages.
Final Office Action from U.S. Appl. No. 12/359,229, mailed Oct. 5, 2012, 2011, 15 pages.
Final Office Action from U.S. Appl. No. 12/538,054, mailed Aug. 24, 21 pages.
Notice of Allowance from U.S. Appl. No. 12/538,041, mailed Sep. 19, 2012, 17 pages.
Notice of Allowance from U.S. Appl. No. 12/359,154 mailed Aug. 28, 2012, 28 pages.
Final Office Action from U.S. Appl. No. 12/538,090, mailed Dec. 4, 2012, 22 pages.
Final Office Action from U.S. Appl. No. 12/359,150, mailed Feb. 4, 2013, 29 pages.
Office Action from U.S. Appl. No. 12/359,150, mailed Jul. 25, 2013, 22 pages.
Office Action from U.S. Appl. No. 12/538,081, mailed Sep. 5, 2013, 26 pages.
Final Office Action from U.S. Appl. No. 12/359,150, mailed Feb. 5, 2014, 27 pages.
Boulware, Jack , “Power Houses”, “Wired”, Nov. 2002, Issue 10.11, Wired Digital, Inc., 8 pgs., (Nov. 2002).
Bronez, Thomas , et al., “Shipboard experiments for a multishop 802.11 communications system-RF channel characterization and MAC performance measurement”, Military Communications Conference, 2005. MILCOM 2005. IEEE. The Mitre Corporation Mclean, VA., (2005), 7 pages.
Everitt, C., “Projective Texture Mapping” nVidia white paper last updated Apr. 24, 2001, 7 pages.
Frauenfelder, M., “G-Cluster Makes Games to Go”, The Feature: It's All About the Mobile Internet, http://www.thefeaturearchives.com/13267.html, 3 pages, 2001.
IDS and characterization of references submitted by Inventor in related applications, 7 pages, May 24, 2013.
“Accelerated Graphics Port Interfaces Specification”, Intel Corporation, Revision 1.0, Jul. 31, 1996, 161 pages.
“IP Multicast Technical Overview”, Cisco Systems, Aug. 2007., 9 pages.
Levoy, M., “Polygon-Assisted JPEG and MPEG Compression of Synthetic Images”, Computer and Graphics Proceedings, Los Angeles, Aug. 6-11, 1995, Computer Graphics Proceedings (SIGGRAPH), New York, IEEE, US.
Perry, David , U.S. Appl. No. 61/014,036, filed Dec. 15, 2007, entitled, “Systems and Methods of Serving Game Video”, 39 pages.
Setton, E , et al., “Peer-to-Peer Live Multicast: A Video Perspective,” Proceedings of the IEEE, vol. 96 Issue: 1, [retrieved May 5, 2010] retrieved from the Internet. <URL: http://ieeexplore.ieee.org/Xplore/login.jsp?reload=true&url=http%3AcYc2F%2Fieeexplo, (Jan. 2008), 25-38 pages.
Wallach, D., et al., “Accelerated MPEG Compression of Dynamic Polygonal Scens”, computer Graphics Proceedings, Annual Conference Series, SIGGRAPH, Jul. 24, 1994, 193-196 pages.
Yoon, et al., “Web Based remote rendering with IBRAC (Image-based rendering acceleration and compression)”, European Association for Computer Graphics, 21 Annual Conference, Eurographics, Interlaken, Switzerlmand, Aug. 21-25, 2000, 10 pages.
Final Office Action from U.S. Appl. No. 12/359,150 mailed Sep. 23, 2014, 24 pages.
Office Action from U.S. Appl. No. 12/359,150, mailed May 30, 2014, 21 pages.
Related Publications (1)
Number Date Country
20120066405 A1 Mar 2012 US
Provisional Applications (1)
Number Date Country
61382842 Sep 2010 US