US6745385B1 - Fixing incompatible applications by providing stubs for APIs - Google Patents
Fixing incompatible applications by providing stubs for APIs Download PDFInfo
- Publication number
- US6745385B1 US6745385B1 US09/513,016 US51301600A US6745385B1 US 6745385 B1 US6745385 B1 US 6745385B1 US 51301600 A US51301600 A US 51301600A US 6745385 B1 US6745385 B1 US 6745385B1
- Authority
- US
- United States
- Prior art keywords
- incompatible
- application
- determining
- functions
- dynamic link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44552—Conflict resolution, i.e. enabling coexistence of conflicting executables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Definitions
- One embodiment of the invention works in the following way.
- To determine if the application is incompatible identifying information from the application is checked against a database containing a list of applications that are currently known to be incompatible. If the name of the application is in the database then a set of attributes are checked to see if that particular version of the application is compatible. If all of the checked attributes match the ones found in the database, the application is determined to be incompatible with the current operating system.
- FIGS. 6A-C are a sequence of diagrams that illustrate how one actual embodiment of the present invention replaces incompatible function contained within a DLL with the compatible stub function located within the Hook DLL.
- FIGS. 6A and 6B depict two DLLs associated with an application and one Hook DLL that is used to patch an incompatible application.
- the import tables 140 , 142 , and 144 depicted in FIGS. 6A-C include a list of functions and function pointers contained within the DLL.
- the import table may also include references, or pointers, to other functions located in a separate DLL, as indicated by DLL 1 's import table 140 .
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Shovels (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/513,016 US6745385B1 (en) | 1999-09-01 | 2000-02-25 | Fixing incompatible applications by providing stubs for APIs |
JP2001520617A JP4878715B2 (ja) | 1999-09-01 | 2000-08-17 | オペレーティングシステムに適合しないアプリケーションにパッチを当てる方法、コンピュータシステム及びコンピュータ可読記録媒体 |
DE60041589T DE60041589D1 (de) | 1999-09-01 | 2000-08-17 | Reparieren von anwendungen, die inkompatibel zum betriebssystem sind durch bereitstellung von stubs für api's |
EP00955648A EP1224543B1 (de) | 1999-09-01 | 2000-08-17 | Reparieren von anwendungen, die inkompatibel zum betriebssystem sind durch bereitstellung von stubs für api's |
AU67816/00A AU6781600A (en) | 1999-09-01 | 2000-08-17 | Fixing incompatible applications by providing stubs for apis |
PCT/US2000/022580 WO2001016730A2 (en) | 1999-09-01 | 2000-08-17 | FIXING INCOMPATIBLE APPLICATIONS BY PROVIDING STUBS FOR APIs |
AT00955648T ATE423347T1 (de) | 1999-09-01 | 2000-08-17 | Reparieren von anwendungen, die inkompatibel zum betriebssystem sind durch bereitstellung von stubs für api's |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15185399P | 1999-09-01 | 1999-09-01 | |
US09/513,016 US6745385B1 (en) | 1999-09-01 | 2000-02-25 | Fixing incompatible applications by providing stubs for APIs |
Publications (1)
Publication Number | Publication Date |
---|---|
US6745385B1 true US6745385B1 (en) | 2004-06-01 |
Family
ID=26849029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/513,016 Expired - Fee Related US6745385B1 (en) | 1999-09-01 | 2000-02-25 | Fixing incompatible applications by providing stubs for APIs |
Country Status (7)
Country | Link |
---|---|
US (1) | US6745385B1 (de) |
EP (1) | EP1224543B1 (de) |
JP (1) | JP4878715B2 (de) |
AT (1) | ATE423347T1 (de) |
AU (1) | AU6781600A (de) |
DE (1) | DE60041589D1 (de) |
WO (1) | WO2001016730A2 (de) |
Cited By (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030167463A1 (en) * | 2002-03-01 | 2003-09-04 | Microsft Corporation | Custom application-compatibility systems and layers |
US20040015914A1 (en) * | 1999-09-14 | 2004-01-22 | Timothy Renouf | Loading object-oriented computer programs |
US7032213B1 (en) * | 1999-09-01 | 2006-04-18 | Microsoft Corporation | Fixing incompatible applications using a light debugger |
US20060143222A1 (en) * | 2004-12-23 | 2006-06-29 | Maxime Daniel | Method, program and system for automatic reengineering of a client code |
US20060206757A1 (en) * | 2005-03-09 | 2006-09-14 | Russell Michael D | System and method for managing software patches |
US20060218552A1 (en) * | 2005-03-24 | 2006-09-28 | International Business Machines Corporation | Method and apparatus for extending operations of an application in a data processing system |
US20060230398A1 (en) * | 2002-03-25 | 2006-10-12 | Canon Kabushiki Kaisha | Install processing apparatus, processing method, storage medium, and program |
US20070006202A1 (en) * | 2005-07-01 | 2007-01-04 | Mikkelsen Tim I | Dynamic mapping of shared libraries |
US20080072219A1 (en) * | 2006-09-20 | 2008-03-20 | Mario Kabadiyski | Deployment and versioning of applications |
US20100011073A1 (en) * | 2008-06-10 | 2010-01-14 | True Commerce, Inc. | User-deployable data transformation and exchange platform including on-demand item synchronization and user-deployable order management system |
US7747452B1 (en) * | 2002-12-31 | 2010-06-29 | Adams Phillip M | Enforcement process for correction of hardware and software defects |
US20100262900A1 (en) * | 2009-04-13 | 2010-10-14 | Honeywell International Inc. | Utilizing spreadsheet user interfaces with flowsheets of a cpi simulation system |
US20110067038A1 (en) * | 2009-09-16 | 2011-03-17 | Nvidia Corporation | Co-processing techniques on heterogeneous gpus having different device driver interfaces |
WO2011031675A1 (en) * | 2009-09-08 | 2011-03-17 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US20120227057A1 (en) * | 2011-03-04 | 2012-09-06 | Microsoft Corporation | Driver Shimming |
US20130263103A1 (en) * | 2012-03-29 | 2013-10-03 | Adobe Systems Inc. | Method and apparatus for creating a platform agnostic application file |
US20140007117A1 (en) * | 2012-06-13 | 2014-01-02 | Bluebox | Methods and apparatus for modifying software applications |
US20140096122A1 (en) * | 2004-05-11 | 2014-04-03 | Microsoft Corporation | Efficient patching |
WO2014088990A2 (en) * | 2012-12-03 | 2014-06-12 | Apkudo, Llc | System and method for analyzing user experience of a software application across disparation across disparate devices |
CN103885808A (zh) * | 2014-04-08 | 2014-06-25 | 北京奇虎科技有限公司 | 热补丁处理方法及装置 |
US8789138B2 (en) | 2010-12-27 | 2014-07-22 | Microsoft Corporation | Application execution in a restricted application execution environment |
US20140325498A1 (en) * | 2013-04-24 | 2014-10-30 | Nintendo Co, Ltd. | Selective operating system patching/updating |
US8898524B2 (en) | 2011-03-17 | 2014-11-25 | Fujitsu Semiconductor Limited | Computer-readable medium storing wrapper program and integrated circuit apparatus |
US9003363B2 (en) | 2011-03-21 | 2015-04-07 | Microsoft Technology Licensing, Llc | Device flags |
US9058193B2 (en) * | 2013-11-14 | 2015-06-16 | Google Inc. | Methods and systems for providing compatibility of applications with multiple versions of an operating system |
US9075781B2 (en) | 2013-03-15 | 2015-07-07 | Apkudo, Llc | System and method for coordinating field user testing results for a mobile application across various mobile devices |
US9171350B2 (en) | 2010-10-28 | 2015-10-27 | Nvidia Corporation | Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up |
US20160026519A1 (en) * | 2011-03-07 | 2016-01-28 | Microsoft Technology Licensing, Llc | Application Compatibility Leveraging Successful Resolution of Issues |
US9283672B1 (en) | 2014-12-11 | 2016-03-15 | Apkudo, Llc | Robotic testing device and method for more closely emulating human movements during robotic testing of mobile devices |
US20160077850A1 (en) * | 2013-04-19 | 2016-03-17 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for binary compatibility |
CN105528224A (zh) * | 2014-09-30 | 2016-04-27 | 中国电信股份有限公司 | 基于应用识别的多系统调度方法和终端 |
US9348625B2 (en) | 2014-05-23 | 2016-05-24 | Google Inc. | Application access to native and bundled libraries |
US9454548B1 (en) * | 2013-02-25 | 2016-09-27 | Emc Corporation | Pluggable storage system for distributed file systems |
US20170139692A1 (en) * | 2013-06-05 | 2017-05-18 | Splunk Inc. | System for displaying notification dependencies between component instances |
US9830176B2 (en) | 2013-04-19 | 2017-11-28 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for binary compatible graphics support in mobile operating systems |
US9830889B2 (en) | 2009-12-31 | 2017-11-28 | Nvidia Corporation | Methods and system for artifically and dynamically limiting the display resolution of an application |
US9984083B1 (en) | 2013-02-25 | 2018-05-29 | EMC IP Holding Company LLC | Pluggable storage system for parallel query engines across non-native file systems |
US10061626B2 (en) | 2013-06-05 | 2018-08-28 | Splunk Inc. | Application framework providing a registry for mapping names to component instances |
US10095678B2 (en) | 2009-04-13 | 2018-10-09 | Honeywell International Inc. | Database user interfaces with flowsheets of a simulation system |
CN108920216A (zh) * | 2018-08-03 | 2018-11-30 | 武汉斗鱼网络科技有限公司 | 关闭软件兼容模式的方法、装置、终端及存储介质 |
US10261611B2 (en) | 2012-12-03 | 2019-04-16 | Apkudo, Llc | System and method for objectively measuring user experience of touch screen based devices |
US10318360B2 (en) | 2013-06-05 | 2019-06-11 | Splunk Inc. | Registry for app features referenced pointers and pointer definitions |
US10338914B2 (en) | 2014-09-01 | 2019-07-02 | Hewlett Packard Enterprise Development Lp | Dynamically applying a patch to a shared library |
US10445505B2 (en) * | 2014-09-22 | 2019-10-15 | Mcafee, Llc | Process vulnerability assessment |
US10915426B2 (en) | 2019-06-06 | 2021-02-09 | International Business Machines Corporation | Intercepting and recording calls to a module in real-time |
US10929126B2 (en) | 2019-06-06 | 2021-02-23 | International Business Machines Corporation | Intercepting and replaying interactions with transactional and database environments |
US10956563B2 (en) * | 2017-11-22 | 2021-03-23 | Aqua Security Software, Ltd. | System for securing software containers with embedded agent |
US11016762B2 (en) | 2019-06-06 | 2021-05-25 | International Business Machines Corporation | Determining caller of a module in real-time |
US11036619B2 (en) | 2019-06-06 | 2021-06-15 | International Business Machines Corporation | Bypassing execution of a module in real-time |
US11074069B2 (en) | 2019-06-06 | 2021-07-27 | International Business Machines Corporation | Replaying interactions with transactional and database environments with re-arrangement |
US11093136B2 (en) * | 2017-02-01 | 2021-08-17 | Hewlett-Packard Development Company, L.P. | Performance threshold |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7210121B2 (en) | 2003-02-07 | 2007-04-24 | Sun Microsystems, Inc. | Method and system for generating first class citizen application implementing native software application wrapper |
GB0307805D0 (en) * | 2003-04-04 | 2003-05-07 | Intuwave Ltd | A method of enabling source code to be used to generate a first and a second software application,each compatible with a different operating system |
US7392527B2 (en) * | 2003-12-10 | 2008-06-24 | Microsoft Corporation | Driver-specific context for kernel-mode shimming |
US7770158B2 (en) | 2004-10-14 | 2010-08-03 | Bea Systems, Inc. | Source code translator |
US7653684B2 (en) * | 2004-12-03 | 2010-01-26 | Microsoft Corporation | Enabling inter-subsystem resource sharing |
JP5803157B2 (ja) * | 2011-03-07 | 2015-11-04 | 日本電気株式会社 | 情報処理装置、プログラム不正検知方法、およびプログラム不正検知プログラム |
US8776094B2 (en) | 2011-08-11 | 2014-07-08 | Microsoft Corporation | Runtime system |
US8695021B2 (en) * | 2011-08-31 | 2014-04-08 | Microsoft Corporation | Projecting native application programming interfaces of an operating system into other programming languages |
US9176838B2 (en) * | 2012-10-19 | 2015-11-03 | Intel Corporation | Encrypted data inspection in a network environment |
US10635504B2 (en) | 2014-10-16 | 2020-04-28 | Microsoft Technology Licensing, Llc | API versioning independent of product releases |
CN104866307B (zh) * | 2015-05-14 | 2018-04-27 | 百度在线网络技术(北京)有限公司 | 一种应用程序的修复方法和装置 |
EP3406674A1 (de) | 2017-05-26 | 2018-11-28 | Ewald Dörken Ag | Thermochromes beschichtungssystem |
US20210389937A1 (en) * | 2020-06-12 | 2021-12-16 | Western Digital Technologies, Inc. | Systems And Methods For Fixing Incompatibilities In Field Firmware Updates |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0498130A2 (de) | 1991-02-08 | 1992-08-12 | International Business Machines Corporation | Anordnung und Verfahren zur Kompatibilitätsprüfung von Systemkomponenten |
EP0559221A2 (de) | 1992-03-06 | 1993-09-08 | Microsoft Corporation | Verfahren zum Speichern von Programmen |
US5335344A (en) * | 1991-06-21 | 1994-08-02 | Pure Software Inc. | Method for inserting new machine instructions into preexisting machine code to monitor preexisting machine access to memory |
US5546586A (en) | 1993-05-06 | 1996-08-13 | Apple Computer, Inc. | Method and apparatus for vectorizing the contents of a read only memory device without modifying underlying source code |
US5675803A (en) * | 1994-01-28 | 1997-10-07 | Sun Microsystems, Inc. | Method and apparatus for a fast debugger fix and continue operation |
US5790856A (en) * | 1995-05-08 | 1998-08-04 | Apple Computer, Inc. | Methods, apparatus, and data structures for data driven computer patches and static analysis of same |
US5815722A (en) * | 1992-11-18 | 1998-09-29 | Canon Information Systems, Inc. | In an interactive network board, a method and apparatus for remotely downloading and executing files in a memory |
US5916308A (en) | 1995-02-27 | 1999-06-29 | International Business Machines Corporation | Dynamic link libraries without linker or loader support |
US5951639A (en) * | 1996-02-14 | 1999-09-14 | Powertv, Inc. | Multicast downloading of software and data modules and their compatibility requirements |
US6009261A (en) * | 1997-12-16 | 1999-12-28 | International Business Machines Corporation | Preprocessing of stored target routines for emulating incompatible instructions on a target processor |
US6026238A (en) * | 1997-08-18 | 2000-02-15 | Microsoft Corporatrion | Interface conversion modules based upon generalized templates for multiple platform computer systems |
US6071317A (en) * | 1997-12-11 | 2000-06-06 | Digits Corp. | Object code logic analysis and automated modification system and method |
US6141698A (en) * | 1997-01-29 | 2000-10-31 | Network Commerce Inc. | Method and system for injecting new code into existing application code |
US20020073398A1 (en) * | 1998-12-14 | 2002-06-13 | Jeffrey L. Tinker | Method and system for modifying executable code to add additional functionality |
US6463583B1 (en) * | 1999-04-08 | 2002-10-08 | Novadigm, Inc. | Dynamic injection of execution logic into main dynamic link library function of the original kernel of a windowed operating system |
US6484309B2 (en) * | 1998-10-08 | 2002-11-19 | Intel Corporation | Enabling software designed for one operating system to operate on another operating system |
US6490721B1 (en) * | 1998-07-14 | 2002-12-03 | Oc Systems Incorporated | Software debugging method and apparatus |
US20030110307A1 (en) * | 1996-11-08 | 2003-06-12 | Mario E. De Armas | Method and apparatus for software technology injection for operating systems which assign separate process address spaces |
-
2000
- 2000-02-25 US US09/513,016 patent/US6745385B1/en not_active Expired - Fee Related
- 2000-08-17 AU AU67816/00A patent/AU6781600A/en not_active Abandoned
- 2000-08-17 AT AT00955648T patent/ATE423347T1/de not_active IP Right Cessation
- 2000-08-17 WO PCT/US2000/022580 patent/WO2001016730A2/en active Application Filing
- 2000-08-17 EP EP00955648A patent/EP1224543B1/de not_active Expired - Lifetime
- 2000-08-17 JP JP2001520617A patent/JP4878715B2/ja not_active Expired - Fee Related
- 2000-08-17 DE DE60041589T patent/DE60041589D1/de not_active Expired - Lifetime
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0498130A2 (de) | 1991-02-08 | 1992-08-12 | International Business Machines Corporation | Anordnung und Verfahren zur Kompatibilitätsprüfung von Systemkomponenten |
US5335344A (en) * | 1991-06-21 | 1994-08-02 | Pure Software Inc. | Method for inserting new machine instructions into preexisting machine code to monitor preexisting machine access to memory |
EP0559221A2 (de) | 1992-03-06 | 1993-09-08 | Microsoft Corporation | Verfahren zum Speichern von Programmen |
US5430878A (en) | 1992-03-06 | 1995-07-04 | Microsoft Corporation | Method for revising a program to obtain compatibility with a computer configuration |
US5815722A (en) * | 1992-11-18 | 1998-09-29 | Canon Information Systems, Inc. | In an interactive network board, a method and apparatus for remotely downloading and executing files in a memory |
US5546586A (en) | 1993-05-06 | 1996-08-13 | Apple Computer, Inc. | Method and apparatus for vectorizing the contents of a read only memory device without modifying underlying source code |
US5675803A (en) * | 1994-01-28 | 1997-10-07 | Sun Microsystems, Inc. | Method and apparatus for a fast debugger fix and continue operation |
US5916308A (en) | 1995-02-27 | 1999-06-29 | International Business Machines Corporation | Dynamic link libraries without linker or loader support |
US5790856A (en) * | 1995-05-08 | 1998-08-04 | Apple Computer, Inc. | Methods, apparatus, and data structures for data driven computer patches and static analysis of same |
US5951639A (en) * | 1996-02-14 | 1999-09-14 | Powertv, Inc. | Multicast downloading of software and data modules and their compatibility requirements |
US20030110307A1 (en) * | 1996-11-08 | 2003-06-12 | Mario E. De Armas | Method and apparatus for software technology injection for operating systems which assign separate process address spaces |
US6141698A (en) * | 1997-01-29 | 2000-10-31 | Network Commerce Inc. | Method and system for injecting new code into existing application code |
US6026238A (en) * | 1997-08-18 | 2000-02-15 | Microsoft Corporatrion | Interface conversion modules based upon generalized templates for multiple platform computer systems |
US6071317A (en) * | 1997-12-11 | 2000-06-06 | Digits Corp. | Object code logic analysis and automated modification system and method |
US6009261A (en) * | 1997-12-16 | 1999-12-28 | International Business Machines Corporation | Preprocessing of stored target routines for emulating incompatible instructions on a target processor |
US6490721B1 (en) * | 1998-07-14 | 2002-12-03 | Oc Systems Incorporated | Software debugging method and apparatus |
US6484309B2 (en) * | 1998-10-08 | 2002-11-19 | Intel Corporation | Enabling software designed for one operating system to operate on another operating system |
US20020073398A1 (en) * | 1998-12-14 | 2002-06-13 | Jeffrey L. Tinker | Method and system for modifying executable code to add additional functionality |
US6463583B1 (en) * | 1999-04-08 | 2002-10-08 | Novadigm, Inc. | Dynamic injection of execution logic into main dynamic link library function of the original kernel of a windowed operating system |
Cited By (116)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7032213B1 (en) * | 1999-09-01 | 2006-04-18 | Microsoft Corporation | Fixing incompatible applications using a light debugger |
US20040015914A1 (en) * | 1999-09-14 | 2004-01-22 | Timothy Renouf | Loading object-oriented computer programs |
US20050240907A1 (en) * | 1999-09-14 | 2005-10-27 | Timothy Renouf | Loading object-oriented computer programs |
US20030167463A1 (en) * | 2002-03-01 | 2003-09-04 | Microsft Corporation | Custom application-compatibility systems and layers |
US20060230398A1 (en) * | 2002-03-25 | 2006-10-12 | Canon Kabushiki Kaisha | Install processing apparatus, processing method, storage medium, and program |
US7747452B1 (en) * | 2002-12-31 | 2010-06-29 | Adams Phillip M | Enforcement process for correction of hardware and software defects |
US20140096122A1 (en) * | 2004-05-11 | 2014-04-03 | Microsoft Corporation | Efficient patching |
US9092301B2 (en) * | 2004-05-11 | 2015-07-28 | Microsoft Technology Licensing, Llc | Efficient patching |
US20060143222A1 (en) * | 2004-12-23 | 2006-06-29 | Maxime Daniel | Method, program and system for automatic reengineering of a client code |
US20060206757A1 (en) * | 2005-03-09 | 2006-09-14 | Russell Michael D | System and method for managing software patches |
US8151258B2 (en) * | 2005-03-09 | 2012-04-03 | Ipass Inc. | Managing software patches |
US7409532B2 (en) * | 2005-03-24 | 2008-08-05 | International Business Machines Corporation | Method and apparatus for extending operations of an application in a data processing system |
US20080301686A1 (en) * | 2005-03-24 | 2008-12-04 | International Business Machines Corporation | Method and apparatus for extending operations of an application in a data processing system |
US8555033B2 (en) | 2005-03-24 | 2013-10-08 | International Business Machines Corporation | Extending operations of an application in a data processing system |
US8214623B2 (en) | 2005-03-24 | 2012-07-03 | International Business Machines Corporation | Extending operations of an application in a data processing system |
US20060218552A1 (en) * | 2005-03-24 | 2006-09-28 | International Business Machines Corporation | Method and apparatus for extending operations of an application in a data processing system |
US20070006202A1 (en) * | 2005-07-01 | 2007-01-04 | Mikkelsen Tim I | Dynamic mapping of shared libraries |
US20080072219A1 (en) * | 2006-09-20 | 2008-03-20 | Mario Kabadiyski | Deployment and versioning of applications |
US8296758B2 (en) * | 2006-09-20 | 2012-10-23 | Sap Ag | Deployment and versioning of applications |
US20100011073A1 (en) * | 2008-06-10 | 2010-01-14 | True Commerce, Inc. | User-deployable data transformation and exchange platform including on-demand item synchronization and user-deployable order management system |
US20100262900A1 (en) * | 2009-04-13 | 2010-10-14 | Honeywell International Inc. | Utilizing spreadsheet user interfaces with flowsheets of a cpi simulation system |
US10095678B2 (en) | 2009-04-13 | 2018-10-09 | Honeywell International Inc. | Database user interfaces with flowsheets of a simulation system |
US9053260B2 (en) * | 2009-04-13 | 2015-06-09 | Honeywell International Inc. | Utilizing spreadsheet user interfaces with flowsheets of a CPI simulation system |
US11301027B2 (en) | 2009-09-08 | 2022-04-12 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
EP2476223B1 (de) | 2009-09-08 | 2021-04-14 | Abbott Diabetes Care, Inc. | Verfahren und hergestellter artikel zum hosten einer sicherheitsrelevanten anwendung auf einer ungesteuerten datenverarbeitungsvorrichtung |
US8601465B2 (en) | 2009-09-08 | 2013-12-03 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US9524016B2 (en) | 2009-09-08 | 2016-12-20 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US9529414B2 (en) | 2009-09-08 | 2016-12-27 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US9529413B2 (en) | 2009-09-08 | 2016-12-27 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US11586273B2 (en) | 2009-09-08 | 2023-02-21 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US9519333B2 (en) | 2009-09-08 | 2016-12-13 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US9524017B2 (en) | 2009-09-08 | 2016-12-20 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US11099627B2 (en) | 2009-09-08 | 2021-08-24 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US9552052B2 (en) | 2009-09-08 | 2017-01-24 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US9519335B2 (en) | 2009-09-08 | 2016-12-13 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US9015698B2 (en) | 2009-09-08 | 2015-04-21 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US9015700B2 (en) | 2009-09-08 | 2015-04-21 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US9015699B2 (en) | 2009-09-08 | 2015-04-21 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US9015701B2 (en) | 2009-09-08 | 2015-04-21 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US20110126188A1 (en) * | 2009-09-08 | 2011-05-26 | Abbott Diabetes Care Inc. | Methods and Articles of Manufacture for Hosting a Safety Critical Application on an Uncontrolled Data Processing Device |
US9519334B2 (en) | 2009-09-08 | 2016-12-13 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US9058431B2 (en) | 2009-09-08 | 2015-06-16 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US10241562B2 (en) | 2009-09-08 | 2019-03-26 | Abbott Diabetes Care Inc. | Controlling operation of a safety critical application on an uncontrolled data processing device |
WO2011031675A1 (en) * | 2009-09-08 | 2011-03-17 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US9619013B2 (en) | 2009-09-08 | 2017-04-11 | Abbott Diabetes Care Inc. | Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device |
US20110067038A1 (en) * | 2009-09-16 | 2011-03-17 | Nvidia Corporation | Co-processing techniques on heterogeneous gpus having different device driver interfaces |
US9830889B2 (en) | 2009-12-31 | 2017-11-28 | Nvidia Corporation | Methods and system for artifically and dynamically limiting the display resolution of an application |
US9171350B2 (en) | 2010-10-28 | 2015-10-27 | Nvidia Corporation | Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up |
US8789138B2 (en) | 2010-12-27 | 2014-07-22 | Microsoft Corporation | Application execution in a restricted application execution environment |
US9443080B2 (en) | 2010-12-27 | 2016-09-13 | Microsoft Technology Licensing, Llc | Application execution in a restricted application execution environment |
US9443079B2 (en) | 2010-12-27 | 2016-09-13 | Microsoft Technology Licensing, Llc | Application execution in a restricted application execution environment |
CN102708076B (zh) * | 2011-03-04 | 2017-09-15 | 微软技术许可有限责任公司 | 驱动程序填隙 |
US9519600B2 (en) * | 2011-03-04 | 2016-12-13 | Microsoft Technology Licensing, Llc | Driver shimming |
US20120227057A1 (en) * | 2011-03-04 | 2012-09-06 | Microsoft Corporation | Driver Shimming |
CN102708076A (zh) * | 2011-03-04 | 2012-10-03 | 微软公司 | 驱动程序填隙 |
US20160026519A1 (en) * | 2011-03-07 | 2016-01-28 | Microsoft Technology Licensing, Llc | Application Compatibility Leveraging Successful Resolution of Issues |
CN106201615A (zh) * | 2011-03-07 | 2016-12-07 | 微软技术许可有限责任公司 | 利用成功的问题解决的应用兼容性 |
US8898524B2 (en) | 2011-03-17 | 2014-11-25 | Fujitsu Semiconductor Limited | Computer-readable medium storing wrapper program and integrated circuit apparatus |
US9003363B2 (en) | 2011-03-21 | 2015-04-07 | Microsoft Technology Licensing, Llc | Device flags |
US9436487B2 (en) * | 2012-03-29 | 2016-09-06 | Adobe Systems Incorporated | Method and apparatus for creating a platform agnostic application file |
US20130263103A1 (en) * | 2012-03-29 | 2013-10-03 | Adobe Systems Inc. | Method and apparatus for creating a platform agnostic application file |
US20140007117A1 (en) * | 2012-06-13 | 2014-01-02 | Bluebox | Methods and apparatus for modifying software applications |
WO2014088990A2 (en) * | 2012-12-03 | 2014-06-12 | Apkudo, Llc | System and method for analyzing user experience of a software application across disparation across disparate devices |
US10261611B2 (en) | 2012-12-03 | 2019-04-16 | Apkudo, Llc | System and method for objectively measuring user experience of touch screen based devices |
US10671367B2 (en) | 2012-12-03 | 2020-06-02 | Apkudo, Llc | System and method for analyzing user experience of a software application across disparate devices |
US10860122B2 (en) | 2012-12-03 | 2020-12-08 | Apkudo, Inc. | System and method for objectively measuring user experience of touch screen based devices |
US9578133B2 (en) | 2012-12-03 | 2017-02-21 | Apkudo, Llc | System and method for analyzing user experience of a software application across disparate devices |
WO2014088990A3 (en) * | 2012-12-03 | 2014-07-24 | Apkudo, Llc | System and method for analyzing user experience of a software application across disparation across disparate devices |
US10915528B2 (en) | 2013-02-25 | 2021-02-09 | EMC IP Holding Company LLC | Pluggable storage system for parallel query engines |
US11288267B2 (en) | 2013-02-25 | 2022-03-29 | EMC IP Holding Company LLC | Pluggable storage system for distributed file systems |
US11514046B2 (en) | 2013-02-25 | 2022-11-29 | EMC IP Holding Company LLC | Tiering with pluggable storage system for parallel query engines |
US9805053B1 (en) | 2013-02-25 | 2017-10-31 | EMC IP Holding Company LLC | Pluggable storage system for parallel query engines |
US10831709B2 (en) | 2013-02-25 | 2020-11-10 | EMC IP Holding Company LLC | Pluggable storage system for parallel query engines across non-native file systems |
US10719510B2 (en) | 2013-02-25 | 2020-07-21 | EMC IP Holding Company LLC | Tiering with pluggable storage system for parallel query engines |
US9454548B1 (en) * | 2013-02-25 | 2016-09-27 | Emc Corporation | Pluggable storage system for distributed file systems |
US9898475B1 (en) | 2013-02-25 | 2018-02-20 | EMC IP Holding Company LLC | Tiering with pluggable storage system for parallel query engines |
US9984083B1 (en) | 2013-02-25 | 2018-05-29 | EMC IP Holding Company LLC | Pluggable storage system for parallel query engines across non-native file systems |
US10452527B2 (en) | 2013-03-15 | 2019-10-22 | Apkudo, Llc | System and method for facilitating field testing of a test application |
US9367436B2 (en) | 2013-03-15 | 2016-06-14 | Apkudo, Llc | System and method for coordinating field user testing results for a mobile application across various mobile devices |
US9858178B2 (en) | 2013-03-15 | 2018-01-02 | Apkudo, Llc | System and method for facilitating field testing of a test application |
US9075781B2 (en) | 2013-03-15 | 2015-07-07 | Apkudo, Llc | System and method for coordinating field user testing results for a mobile application across various mobile devices |
US20160077850A1 (en) * | 2013-04-19 | 2016-03-17 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for binary compatibility |
US9830176B2 (en) | 2013-04-19 | 2017-11-28 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for binary compatible graphics support in mobile operating systems |
US20140325498A1 (en) * | 2013-04-24 | 2014-10-30 | Nintendo Co, Ltd. | Selective operating system patching/updating |
US10860303B2 (en) * | 2013-04-24 | 2020-12-08 | Nintendo Co., Ltd. | Selective operating system patching/updating |
US11068323B2 (en) | 2013-06-05 | 2021-07-20 | Splunk Inc. | Automatic registration of empty pointers |
US20170139692A1 (en) * | 2013-06-05 | 2017-05-18 | Splunk Inc. | System for displaying notification dependencies between component instances |
US10235221B2 (en) | 2013-06-05 | 2019-03-19 | Splunk Inc. | Registry for mapping names to component instances using configurable input and output links |
US11726774B2 (en) | 2013-06-05 | 2023-08-15 | Splunk Inc. | Application programming interface for a registry |
US10656924B2 (en) | 2013-06-05 | 2020-05-19 | Splunk Inc. | System for displaying interrelationships between application features |
US10108403B2 (en) * | 2013-06-05 | 2018-10-23 | Splunk Inc. | System for generating a timeline of registry events |
US10318360B2 (en) | 2013-06-05 | 2019-06-11 | Splunk Inc. | Registry for app features referenced pointers and pointer definitions |
US10061626B2 (en) | 2013-06-05 | 2018-08-28 | Splunk Inc. | Application framework providing a registry for mapping names to component instances |
US11755387B1 (en) | 2013-06-05 | 2023-09-12 | Splunk Inc. | Updating code of an app feature based on a value of a query feature |
US11210072B2 (en) | 2013-06-05 | 2021-12-28 | Splunk Inc. | System for generating a map illustrating bindings |
US10983788B2 (en) | 2013-06-05 | 2021-04-20 | Splunk Inc. | Registry for mapping names to component instances using configurable bindings and pointer definitions |
US9058193B2 (en) * | 2013-11-14 | 2015-06-16 | Google Inc. | Methods and systems for providing compatibility of applications with multiple versions of an operating system |
CN103885808A (zh) * | 2014-04-08 | 2014-06-25 | 北京奇虎科技有限公司 | 热补丁处理方法及装置 |
US9348625B2 (en) | 2014-05-23 | 2016-05-24 | Google Inc. | Application access to native and bundled libraries |
US10338914B2 (en) | 2014-09-01 | 2019-07-02 | Hewlett Packard Enterprise Development Lp | Dynamically applying a patch to a shared library |
US10445505B2 (en) * | 2014-09-22 | 2019-10-15 | Mcafee, Llc | Process vulnerability assessment |
CN105528224B (zh) * | 2014-09-30 | 2018-12-25 | 中国电信股份有限公司 | 基于应用识别的多系统调度方法和终端 |
CN105528224A (zh) * | 2014-09-30 | 2016-04-27 | 中国电信股份有限公司 | 基于应用识别的多系统调度方法和终端 |
US9718196B2 (en) | 2014-12-11 | 2017-08-01 | Apkudo, Llc | Robotic testing device and method for more closely emulating human movements during robotic testing of a user device |
US9283672B1 (en) | 2014-12-11 | 2016-03-15 | Apkudo, Llc | Robotic testing device and method for more closely emulating human movements during robotic testing of mobile devices |
US9469037B2 (en) | 2014-12-11 | 2016-10-18 | Apkudo, Llc | Robotic testing device and method for more closely emulating human movements during robotic testing of mobile devices |
US11093136B2 (en) * | 2017-02-01 | 2021-08-17 | Hewlett-Packard Development Company, L.P. | Performance threshold |
US11599267B2 (en) | 2017-02-01 | 2023-03-07 | Hewlett-Packard Development Company, L.P. | Performance threshold |
US10956563B2 (en) * | 2017-11-22 | 2021-03-23 | Aqua Security Software, Ltd. | System for securing software containers with embedded agent |
CN108920216B (zh) * | 2018-08-03 | 2021-11-09 | 武汉斗鱼网络科技有限公司 | 关闭软件兼容模式的方法、装置、终端及存储介质 |
CN108920216A (zh) * | 2018-08-03 | 2018-11-30 | 武汉斗鱼网络科技有限公司 | 关闭软件兼容模式的方法、装置、终端及存储介质 |
US11074069B2 (en) | 2019-06-06 | 2021-07-27 | International Business Machines Corporation | Replaying interactions with transactional and database environments with re-arrangement |
US11036619B2 (en) | 2019-06-06 | 2021-06-15 | International Business Machines Corporation | Bypassing execution of a module in real-time |
US11016762B2 (en) | 2019-06-06 | 2021-05-25 | International Business Machines Corporation | Determining caller of a module in real-time |
US10929126B2 (en) | 2019-06-06 | 2021-02-23 | International Business Machines Corporation | Intercepting and replaying interactions with transactional and database environments |
US10915426B2 (en) | 2019-06-06 | 2021-02-09 | International Business Machines Corporation | Intercepting and recording calls to a module in real-time |
Also Published As
Publication number | Publication date |
---|---|
DE60041589D1 (de) | 2009-04-02 |
EP1224543A2 (de) | 2002-07-24 |
EP1224543B1 (de) | 2009-02-18 |
WO2001016730A3 (en) | 2002-05-10 |
ATE423347T1 (de) | 2009-03-15 |
JP4878715B2 (ja) | 2012-02-15 |
JP2003508846A (ja) | 2003-03-04 |
AU6781600A (en) | 2001-03-26 |
WO2001016730A2 (en) | 2001-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6745385B1 (en) | Fixing incompatible applications by providing stubs for APIs | |
US7784044B2 (en) | Patching of in-use functions on a running computer system | |
US7055146B1 (en) | Method and system for dynamically inserting modifications for identified programs | |
US5617533A (en) | System and method for determining whether a software package conforms to packaging rules and requirements | |
US6920631B2 (en) | Software installation and validation using custom actions | |
US7032213B1 (en) | Fixing incompatible applications using a light debugger | |
US6542167B1 (en) | System and method for flexible software linking | |
US6529985B1 (en) | Selective interception of system calls | |
TW588255B (en) | Operating system abstraction and protection layer | |
US6415435B1 (en) | Method and apparatus for determining compatibility of parent classes in an object oriented environment using versioning | |
US6314567B1 (en) | Apparatus and method for transferring state data when performing on-line replacement of a running program code and data | |
US7954096B2 (en) | Shared loader system and method | |
US5537596A (en) | Method and apparatus for overriding resource maps in a computer system | |
US6269442B1 (en) | Apparatus and method for on-line replacement of a running program code and data using checkpoints | |
US9395968B1 (en) | Uniquely identifying and validating computer system firmware | |
US7856637B1 (en) | Runtime emulating static thread local storage of portable executable software code | |
US20070006202A1 (en) | Dynamic mapping of shared libraries | |
US20040268301A1 (en) | Adding new compiler methods to an integrated development environment | |
US8516505B2 (en) | Cross-platform compatibility framework for computer applications | |
US6438621B1 (en) | In-memory modification of computer programs | |
US6918126B1 (en) | Method and apparatus for creating and enforcing protected system level Java code | |
US6553429B1 (en) | Fast conditional thunk utility | |
US20060282840A1 (en) | Dynamic mapping of shared libraries | |
US6336215B1 (en) | Apparatus and method for on-line code only replacement of a running program using checkpoints | |
US7818756B2 (en) | SKU determination mechanism and API |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LUPU, CORNELIU I.;COLLERAN, JOHN D.;REEL/FRAME:010638/0786;SIGNING DATES FROM 20000221 TO 20000222 |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034541/0001 Effective date: 20141014 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20160601 |