Patents by Inventor James Brandon Koppel

James Brandon Koppel has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20220365773
    Abstract: An application includes main program code, but also a call handler and an update module. When a specific method or function in the operating system is called, the call is redirected to the call handler in the application. The call handler then calls the function in the operating system. The function retrieves an object to present in a user interface to the application. But before the object is rendered, program control is returned to the call handler, which calls into the update module. The update module determines whether or not the appearance of the object should be changed, for example, in accordance with an A/B test or any other type of update. If so, visual characteristics of the object are changed. Control reverts back to the operating system from the call handler and the object, in its changed form, is presented in the user interface.
    Type: Application
    Filed: July 30, 2022
    Publication date: November 17, 2022
    Inventor: James Brandon Koppel
  • Patent number: 11474810
    Abstract: An application includes main program code, but also a call handler and an update module. When a specific method or function in the operating system is called, the call is redirected to the call handler in the application. The call handler then calls the function in the operating system. The function retrieves an object to present in a user interface to the application. But before the object is rendered, program control is returned to the call handler, which calls into the update module. The update module determines whether or not the appearance of the object should be changed, for example, in accordance with an A/B test or any other type of update. If so, visual characteristics of the object are changed. Control reverts back to the operating system from the call handler and the object, in its changed form, is presented in the user interface.
    Type: Grant
    Filed: August 26, 2020
    Date of Patent: October 18, 2022
    Assignee: Apptimize, LLC
    Inventor: James Brandon Koppel
  • Publication number: 20200394035
    Abstract: An application includes main program code, but also a call handler and an update module. When a specific method or function in the operating system is called, the call is redirected to the call handler in the application. The call handler then calls the function in the operating system. The function retrieves an object to present in a user interface to the application. But before the object is rendered, program control is returned to the call handler, which calls into the update module. The update module determines whether or not the appearance of the object should be changed, for example, in accordance with an A/B test or any other type of update. If so, visual characteristics of the object are changed. Control reverts back to the operating system from the call handler and the object, in its changed form, is presented in the user interface.
    Type: Application
    Filed: August 26, 2020
    Publication date: December 17, 2020
    Inventor: James Brandon Koppel
  • Patent number: 10761835
    Abstract: An application includes main program code, but also a call handler and an update module. When a specific method or function in the operating system is called, the call is redirected to the call handler in the application. The call handler then calls the function in the operating system. The function retrieves an object to present in a user interface to the application. But before the object is rendered, program control is returned to the call handler, which calls into the update module. The update module determines whether or not the appearance of the object should be changed, for example, in accordance with an A/B test or any other type of update. If so, visual characteristics of the object are changed. Control reverts back to the operating system from the call handler and the object, in its changed form, is presented in the user interface.
    Type: Grant
    Filed: October 14, 2015
    Date of Patent: September 1, 2020
    Assignee: Apptimize LLC
    Inventor: James Brandon Koppel
  • Patent number: 10761905
    Abstract: Implementations are disclosed herein for enhancing swizzling technology. In at least one implementation, functions are hooked by modifying their machine code implementations to jump to a central callback function. The central callback function may then route to other target functions that serve to replace the hooked functions. In another implementation, the machine code implementations are modified to jump to intermediate functions. The intermediate functions invoke dispatch functions that can call into a central callback function. The central callback function may return to the hooked functions.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: September 1, 2020
    Assignee: Apptimize LLC
    Inventors: Nancy Hua, James Brandon Koppel, Jeremy Nelson Orlow
  • Patent number: 10705858
    Abstract: Techniques to facilitate acquisition of analytics associated with an application are disclosed herein. In at least one implementation, an analytics function call from main program code of the application to a third party analytics function is monitored. Responsive to the analytics function call, the analytics function call is intercepted and a call handler function is invoked instead of the third party analytics function. The call handler function processes the analytics function call to extract analytics data from the analytics function call. A copy of the third party analytics function is then called.
    Type: Grant
    Filed: April 11, 2019
    Date of Patent: July 7, 2020
    Assignee: Apptimize, LLC
    Inventors: Michael L. Poon, Roberto Carli, James Brandon Koppel
  • Patent number: 10628188
    Abstract: Techniques to facilitate prevention of just-in-time (JIT) translations of application functions are disclosed herein. In at least one implementation, a JIT translation function of an operating system is modified in memory to redirect the JIT translation function to execute alternative code when the JIT translation function is called. When the JIT translation function is called for an application function, the alternative code is executed to determine whether the application function has been modified. When the alternative code determines that the application function has been modified, the JIT translation function is prevented from translating the application function into a native machine code version. When the alternative code determines that the application function has not been modified, the JIT translation function is allowed to translate the application function into the native machine code version.
    Type: Grant
    Filed: August 24, 2018
    Date of Patent: April 21, 2020
    Assignee: Apptimize LLC
    Inventors: Jeff DiTullio, Michael Ryan Fenton, James Brandon Koppel, Timothy D. Lundeen
  • Patent number: 10606612
    Abstract: Techniques to bypass system context checks to facilitate opening shared-object libraries are disclosed herein. In at least one implementation, a copy of a header of a shared-object library loaded by a runtime system is created. The header of the shared-object library loaded by the runtime system is patched with code configured to call an open function, wherein the code patched into the header of the shared-object library executes and calls the open function from the shared-object library loaded by the runtime system, the call to the open function is recognized as within a context of the runtime system, and the shared-object library is allowed to be opened. A pointer to the shared-object library opened in memory is received, and the header of the shared-object library is restored to an original version using the copy of the header of the shared-object library.
    Type: Grant
    Filed: August 24, 2018
    Date of Patent: March 31, 2020
    Assignee: Apptimize LLC
    Inventors: Jeff DiTullio, Michael Ryan Fenton, James Brandon Koppel, Timothy D. Lundeen
  • Publication number: 20190235881
    Abstract: Techniques to facilitate acquisition of analytics associated with an application are disclosed herein. In at least one implementation, an analytics function call from main program code of the application to a third party analytics function is monitored. Responsive to the analytics function call, the analytics function call is intercepted and a call handler function is invoked instead of the third party analytics function. The call handler function processes the analytics function call to extract analytics data from the analytics function call. A copy of the third party analytics function is then called.
    Type: Application
    Filed: April 11, 2019
    Publication date: August 1, 2019
    Applicant: Apptimize, Inc.
    Inventors: Michael L. Poon, Roberto Carli, James Brandon Koppel
  • Patent number: 10282216
    Abstract: Techniques to facilitate acquisition of analytics data in a mobile application are disclosed herein. In at least one implementation, a software module of the mobile application monitors for an analytics function call from main program code to third party analytics code. The analytics function call is intercepted to redirect the analytics function call to a call handler function. The call handler function processes the analytics function call to extract analytics data from the analytics function call. The analytics function call is then passed to the third party analytics code.
    Type: Grant
    Filed: July 15, 2016
    Date of Patent: May 7, 2019
    Assignee: Apptimize, Inc.
    Inventors: Michael L. Poon, Roberto Carli, James Brandon Koppel
  • Publication number: 20190065218
    Abstract: Techniques to bypass system context checks to facilitate opening shared-object libraries are disclosed herein. In at least one implementation, a copy of a header of a shared-object library loaded by a runtime system is created. The header of the shared-object library loaded by the runtime system is patched with code configured to call an open function, wherein the code patched into the header of the shared-object library executes and calls the open function from the shared-object library loaded by the runtime system, the call to the open function is recognized as within a context of the runtime system, and the shared-object library is allowed to be opened. A pointer to the shared-object library opened in memory is received, and the header of the shared-object library is restored to an original version using the copy of the header of the shared-object library.
    Type: Application
    Filed: August 24, 2018
    Publication date: February 28, 2019
    Inventors: Jeff DiTullio, Michael Ryan Fenton, James Brandon Koppel, Timothy D. Lundeen
  • Publication number: 20190065223
    Abstract: Techniques to facilitate prevention of just-in-time (JIT) translations of application functions are disclosed herein. In at least one implementation, a JIT translation function of an operating system is modified in memory to redirect the JIT translation function to execute alternative code when the JIT translation function is called. When the JIT translation function is called for an application function, the alternative code is executed to determine whether the application function has been modified. When the alternative code determines that the application function has been modified, the JIT translation function is prevented from translating the application function into a native machine code version. When the alternative code determines that the application function has not been modified, the JIT translation function is allowed to translate the application function into the native machine code version.
    Type: Application
    Filed: August 24, 2018
    Publication date: February 28, 2019
    Inventors: Jeff DiTullio, Michael Ryan Fenton, James Brandon Koppel, Timothy D. Lundeen
  • Publication number: 20170017528
    Abstract: Implementations are disclosed herein for enhancing swizzling technology. In at least one implementation, functions are hooked by modifying their machine code implementations to jump to a central callback function. The central callback function may then route to other target functions that serve to replace the hooked functions. In another implementation, the machine code implementations are modified to jump to intermediate functions. The intermediate functions invoke dispatch functions that can call into a central callback function. The central callback function may return to the hooked functions.
    Type: Application
    Filed: September 30, 2016
    Publication date: January 19, 2017
    Inventors: Nancy Hua, James Brandon Koppel, Jeremy Nelson Orlow
  • Publication number: 20170017483
    Abstract: Techniques to facilitate acquisition of analytics data in a mobile application are disclosed herein. In at least one implementation, a software module of the mobile application monitors for an analytics function call from main program code to third party analytics code. The analytics function call is intercepted to redirect the analytics function call to a call handler function. The call handler function processes the analytics function call to extract analytics data from the analytics function call. The analytics function call is then passed to the third party analytics code.
    Type: Application
    Filed: July 15, 2016
    Publication date: January 19, 2017
    Inventors: Michael L. Poon, Roberto Carli, James Brandon Koppel
  • Patent number: 9483283
    Abstract: Implementations are disclosed herein for enhancing swizzling technology. In at least one implementation, functions are hooked by modifying their machine code implementations to jump to a central callback function. The central callback function may then route to other target functions that serve to replace the hooked functions. In another implementation, the machine code implementations are modified to jump to intermediate functions. The intermediate functions invoke dispatch functions that can call into a central callback function. The central callback function may return to the hooked functions.
    Type: Grant
    Filed: November 19, 2015
    Date of Patent: November 1, 2016
    Assignee: Apptimize, Inc.
    Inventors: Nancy Hua, James Brandon Koppel, Jeremy Nelson Orlow