Source: http://www.google.com/patents/US8069136?dq=7260910
Timestamp: 2015-02-01 05:07:10
Document Index: 499658280

Matched Legal Cases: ['Application No. 06842386', 'Application No. 07825314', 'Application No. 07825369', 'Application No. 07825369', 'Application No. 07872836', 'Application No. 08830539', 'Application No. 10']

Patent US8069136 - System, method and computer program product for dynamically enhancing an ... - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsA system is described that dynamically enhances a software application executing on a computing device without having to change and recompile the original application code. The system includes a staging environment that monitors the execution of the application and indexes each item of graphical and/or...http://www.google.com/patents/US8069136?utm_source=gb-gplus-sharePatent US8069136 - System, method and computer program product for dynamically enhancing an application executing on a computing deviceAdvanced Patent SearchPublication numberUS8069136 B2Publication typeGrantApplication numberUS 12/542,840Publication dateNov 29, 2011Filing dateAug 18, 2009Priority dateDec 1, 2005Also published asCA2631772A1, CN101322101A, EP1960871A2, US7596540, US20070130292, US20090307173, US20120054781, WO2007063422A2, WO2007063422A3Publication number12542840, 542840, US 8069136 B2, US 8069136B2, US-B2-8069136, US8069136 B2, US8069136B2InventorsYoav M. Tzruya, Ohad Sheory, Uri TwigOriginal AssigneeExent Technologies, Ltd.Export CitationBiBTeX, EndNote, RefManPatent Citations (86), Non-Patent Citations (29), Referenced by (2), Classifications (32), Legal Events (1) External Links: USPTO, USPTO Assignment, EspacenetSystem, method and computer program product for dynamically enhancing an application executing on a computing deviceUS 8069136 B2Abstract A system is described that dynamically enhances a software application executing on a computing device without having to change and recompile the original application code. The system includes a staging environment that monitors the execution of the application and indexes each item of graphical and/or audio information generated by the application into a first database. A second database is then populated by manual or automated means with one or more business rules, wherein each business rule is associated with one or more of the objects indexed in the first database. The system further includes a run-time environment that identifies items of graphics and/or audio information as they are generated by the application during run-time, uses the second database to determine if an identified item is associated with a business rule, and, responsive to a determination that an identified item is associated with a business rule, applies the business rule.
CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation of U.S. patent application Ser. No. 11/290,830, filed Dec. 1, 2005, the entirety of which is incorporated by reference herein.
Another method that may be used is to intercept or �hook� function calls to the API using the Detours hooking library published by Microsoft� of Redmond, Washington. Hooking may also be implemented at the kernel level. Kernel hooking may include the use of an operating system (OS) ready hook to enable a notification routine for an API being called. Another technique is to replace the OS routines by changing the pointer in the OS API table to a hook routine pointer, chaining the call to the original OS routine before and/or after the hook logic execution. Another possible method is API-based hooking technique the performs the injection of a DLL to any process that is being loaded, by setting a system global hook or by setting a registry key to load such a DLL. This injection is done only to have the hook function running in the process address space. While the OS loads such a DLL, a DLL initialization code changes the desired DLL dispatch table. Changing the table causes the pointer to the original API implementation to point to the DLL implementation (only to the desired API) and thus hooking the API. Note that the above described hooking techniques are presented only by way of example, and are not meant to limit the invention to any of these techniques. Other tools and methods for intercepting function calls to graphics or audio APIs are known to persons skilled in the relevant art(s).
Projection manipulation�The graphic output of the scene, or part of it, can be manipulated to be shown on a different surface than a flat one. For example, when projecting the rendered output, to a spherical shape, there is no need for specific lens to adopt the projection to the surface, but apply a transformation over the Indexes and Vertexes of a selected set within a scene, accordingly. Upon intercepting calls to �BeginScene� and �EndScene� calls, certain business logic may be applied to all calls in between. Future application may further include feedback from the surface itself in a way that the adaptation will be dynamically according to the surface shape. Objects dimensions and shape�Another example may include stretching or changing scene objects. For example a scene image can become taller, thinner, etc. Point of View manipulation�Business logic may be provided to enable changing the point of view of an existing scene. For example, in a racing game, the invention can be used to add a point-of-view at the car roof, which was not provided by the game's original functionality. The scene can then be displayed as a picture-in-picture inside the game itself, instead of the original images or on a different screen. In the case the image is displayed on a different screen, one can add interactivity with the manipulated image to allow a viewer to watch the game from various point-of-views without affecting the gamer's user experience. Lighting manipulation�Business logic is provided to allow for changing lighting definitions. For example, light a dark game or scene. Shader manipulation�Business logic is provided to allow for changing of the Shaders definitions. For example, this may be used to add or remove fog or change transparency. V. Example Computer System Implementation FIG. 11 depicts an example computer system 1100 that may be utilized to implement either staging environment 102 or run-time environment 106. However, the following description of computer system 1100 is provided by way of example only and is not intended to be limiting. Rather, as noted elsewhere herein, staging environment 102 and run-time environment 106 may each comprise a server, a console, a personal digital assistant (PDA), or any other computing device that is capable of executing software applications and displaying associated application-generated graphics and audio information to an end-user.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5687376 *Dec 15, 1994Nov 11, 1997International Business Machines CorporationSystem for monitoring performance of advanced graphics driver including filter modules for passing supported commands associated with function calls and recording task execution time for graphic operationUS5737553Jul 14, 1995Apr 7, 1998Novell, Inc.Colormap system for mapping pixel position and color index to executable functionsUS5905492Dec 6, 1996May 18, 1999Microsoft CorporationSystem for providing an interfaceUS5991836May 2, 1997Nov 23, 1999Network Computing Devices, Inc.System for communicating real time data between client device and server utilizing the client device estimating data consumption amount by the serverUS6021438Jun 18, 1997Feb 1, 2000Wyatt River Software, Inc.License management system using daemons and aliasingUS6036601Feb 24, 1999Mar 14, 2000Adaboy, Inc.Method for advertising over a computer network utilizing virtual environments of gamesUS6047123Mar 27, 1997Apr 4, 2000Hewlett-Packard CompanyMethods for recording a compilable graphics call traceUS6163317Apr 17, 1998Dec 19, 2000International Business Machines CorporationMethod and apparatus for dynamically grouping objectsUS6202058Apr 25, 1994Mar 13, 2001Apple Computer, Inc.System for ranking the relevance of information objects accessed by computer usersUS6278966Jun 18, 1998Aug 21, 2001International Business Machines CorporationMethod and system for emulating web site traffic to identify web site usage patternsUS6311221Jul 22, 1998Oct 30, 2001Appstream Inc.Streaming modulesUS6314470 *Jul 25, 1997Nov 6, 2001Hewlett Packard CompanySystem and method for asynchronously accessing a graphics system for graphics application evaluation and controlUS6330711Jul 30, 1998Dec 11, 2001International Business Machines CorporationMethod and apparatus for dynamic application and maintenance of programsUS6539544Aug 24, 1998Mar 25, 2003Sony CorporationGame machine system, broadcasting system, data distribution system, and method, program executing apparatus and methodUS6616533May 31, 2000Sep 9, 2003Intel CorporationProviding advertising with video gamesUS6631423 *Mar 31, 1998Oct 7, 2003Hewlett-Packard Development Company, L.P.System and method for assessing performance optimizations in a graphics systemUS6785659Jul 13, 1999Aug 31, 2004Unicast Communications CorporationAgent-based technique for implementing browser-initiated user-transparent interstitial web advertising in a client computerUS6802055 *Jun 27, 2001Oct 5, 2004Microsoft CorporationCapturing graphics primitives associated with any display object rendered to a graphical user interfaceUS6868525May 26, 2000Mar 15, 2005Alberti Anemometer LlcComputer graphic display visualization system and methodUS6907566Apr 2, 1999Jun 14, 2005Overture Services, Inc.Method and system for optimum placement of advertisements on a webpageUS6954728Sep 29, 2000Oct 11, 2005Avatizing, LlcSystem and method for consumer-selected advertising and branding in interactive mediaUS7003781May 5, 2000Feb 21, 2006Bristol Technology Inc.Method and apparatus for correlation of events in a distributed multi-system computing environmentUS7076736Nov 30, 2001Jul 11, 2006Thebrain Technologies Corp.Method and apparatus for sharing many thought databases among many clientsUS7120619Apr 22, 2003Oct 10, 2006Microsoft CorporationRelationship viewUS7246254Jul 16, 2003Jul 17, 2007International Business Machines CorporationSystem and method for automatically and dynamically optimizing application data resources to meet business objectivesUS7436406Jul 11, 2003Oct 14, 2008Raytheon CompanyScene graph based display for desktop applicationsUS7487112May 23, 2002Feb 3, 2009Barnes Jr Melvin LSystem, method, and computer program product for providing location based services and mobile e-commerceUS7596536Jun 22, 2006Sep 29, 2009Exent Technologies, Ltd.System, method and computer program product for dynamically measuring properties of objects rendered and/or referenced by an application executing on a computing deviceUS7596540Dec 1, 2005Sep 29, 2009Exent Technologies, Ltd.System, method and computer program product for dynamically enhancing an application executing on a computing deviceUS20020002568Feb 5, 2001Jan 3, 2002Judson David H.Popup advertising display in a web browserUS20020038344Nov 16, 2001Mar 28, 2002Craig UllmanEnhanced video programming system and method for incorporating and displaying retrieved integrated internet information segmentsUS20020040322Dec 6, 2001Apr 4, 2002Sony CorporationApparatus and method for executing a game program having advertisements thereinUS20020099837Nov 19, 2001Jul 25, 2002Naoyuki OeInformation processing method, apparatus, and system for controlling computer resources, control method therefor, storage medium, and programUS20020112033 *Aug 8, 2001Aug 15, 2002Doemling Marcus F.Content enhancement system and methodUS20020129349Aug 24, 1998Sep 12, 2002Kan EbisawaGame machine system, broadcasting system, data distribution system, and method, program executing apparatus and methodUS20020147858Feb 14, 2001Oct 10, 2002Ricoh Co., Ltd.Method and system of remote diagnostic, control and information collection using multiple formats and multiple protocols with verification of formats and protocolsUS20020154214Nov 2, 2001Oct 24, 2002Laurent ScallieVirtual reality game system using pseudo 3D display driverUS20020178302May 25, 2001Nov 28, 2002Tracey David C.Supplanting motif dialog boxesUS20030045358Jul 12, 2002Mar 6, 2003Leen Fergus A.System and method for providing enhanced services to a user of a gaming applicationUS20030131286Nov 19, 2002Jul 10, 2003Kaler Christopher G.Method and apparatus for analyzing performance of data processing systemUS20030167202Jul 18, 2001Sep 4, 2003Marks Michael B.Methods of payment for internet programmingUS20030204275Apr 26, 2002Oct 30, 2003Krubeck Ronald LeeSports charting systemUS20030208754May 1, 2002Nov 6, 2003G. SridharSystem and method for selective transmission of multimedia based on subscriber behavioral modelUS20040039496Jul 11, 2003Feb 26, 2004Dautelle Jean-Marie R.Scene graph based display for desktop applicationsUS20040083133Jun 6, 2003Apr 29, 2004Nicholas Frank C.Method and system for providing network based target advertising and encapsulationUS20040116183Dec 16, 2002Jun 17, 2004Prindle Joseph CharlesDigital advertisement insertion system and method for video gamesUS20040122940Dec 20, 2002Jun 24, 2004Gibson Edward S.Method for monitoring applications in a network which does not natively support monitoringUS20040133876Jun 2, 2003Jul 8, 2004Craig SprouleSystem and method for the composition, generation, integration and execution of business processes over a networkUS20040148221 *Jan 24, 2003Jul 29, 2004Viva ChuOnline game advertising systemUS20040183824 *Mar 21, 2003Sep 23, 2004Benson Rodger WilliamInterface for presenting data representations in a screen-area insetUS20040189671Jul 4, 2001Sep 30, 2004Masne Jean- Francois LeMethod and system for transmission of data for two-or three-dimensional geometrical entitiesUS20040217987 *May 1, 2003Nov 4, 2004Solomo AranMethod and system for intercepting and processing data during GUI sessionUS20050015641Jul 16, 2003Jan 20, 2005International Business Machines CorporationSystem and method for automatically and dynamically optimizing application data resources to meet business objectivesUS20050068567Mar 30, 2004Mar 31, 2005Hull Jonathan J.Printer with audio or video receiver, recorder, and real-time content-based processing logicUS20050223355Mar 31, 2004Oct 6, 2005Gerd ForstmannAiding a user in using a software applicationUS20050246174Jun 16, 2005Nov 3, 2005Degolia Richard CMethod and system for presenting dynamic commercial content to clients interacting with a voice extensible markup language systemUS20060085812Oct 15, 2004Apr 20, 2006Shishegar Ahmad RMethod for monitoring television usageUS20060128469Dec 13, 2005Jun 15, 2006Daniel WillisOnline video game advertising system and method supporting multiplayer adsUS20060143675Dec 19, 2005Jun 29, 2006Daniel WillisProxy advertisement server and methodUS20060155643 *Jan 7, 2005Jul 13, 2006Microsoft CorporationPayment instrument notificationUS20070006190Sep 8, 2006Jan 4, 2007Surasinghe Lakshitha CSystem and method for dynamic business logic rule integrationUS20070015574Jul 14, 2005Jan 18, 2007Microsoft CorporationPeripheral information and digital tells in electronic gamesUS20070061201Aug 30, 2006Mar 15, 2007Ellis Richard DMethod and system for modifying object behavior based upon dynamically incorporated advertising contentUS20070072676Sep 29, 2005Mar 29, 2007Shumeet BalujaUsing information from user-video game interactions to target advertisements, such as advertisements to be served in video games for exampleUS20070126749Oct 27, 2006Jun 7, 2007Exent Technologies, Ltd.System, method and computer program product for dynamically identifying, selecting and extracting graphical and media objects in frames or scenes rendered by a software applicationUS20070129146Jun 22, 2006Jun 7, 2007Exent Technologies, Ltd.System, method and computer program product for dynamically measuring properties of objects rendered and/or referenced by an application executing on a computing deviceUS20070129990Jul 25, 2006Jun 7, 2007Exent Technologies, Ltd.System, method and computer program product for dynamically serving advertisements in an executing computer game based on the entity having jurisdiction over the advertising space in the gameUS20070130292Dec 1, 2005Jun 7, 2007Yoav TzruyaSystem, method and computer program product for dynamically enhancing an application executing on a computing deviceUS20070143603Dec 15, 2005Jun 21, 2007Authentica, Inc.Method and system for dynamically generating a watermarked document during a printing or display operationUS20070168309Oct 11, 2006Jul 19, 2007Exent Technologies, Ltd.System, method and computer program product for dynamically extracting and sharing event information from an executing software applicationUS20070296718Jul 18, 2007Dec 27, 2007Exent Technologies, Ltd.Dynamic resizing of graphics content rendered by an application to facilitate rendering of additional graphics contentUS20080009344Jul 9, 2007Jan 10, 2008IgtIntegrating remotely-hosted and locally rendered content on a gaming deviceUS20100036785Aug 18, 2009Feb 11, 2010Exent Technologies, Ltd.System, method and computer program product for dynamically measuring properties of objects rendered and/or referenced by an application executing on a computing deviceJP2001312286A Title not availableKR510011581B1 Title not availableWO1991015921A1Apr 10, 1991Oct 17, 1991Multi Media TechProcess and device for modifying a zone of successive imagesWO1995025399A1Feb 27, 1995Sep 21, 1995Yoel AmirA system for implanting an image into a video streamWO1999024904A1Nov 3, 1998May 20, 1999Intergraph CorpApparatus and method for logging information relating to function calls to a function libraryWO2000029964A1Nov 15, 1999May 25, 2000Aran ShlomoSoftware language translation system and methodWO2005096782A2Apr 6, 2005Oct 20, 2005Ask Jeeves IncMethods and systems for providing applications with internet search functionalityWO2007063422A2Nov 28, 2006Jun 7, 2007Exent Technologies LtdSystem, method and computer program product for dynamically enhancing an application executing on a computing deviceWO2007148233A2Apr 25, 2007Dec 27, 2007Exent Technologies LtdDynamically serving advertisements in an executing computer gameWO2008020313A2Apr 25, 2007Feb 21, 2008Exent Technologies LtdDynamically identifying, selecting and extracting objects rendered by a software applicationWO2008020317A2Apr 25, 2007Feb 21, 2008Exent Technologies LtdDynamically measuring properties of objects rendered and/or referenced by an applicationWO2008104834A2Oct 10, 2007Sep 4, 2008Exent Technologies LtdSystem, method and computer program product for dynamically extracting and sharing event information from an executing software applicationWO2009034478A2Jul 15, 2008Mar 19, 2009Exent Technologies LtdDynamic resizing of graphics content rendered by an application to facilitate rendering of additional graphics content* Cited by examinerNon-Patent CitationsReference1"Exent Technologies: In-Game Advertising", http://web.archive.org/web/20060504072829/http://exent.com/products-and-services/In-Game-Advertising.asp, retrieved Mar. 14, 2008, (May 4, 2006), 1 page.2"New In-Game Advertising Solution from Exent Technologies Provides Dramatic Increase in Ad Inventory Without Technical Integration", http://www.exent.com/news/pr/20060427.asp, retrieved Mar. 14, 2008, (Apr. 27, 2006), pp. 1-2.3"Exent Technologies: In-Game Advertising", http://web.archive.org/web/20060504072829/http://exent.com/products�and�services/In�Game�Advertising.asp, retrieved Mar. 14, 2008, (May 4, 2006), 1 page.4Chalil, et al., "MPEG-4 Based Framework for Game Engine to Handle Virtual Advertisements in Games", International Conference on Multimedia and Expo,(Jul. 6, 2003), pp. 413-416.5English translation of office action received for Japanese Appl. No. 2008-542861, mailed on Apr. 26, 2011, 10 pages.6International Preliminary Report on Patentability received for PCT Application No. PCT/IB2007/004515, mailed on Apr. 23, 2009, 13 pages.7International Preliminary Report on Patentability received for PCT Patent Application No. PCT/IB2006/003968, mailed on Jun. 12, 2008, 8 pages.8International Preliminary Report on Patentability received for PCT Patent Application No. PCT/IB2007/003000, mailed on Nov. 20, 2008, 8 pages.9International Preliminary Report on Patentability received for PCT Patent Application No. PCT/IB2007/003063, mailed on Nov. 20, 2008, 7 pages.10International Preliminary Report on Patentability received for PCT Patent Application No. PCT/IB2007/003066, mailed on Nov. 20, 2008, 7 pages.11International Preliminary Report on Patentability received for PCT Patent Application No. PCT/IB2008/003387, mailed on Jan. 28, 2010, 8 pages.12International Search Report and Written Opinion received for PCT Application No. PCT/IB2006/003968, mailed on Aug. 30, 2007, 14 pages.13International Search Report and Written Opinion received for PCT Application No. PCT/IB2008/003387, mailed on May 13, 2009, 27 pages.14International Search Report and Written Opinion received for PCT Patent Application No. PCT/IB2007/003000, mailed on Apr. 10, 2008, 14 pages.15International Search Report and Written Opinion received for PCT Patent Application No. PCT/IB2007/003063, mailed on Apr. 10, 2008, 13 pages.16International Search Report and Written Opinion received for PCT Patent Application No. PCT/IB2007/003066 , mailed on Apr. 10, 2008, 13 pages.17International Search Report and Written Opinion received for PCT Patent Application No. PCT/IB2007/004515, mailed on Feb. 18, 2009, 19 pages.18Lipkie, et al., "Star graphics: An object oriented implementation", ACM; Computer Graphics; vol. 15, No. 3, (Jul. 1982), pp. 115-124.19Mohr, et al., "HijackGL: Reconstructing from Streams for Stylized Rendering", Association for Computing Machinery, Inc., (Jun. 3, 2002), pp. 13-20.20Office Action received for E.P. Patent Application No. 06842386.2, mailed Jul. 15, 2010, 4 pages.21Office Action received for E.P. Patent Application No. 07825314.3, mailed on May 15, 2009, 6 pages.22Office Action Received for E.P. Patent Application No. 07825369.7, mailed on Jan. 18, 2010, 6 pages.23Office Action Received for E.P. Patent Application No. 07825369.7, mailed on Mar. 13, 2009, 6 pages.24Office Action received for EP Patent Application No. 07872836.7, mailed on Jul. 19, 2010, 3 pages.25Office Action received for European Patent Application No. 08830539.6-2218, mailed on Jun. 10, 2010, 3 pages.26Office Action Received for Korean Patent Application No. 10-2008-7013180, mailed on Jun. 17, 2009, 6 pages of Office Action and 5 pages of English Translation.27Schu, M. et al., "System-on-Silicon solution for High Quality Consumer Video Processing the Next Generation", IEEE Transactions on Consumer Electronics, IEEE Service Center, New York, NY, US, vol. 47, No. 3, (Aug. 1, 2001), pp. 412-419.28Walders, et al., "glAnalyze-The Newest OpenGL Product", http://www.3dsite.com/n/sites/3dsite/newsletter/issues/10/sec12.html, retrieved Apr. 15, 2002, (Apr. 29, 1999), pp. 1-3.29Walders, et al., "glAnalyze�The Newest OpenGL Product", http://www.3dsite.com/n/sites/3dsite/newsletter/issues/10/sec12.html, retrieved Apr. 15, 2002, (Apr. 29, 1999), pp. 1-3.Referenced byCiting PatentFiling datePublication dateApplicantTitleUS8629885Oct 27, 2006Jan 14, 2014Exent Technologies, Ltd.System, method and computer program product for dynamically identifying, selecting and extracting graphical and media objects in frames or scenes rendered by a software applicationUS20120200586 *Jun 29, 2011Aug 9, 2012Lima Jose De SouzaSystem and method for providing application-based user interface features on a computing device* Cited by examinerClassifications U.S. Classification706/62, 705/14.73, 705/52, 705/14.68, 705/14.1, 706/45, 706/47, 705/14.4, 705/14.69, 705/56, 705/59, 705/14.5International ClassificationG06F15/18, G06F15/00Cooperative ClassificationG06Q30/0241, G06F9/4443, G06Q30/0207, G06Q30/0277, G06Q30/02, G06Q30/0252, G06Q30/0272, G06Q30/0273, G06F9/4426European ClassificationG06F9/44W, G06Q30/02, G06Q30/0277, G06F9/44F1A1, G06Q30/0207, G06Q30/0241, G06Q30/0252, G06Q30/0272, G06Q30/0273Legal EventsDateCodeEventDescriptionAug 18, 2009ASAssignmentOwner name: EXENT TECHNOLOGIES, LTD., ISRAELFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TZRUYA, YOAV;SHEORY, OHAD;TWIG, URI;REEL/FRAME:023111/0097;SIGNING DATES FROM 20051204 TO 20051206Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TZRUYA, YOAV;SHEORY, OHAD;TWIG, URI;SIGNING DATES FROM 20051204 TO 20051206;REEL/FRAME:023111/0097RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services