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: 11860996Abstract: 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: GrantFiled: April 5, 2019Date of Patent: January 2, 2024Assignee: Apple Inc.Inventors: Filip J. Pizlo, Yin Zin Mark Lam, Jean-Francois Bastien, Michael L. Saboff
-
Publication number: 20230421354Abstract: 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: ApplicationFiled: May 31, 2023Publication date: December 28, 2023Applicant: Apple Inc.Inventors: Yin Zin Mark Lam, Jeff Gonion
-
Patent number: 11709675Abstract: 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: GrantFiled: June 15, 2021Date of Patent: July 25, 2023Assignee: 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: 20220138313Abstract: 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: ApplicationFiled: June 15, 2021Publication date: May 5, 2022Inventors: Filip J. Pizlo, Michael L. Saboff, Bernard J. Semeria, Jacques Fortier, Ivan Krstic, Yusuke Suzuki, Saam J. Barati, Yin Zin Mark Lam
-
Patent number: 9027011Abstract: 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: GrantFiled: August 31, 2006Date of Patent: May 5, 2015Assignee: Oracle America, Inc.Inventors: Yin Zin Mark Lam, Dean R. E. Long
-
Patent number: 8880652Abstract: 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: GrantFiled: September 14, 2011Date of Patent: November 4, 2014Assignee: Hewlett-Packard Development Company, L.P.Inventor: Yin Zin Mark Lam
-
Patent number: 8566812Abstract: 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: GrantFiled: August 31, 2006Date of Patent: October 22, 2013Assignee: Oracle America, Inc.Inventors: Antonios Printezis, Yin Zin Mark Lam
-
Patent number: 8533710Abstract: 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: GrantFiled: August 31, 2006Date of Patent: September 10, 2013Assignee: Oracle America, Inc.Inventors: Dean R. E. Long, Yin Zin Mark Lam
-
Publication number: 20130067170Abstract: 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: ApplicationFiled: September 14, 2011Publication date: March 14, 2013Inventor: Yin Zin Mark Lam
-
Patent number: 8176491Abstract: 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: GrantFiled: August 4, 2006Date of Patent: May 8, 2012Assignee: Oracle America, Inc.Inventors: Christopher J. Plummer, Yin Zin Mark Lam
-
Publication number: 20110298830Abstract: 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: ApplicationFiled: June 7, 2010Publication date: December 8, 2011Applicant: PALM, INC.Inventor: Yin Zin Mark Lam
-
Patent number: 7886300Abstract: 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: GrantFiled: September 26, 2006Date of Patent: February 8, 2011Assignee: Oracle America, Inc. formerly known as Sun Microsystems, Inc.Inventors: Dean R. E. Long, Yin Zin Mark Lam, Jiangli Zhou
-
Patent number: 7421687Abstract: 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: GrantFiled: September 9, 2004Date of Patent: September 2, 2008Assignee: Sun Microsystems, Inc.Inventors: Frank N. Yellin, Yin Zin Mark Lam
-
Patent number: 6168520Abstract: 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: GrantFiled: July 30, 1998Date of Patent: January 2, 2001Assignee: International Game TechnologyInventors: Anthony J. Baerlocher, Robert W. Crowder, Jr., Yin Zin Mark Lam
-
Patent number: 6162121Abstract: 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: GrantFiled: November 30, 1998Date of Patent: December 19, 2000Assignee: International Game TechnologyInventors: Stephen W. Morro, Anthony J. Baerlocher, Robert W. Crowder, Jr., Yin Zin Mark Lam