Patents by Inventor Arvind Krishnaswamy

Arvind Krishnaswamy 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: 20240403411
    Abstract: Various embodiments include methods and devices for maintaining control flow integrity in computing devices. Embodiments may include identifying indirect function call candidate functions from a source code by a compiler, replacing, by the compiler, an indirect function call from the source code with a call to a wrapper function, and collocating the indirect function call candidate functions in at least one range of addresses of memory by a linker. The wrapper function may be configured to determine whether an address to be passed to the indirect function call is within the at least one range of addresses of memory.
    Type: Application
    Filed: November 17, 2022
    Publication date: December 5, 2024
    Inventors: Sundeep KUSHWAHA, Arvind KRISHNASWAMY, Sergei LARIN, Can ACAR, Tianshuo SU, Awanish PANDEY, Richard SENIOR
  • Patent number: 11599625
    Abstract: Methods, systems, and devices for techniques for instruction perturbation for improved device security are described. A device may assign a set of executable instructions to an instruction packet based on a parameter associated with the instruction packet, and each executable instruction of the set of executable instructions may be independent from other executable instructions of the set of executable instructions. The device may select an order of the set of executable instructions based on a slot instruction rule associated with the device, and each executable instruction of the set of executable instructions may correspond to a respective slot associated with memory of the device. The device may modify the order of the set of executable instructions in a memory hierarchy post pre-decode based on the slot instruction rule and process the set of executable instructions of the instruction packet based on the modified order.
    Type: Grant
    Filed: January 28, 2021
    Date of Patent: March 7, 2023
    Assignee: QUALCOMM Incorporated
    Inventors: Arvind Krishnaswamy, Suresh Kumar Venkumahanti, Charles Tabony
  • Publication number: 20220237283
    Abstract: Methods, systems, and devices for techniques for instruction perturbation for improved device security are described. A device may assign a set of executable instructions to an instruction packet based on a parameter associated with the instruction packet, and each executable instruction of the set of executable instructions may be independent from other executable instructions of the set of executable instructions. The device may select an order of the set of executable instructions based on a slot instruction rule associated with the device, and each executable instruction of the set of executable instructions may correspond to a respective slot associated with memory of the device. The device may modify the order of the set of executable instructions in a memory hierarchy post pre-decode based on the slot instruction rule and process the set of executable instructions of the instruction packet based on the modified order.
    Type: Application
    Filed: January 28, 2021
    Publication date: July 28, 2022
    Inventors: Arvind KRISHNASWAMY, Suresh Kumar VENKUMAHANTI, Charles TABONY
  • Patent number: 11386012
    Abstract: Various embodiments include methods and devices for generating a memory map configured to map virtual addresses of pages to physical addresses, in which pages of a same size are grouped into regions. The embodiments may include adding a first entry for a first additional page to a first region in the memory map, shifting virtual addresses of the first region to accommodate a shift of virtual addresses of the first region allocated for code by a sub-page granular shift amount, mapping shifted virtual addresses of the first entry for the first additional page to physical address mapped to a first lowest shifted virtually addressed page of the first region, and shifting the virtual addresses of the first region allocated for code by a sub-page granular shift amount, in which the virtual addresses of the first region allocated for code partially shift into the first entry for the first additional page.
    Type: Grant
    Filed: March 15, 2021
    Date of Patent: July 12, 2022
    Assignee: QUALCOMM Incorporated
    Inventors: Arvind Krishnaswamy, Richard Senior, Sundeep Kushwaha, Can Acar
  • Publication number: 20200020330
    Abstract: Techniques for operating a voice-activated computing device are provided. These techniques can be used to prevent voice-based attacks on such devices. An example method according to these techniques includes receiving audio content comprising a voice command, monitoring electromagnetic (EM) emissions using an EM detector of the voice-activated computing device, determining whether the audio content comprising the voice command was generated electronically or was issued by a human user based on the EM emissions detected while receiving the audio content comprising the voice command, and preventing the voice command from being executed by the voice-activated computing device responsive to determining that the voice command was generated electronically.
    Type: Application
    Filed: July 16, 2018
    Publication date: January 16, 2020
    Inventors: Xu GUO, Arvind KRISHNASWAMY, Liang CAI, Nabanita SEN, Jyotsna KRISHNASWAMY, Kenneth CHEN
  • Patent number: 10114643
    Abstract: Various embodiments are generally directed to techniques to detect a return-oriented programming (ROP) attack by verifying target addresses of branch instructions during execution. An apparatus includes a processor component, and a comparison component for execution by the processor component to determine whether there is a matching valid target address for a target address of a branch instruction associated with a translated portion of a routine in a table comprising valid target addresses. Other embodiments are described and claimed.
    Type: Grant
    Filed: May 23, 2013
    Date of Patent: October 30, 2018
    Assignee: INTEL CORPORATION
    Inventors: Koichi Yamada, Palanivelra Shanmugavelayutham, Arvind Krishnaswamy, Jason M. Agron, Jiwei Lu
  • Patent number: 10061609
    Abstract: A method and system uses exceptions for code specialization in a system that supports transactions. The method and system includes inserting one or more branchless instructions into a sequence of computer instructions. The branchless instructions include one or more instructions that are executable if a commonly occurring condition is satisfied and include one or more instructions that are configured to raise an exception if the commonly occurring condition is not satisfied.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: August 28, 2018
    Assignee: Intel Corporation
    Inventors: Arvind Krishnaswamy, Daniel M. Lavery
  • Patent number: 10055585
    Abstract: Technologies for assembling an execution profile of an event are disclosed. The technologies may include monitoring the event for a branch instruction, generating a callback to a security module upon execution of the branch instruction, filtering the callback according to a plurality of event identifiers, and validating a code segment associated with the branch instruction, the code segment including code executed before the branch instruction and code executed after the branch instruction.
    Type: Grant
    Filed: August 28, 2013
    Date of Patent: August 21, 2018
    Assignee: McAfee, LLC
    Inventors: Greg William Dalcher, Ravi L. Sahita, Palanivelra Shanmugavelayutham, Koichi Yamada, Arvind Krishnaswamy
  • Patent number: 9880842
    Abstract: A mechanism for tracking the control flow of instructions in an application and performing one or more optimizations of a processing device, based on the control flow of the instructions in the application, is disclosed. Control flow data is generated to indicate the control flow of blocks of instructions in the application. The control flow data may include annotations that indicate whether optimizations may be performed for different blocks of instructions. The control flow data may also be used to track the execution of the instructions to determine whether an instruction in a block of instructions is assigned to a thread, a process, and/or an execution core of a processor, and to determine whether errors have occurred during the execution of the instructions.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: January 30, 2018
    Assignee: Intel Corporation
    Inventors: Jayaram Bobba, Ruchira Sasanka, Jeffrey J. Cook, Abhinav Das, Arvind Krishnaswamy, David J. Sager, Jason M. Agron
  • Patent number: 9672351
    Abstract: A method of producing a control stack includes: writing a plurality of control information entries into a control stack buffer that is internal to a processor in response to one or more function calls; and in response to the control stack buffer being full and receiving a further function call, writing: the plurality of control information entries to an external memory that is external to the processor; and a further control information entry, corresponding to the further function call, to the control stack buffer.
    Type: Grant
    Filed: February 2, 2015
    Date of Patent: June 6, 2017
    Assignee: QUALCOMM Incorporated
    Inventors: Arvind Krishnaswamy, Can Acar, Robert Turner
  • Publication number: 20170046165
    Abstract: A method and system uses exceptions for code specialization in a system that supports transactions. The method and system includes inserting one or more branchless instructions into a sequence of computer instructions. The branchless instructions include one or more instructions that are executable if a commonly occurring condition is satisfied and include one or more instructions that are configured to raise an exception if the commonly occurring condition is not satisfied.
    Type: Application
    Filed: October 31, 2016
    Publication date: February 16, 2017
    Inventors: Arvind Krishnaswamy, Daniel M. Lavery
  • Patent number: 9514305
    Abstract: Techniques for enforcing flow control of a software program in a processor are provided. An example method according to these techniques includes analyzing program code of the software program to identify a code pointer in the program code, generating an authentication tag based on the code pointer, and modifying the code pointer in the program code with the authentication tag to generate a tagged code pointer.
    Type: Grant
    Filed: October 17, 2014
    Date of Patent: December 6, 2016
    Assignee: QUALCOMM Incorporated
    Inventors: Can Acar, Arvind Krishnaswamy, Robert Turner
  • Patent number: 9483275
    Abstract: A method and system uses exceptions for code specialization in a system that supports transactions. The method and system includes inserting one or more branchless instructions into a sequence of computer instructions. The branchless instructions include one or more instructions that are executable if a commonly occurring condition is satisfied and include one or more instructions that are configured to raise an exception if the commonly occurring condition is not satisfied.
    Type: Grant
    Filed: December 16, 2011
    Date of Patent: November 1, 2016
    Assignee: Intel Corporation
    Inventors: Arvind Krishnaswamy, Daniel M Lavery
  • Publication number: 20160224784
    Abstract: A method of producing a control stack includes: writing a plurality of control information entries into a control stack buffer that is internal to a processor in response to one or more function calls; and in response to the control stack buffer being full and receiving a further function call, writing: the plurality of control information entries to an external memory that is external to the processor; and a further control information entry, corresponding to the further function call, to the control stack buffer.
    Type: Application
    Filed: February 2, 2015
    Publication date: August 4, 2016
    Inventors: Arvind KRISHNASWAMY, Can ACAR, Robert TURNER
  • Publication number: 20160110545
    Abstract: Techniques for enforcing flow control of a software program in a processor are provided. An example method according to these techniques includes analyzing program code of the software program to identify a code pointer in the program code, generating an authentication tag based on the code pointer, and modifying the code pointer in the program code with the authentication tag to generate a tagged code pointer.
    Type: Application
    Filed: October 17, 2014
    Publication date: April 21, 2016
    Inventors: Can ACAR, Arvind KRISHNASWAMY, Robert TURNER
  • Patent number: 9189233
    Abstract: Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program into multiple parallel threads are described. For example, a method according to one embodiment comprises: analyzing a single-threaded region of executing program code, the analysis including identifying dependencies within the single-threaded region; determining portions of the single-threaded region of executing program code which may be executed in parallel based on the analysis; assigning the portions to two or more parallel execution tracks; and executing the portions in parallel across the assigned execution tracks.
    Type: Grant
    Filed: June 26, 2012
    Date of Patent: November 17, 2015
    Assignee: INTEL CORPORATION
    Inventors: Ruchira Sasanka, Abhinav Das, Jeffrey J. Cook, Jayaram Bobba, Arvind Krishnaswamy, David J. Sager, Suresh Srinivas
  • Patent number: 9171688
    Abstract: Devices for use in cold-field emission and methods of forming the device are generally presented. In one example, a method may include providing a conductive base, dispersing carbon-filled acrylic onto the conductive base to form a conductive film, coupling a copper plate to a first side of the conductive film, and irradiating the conductive film. The method may further include dispersing carbon nanotubes (CNTs) on a second side of the conductive film to form a substantially uniform layer of CNTs, removing excess CNTs from the second side, and curing the conductive film. In one example, a device may include a polycarbonate base, a layer of carbon-filled acrylic on one side of the polycarbonate base and a layer of irradiated carbon-filled acrylic on the other, a copper plate coupled to the carbon-filled acrylic, and a substantially uniform layer of randomly aligned CNTs dispersed on the irradiated carbon-filled acrylic.
    Type: Grant
    Filed: April 14, 2011
    Date of Patent: October 27, 2015
    Assignee: Indian Institute of Science
    Inventors: Sandeep Venkit Anand, Arvind Krishnaswamy, Debiprosad Roy Mahapatra
  • Patent number: 9171159
    Abstract: In an embodiment, a processor includes a binary translation engine to receive a code segment, to generate a binary translation of the code segment, and to store the binary translation in a translation cache, where the binary translation includes at least one policy check routine to be executed during execution of the binary translation on behalf of a security agent. Other embodiments are described and claimed.
    Type: Grant
    Filed: February 28, 2013
    Date of Patent: October 27, 2015
    Assignee: Intel Corporation
    Inventors: Palanivelrajan R. Shanmugavelayutham, Koichi Yamada, Ravi Sahita, Arvind Krishnaswamy
  • Patent number: 9135435
    Abstract: This disclosure is directed to binary translator driven program state relocation. In general, a device may protect vulnerable program functions by setting them as non-executable. If an attempt is made to execute a protected program function, the program may trap to a binary translator in the device that may be configured to relocate program state from what has already been established (e.g., on a stack register). Program state may include resources (e.g., memory locations) used by the program during the course of execution. The binary translator may then translate the program into an executable form based on the relocated program state, and may be executed accordingly. Intruding code that attempts to overcome normal program execution and implement hostile operations (e.g., based the program state that is reflected in the stack register) will not function as intended since the relocated program state will cause unexpected results.
    Type: Grant
    Filed: February 13, 2013
    Date of Patent: September 15, 2015
    Assignee: Intel Corporation
    Inventors: Ashish Venkat, Arvind Krishnaswamy, Koichi Yamada, Palanivelrajan Rajan Shanmugavelayutham
  • Patent number: 9013092
    Abstract: Energy harvesting elements or membranes are provided that use a layer of electrodes with a mixture of carbon nanotubes (CNT). The energy harvesting device of this type can be used as in sensor-based system in which on application of a bending load, the energy harvesting device produces a voltage across the electrodes. The energy harvesting device may include an electrode coating including carbon nanotubes (CNT) substantially homogenously dispersed in epoxy resin system to form a CNT-epoxy electrode coating. The CNT-epoxy electrode can be realized by dispersing about 5% CNT (by weight) in an epoxy-resin system, followed by mixing the system to achieve a near-homogenous dispersion resulting in a CNT-epoxy mixture. The CNT-epoxy mixture can then be uniformly coated on surfaces of a polymer to form electrodes.
    Type: Grant
    Filed: November 22, 2010
    Date of Patent: April 21, 2015
    Assignee: Indian Institute of Science
    Inventors: Debiprosad Roy Mahapatra, Arvind Krishnaswamy