Patents by Inventor Yin Zin Mark Lam

Yin Zin Mark Lam 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).

  • Patent number: 11860996
    Abstract: Embodiments described herein provide for virtual machine (VM) based exploit mitigation techniques that can be used to harden web content frameworks and JavaScript Engines. Some embodiments described herein are also generally applicable to other system frameworks, libraries, and program code that executes on a processor that is vulnerable to an attack using a security exploit. Program code that implements the techniques described herein can prevent the use of security exploit attacks to bypass security properties within the program code.
    Type: Grant
    Filed: April 5, 2019
    Date of Patent: January 2, 2024
    Assignee: Apple Inc.
    Inventors: Filip J. Pizlo, Yin Zin Mark Lam, Jean-Francois Bastien, Michael L. Saboff
  • Publication number: 20230421354
    Abstract: In an embodiment, a processor includes hardware circuitry which may be used to detect that a return address has been modified since it was generated. In response to detecting the modification, the processor may be configured to signal an exception or otherwise initiate error handling to prevent execution at the modified return address. In an embodiment, the processor may perform a cryptographic signature operation on the return address to generate a signed return address, and the signature may be verified before the address is used as a return target.
    Type: Application
    Filed: May 31, 2023
    Publication date: December 28, 2023
    Applicant: Apple Inc.
    Inventors: Yin Zin Mark Lam, Jeff Gonion
  • Patent number: 11709675
    Abstract: In an embodiment, dynamically-generated code may be supported in the system by ensuring that the code either remains executing within a predefined region of memory or exits to one of a set of valid exit addresses. Software embodiments are described in which the dynamically-generated code is scanned prior to permitting execution of the dynamically-generated code to ensure that various criteria are met including exclusion of certain disallowed instructions and control of branch target addresses. Hardware embodiments are described in which the dynamically-generated code is permitted to executed but is monitored to ensure that the execution criteria are met.
    Type: Grant
    Filed: June 15, 2021
    Date of Patent: July 25, 2023
    Assignee: Apple Inc.
    Inventors: Filip J. Pizlo, Michael L. Saboff, Bernard J. Semeria, Jacques Fortier, Ivan Krstić, Yusuke Suzuki, Saam J. Barati, Yin Zin Mark Lam
  • Publication number: 20220138313
    Abstract: In an embodiment, dynamically-generated code may be supported in the system by ensuring that the code either remains executing within a predefined region of memory or exits to one of a set of valid exit addresses. Software embodiments are described in which the dynamically-generated code is scanned prior to permitting execution of the dynamically-generated code to ensure that various criteria are met including exclusion of certain disallowed instructions and control of branch target addresses. Hardware embodiments are described in which the dynamically-generated code is permitted to executed but is monitored to ensure that the execution criteria are met.
    Type: Application
    Filed: June 15, 2021
    Publication date: May 5, 2022
    Inventors: Filip J. Pizlo, Michael L. Saboff, Bernard J. Semeria, Jacques Fortier, Ivan Krstic, Yusuke Suzuki, Saam J. Barati, Yin Zin Mark Lam
  • Patent number: 9027011
    Abstract: One embodiment of the present invention provides a system that profiles software code to dynamically tune a virtual machine for responsiveness and/or throughput. First, the system profiles software code to track a need for a higher level of responsiveness and/or throughput. The system then gathers statistics for system behavior through the profiling techniques while executing the profiled software code, and uses these statistics to dynamically tune a virtual machine.
    Type: Grant
    Filed: August 31, 2006
    Date of Patent: May 5, 2015
    Assignee: Oracle America, Inc.
    Inventors: Yin Zin Mark Lam, Dean R. E. Long
  • Patent number: 8880652
    Abstract: A method and computer readable medium are disclosed for predictive caching of web pages for display through a screen of a mobile computing device. A load request is received at a mobile computing device, where the load request includes a current timestamp and an address. The address points to a remote server storing a current copy of the address content. The mobile computing device determines whether there is an existing copy of the address content is pre-cached on the mobile computing device. The mobile computing device determines whether a difference between the current timestamp and a pre-cache timestamp is greater than a heuristic timeliness value. If it is, the mobile computing device pre-caches the current copy of the address content from the remove server at the address on the mobile computing device. The mobile computing device then provides the current copy of the address content for display on its screen.
    Type: Grant
    Filed: September 14, 2011
    Date of Patent: November 4, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Yin Zin Mark Lam
  • Patent number: 8566812
    Abstract: One embodiment of the present invention provides a system that uses observed object patterns to dynamically tune a virtual machine for responsiveness and/or throughput. The system first analyzes a memory region containing a set of objects to identify objects in the memory region that indicate the need for responsiveness and/or throughput. The system gathers statistics based on the identified and unidentified objects in the set of objects, and then uses these statistics to dynamically tune a virtual machine.
    Type: Grant
    Filed: August 31, 2006
    Date of Patent: October 22, 2013
    Assignee: Oracle America, Inc.
    Inventors: Antonios Printezis, Yin Zin Mark Lam
  • Patent number: 8533710
    Abstract: One embodiment of the present invention provides a system that uses observed thread activity to dynamically tune a virtual machine for responsiveness and/or throughput. During operation, the system observes the activity of a thread to determine whether the thread needs responsiveness and/or throughput. Next, the system gathers statistics for the thread based on these observations of thread activity, and then uses these statistics to dynamically tune a virtual machine upon which the thread will execute.
    Type: Grant
    Filed: August 31, 2006
    Date of Patent: September 10, 2013
    Assignee: Oracle America, Inc.
    Inventors: Dean R. E. Long, Yin Zin Mark Lam
  • Publication number: 20130067170
    Abstract: A method and computer readable medium are disclosed for predictive caching of web pages for display through a screen of a mobile computing device. A load request is received at a mobile computing device, where the load request includes a current timestamp and an address. The address points to a remote server storing a current copy of the address content. The mobile computing device determines whether there is an existing copy of the address content is pre-cached on the mobile computing device. The mobile computing device determines whether a difference between the current timestamp and a pre-cache timestamp is greater than a heuristic timeliness value. If it is, the mobile computing device pre-caches the current copy of the address content from the remove server at the address on the mobile computing device. The mobile computing device then provides the current copy of the address content for display on its screen.
    Type: Application
    Filed: September 14, 2011
    Publication date: March 14, 2013
    Inventor: Yin Zin Mark Lam
  • Patent number: 8176491
    Abstract: A mechanism is disclosed for implementing fast synchronization of simple synchronized methods in a virtual machine. The mechanism provides for determining, during runtime, whether a set of instructions can be fully executed in lieu of invoking a synchronized method, which requires locking of a particular object. The set of instructions provides equivalent functionality to the synchronized method but with less locking overhead. In response to a determination that the set of instructions can be fully executed, the set of instructions is fully executed to achieve equivalent functionality to the synchronized method in lieu of invoking the synchronized method. In response to a determination that the set of instructions cannot be fully executed, the synchronized method is invoked. With this mechanism, simple synchronized methods can be executed with less locking overhead.
    Type: Grant
    Filed: August 4, 2006
    Date of Patent: May 8, 2012
    Assignee: Oracle America, Inc.
    Inventors: Christopher J. Plummer, Yin Zin Mark Lam
  • Publication number: 20110298830
    Abstract: A method and computer readable medium are disclosed for re-sizing screen content of a user interface comprising an initial view displayed within a touch-sensitive screen. A double tap and hold interaction is detected on the screen at an initial location. A drag interaction is detected, where the drag interaction comprises maintaining contact across the screen in an initial direction. A release interaction is detected, where the release interaction comprises a final location where interaction on the screen is detected. A zoom factor is determined based upon the initial location, the final location, and the initial direction. A zoomed view is generated using the zoom factor, where the zoomed view changes a proportion of the screen filled by an area surrounding the initial location relative to the initial view. Finally, the zoomed view of the screen content is provided for display on the screen.
    Type: Application
    Filed: June 7, 2010
    Publication date: December 8, 2011
    Applicant: PALM, INC.
    Inventor: Yin Zin Mark Lam
  • Patent number: 7886300
    Abstract: A mechanism is disclosed for implementing fast locking in a multi-threaded system. This mechanism enables fast locking to be performed even on an operating system platform that does not allow one thread to assign ownership of a lock on a mutex to another thread. In addition, the mechanism performs locking in a manner that ensures priority correctness and is low-memory safe. In one implementation, the priority correctness is achieved by using operating system mutexes to implement locking, and the low-memory safe aspect is achieved by pre-allocating a memory section to each thread. This pre-allocated memory section ensures that a thread will have sufficient memory to obtain a lock, even when a system is in a low-memory state. With this mechanism, it is possible to implement locking in a safe and efficient manner.
    Type: Grant
    Filed: September 26, 2006
    Date of Patent: February 8, 2011
    Assignee: Oracle America, Inc. formerly known as Sun Microsystems, Inc.
    Inventors: Dean R. E. Long, Yin Zin Mark Lam, Jiangli Zhou
  • Patent number: 7421687
    Abstract: A Java virtual machine includes a just in time (JIT) Java compiler. The JIT compiler includes at least one optimizer. Each of the at least one optimizer includes logic for recognizing a pattern in a received Java byte code, logic for optimizing the recognized pattern to produce optimized native code and logic for outputting optimized native code. A method of producing optimized native code is also provided.
    Type: Grant
    Filed: September 9, 2004
    Date of Patent: September 2, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Frank N. Yellin, Yin Zin Mark Lam
  • Patent number: 6168520
    Abstract: A computer implemented electronic game includes a wheel of fortune game with odds of a jackpot greatly in excess of the number of indicia on a simulated wheel. In one embodiment, a virtual mapping allows a bonus indicium of the wheel to be given a 1:M chance of being landed on, even though the bonus position is one of N positions on the simulated wheel. A random number L is chosen between 1 and M and this number is mapped to a number between 1 and N. The display of the wheel if controlled to simulate stopping of the wheel at the Ith indicium where L is mapped to I. In one embodiment, by using successive wheel spins, the odds of moving to the next round are multiplied to achieve an overall odds of winning a jackpot.
    Type: Grant
    Filed: July 30, 1998
    Date of Patent: January 2, 2001
    Assignee: International Game Technology
    Inventors: Anthony J. Baerlocher, Robert W. Crowder, Jr., Yin Zin Mark Lam
  • Patent number: 6162121
    Abstract: A computer-implemented game includes a wheel of fortune portion. The wheel is positioned in a location spaced from the main game housing. In this way even relatively large wheels can be provided without undesirable dimensional enlargement of the main housing.
    Type: Grant
    Filed: November 30, 1998
    Date of Patent: December 19, 2000
    Assignee: International Game Technology
    Inventors: Stephen W. Morro, Anthony J. Baerlocher, Robert W. Crowder, Jr., Yin Zin Mark Lam