US6745385B1 - Fixing incompatible applications by providing stubs for APIs - Google Patents

Fixing incompatible applications by providing stubs for APIs Download PDF

Info

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
Application number
US09/513,016
Other languages
English (en)
Inventor
Corneliu I. Lupu
John D. Colleran
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: COLLERAN, JOHN D., LUPU, CORNELIU I.
Priority to US09/513,016 priority Critical patent/US6745385B1/en
Priority to AU67816/00A priority patent/AU6781600A/en
Priority to DE60041589T priority patent/DE60041589D1/de
Priority to EP00955648A priority patent/EP1224543B1/de
Priority to JP2001520617A priority patent/JP4878715B2/ja
Priority to PCT/US2000/022580 priority patent/WO2001016730A2/en
Priority to AT00955648T priority patent/ATE423347T1/de
Publication of US6745385B1 publication Critical patent/US6745385B1/en
Application granted granted Critical
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44552Conflict resolution, i.e. enabling coexistence of conflicting executables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

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)
US09/513,016 1999-09-01 2000-02-25 Fixing incompatible applications by providing stubs for APIs Expired - Fee Related US6745385B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (19)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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