Patents by Inventor Pradeep Varma
Pradeep Varma 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: 20230061694Abstract: An electric power delivery system may include a number of electric power generators and loads distributed across a number of islands (e.g., branches). The electric power delivery system may also include reactors between each two islands of the electric power delivery system that may allow current flow between the islands. However, excessive current flow across the reactors may cause system failure and is undesirable. Accordingly, systems and methods are described to control reactive power and active power generation and consumption of the electric power delivery system to reduce (e.g., minimize) the current flow across the reactors.Type: ApplicationFiled: August 25, 2021Publication date: March 2, 2023Applicant: Schweitzer Engineering Laboratories, Inc.Inventors: Maaz Syed Muhammad Kazmi, Pradeep Varma Sangaraju, Ashish Upreti
-
Publication number: 20170031815Abstract: Boxed pointers are disclosed, for all pointers, for safe and sequential or parallel use. Since a pointer box can be arbitrarily large, it supports any fat pointer encoding possible. The boxed pointers are managed out of the same heap or stack space as ordinary objects, providing scalability by a shared use of the entire program memory. The boxed pointers and objects are managed together by the same parallel, safe, memory management system including an optional precise, parallel garbage collector. To manage boxes independently of the garbage collector, explicit allocation and de-allocation means are provided including explicit killing of boxes using immediate or deferred frees. The entire system is constructed out of atomic registers as the sole shared memory primitive, avoiding all synchronization primitives and related expenses. Atomic pointer operations including pointer creation or deletion (malloc or free) are provided.Type: ApplicationFiled: October 30, 2015Publication date: February 2, 2017Inventor: Pradeep Varma
-
Publication number: 20160364707Abstract: A system and method for self-policed, authenticated, offline/online, viral marketing and distribution of content such as software, text, and multimedia with effective copyright and license enforcement and secure selling. The system is based on key and cryptography hiding techniques, using source-to-source transformation for efficient, holistic steganography that systematically inflates and hides critical code by: computation interleaving; flattening procedure calls and obfuscating stack by de-stacking arguments; obfuscating memory management; and encoding scalars as pointers to managed structures that may be distributed and migrated all over the heap using garbage collection. Multimedia/text content may be partitioned and sold with expiry dates for protection and updates for long life. Authenticity of software installed on a machine may be monitored and ensured, supporting even authentic software deployment in an unknown environment.Type: ApplicationFiled: October 30, 2015Publication date: December 15, 2016Inventor: Pradeep Varma
-
Publication number: 20160292071Abstract: A method of memory management can include creating an initial root set of pointers for a program during execution of the program and performing a marking process by iteratively marking referred objects of each pointer of the root set and expanding the root set with filtered, encoded pointers. The method also can include identifying each non-live object for any marked object as red-marked and performing, using a processor, a re-marking process on the root set in which red-marked objects are excluded. Each object of the root set not marked can be designated as including a memory leak.Type: ApplicationFiled: June 17, 2016Publication date: October 6, 2016Inventor: Pradeep Varma
-
Patent number: 9378138Abstract: A method of memory management can include creating an initial root set of pointers for a program during execution of the program and performing a marking process by iteratively marking referred objects of each pointer of the root set and expanding the root set with filtered, encoded pointers. The method also can include identifying each non-live object for any marked object as red-marked and performing, using a processor, a re-marking process on the root set in which red-marked objects are excluded. Each object of the root set not marked can be designated as including a memory leak.Type: GrantFiled: June 29, 2011Date of Patent: June 28, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Pradeep Varma
-
Publication number: 20160048378Abstract: A method and system for enabling independent or separate compilation of a program in a memory access and management system including one or more intraprocedural static analyses including an analysis with a first step mapping layouts or types to keys locally, file-by-file, obliviously followed by a second step providing a re-mapping of the layouts to keys globally, cognizant of all files in a program.Type: ApplicationFiled: March 29, 2014Publication date: February 18, 2016Inventor: Pradeep VARMA
-
Publication number: 20150293752Abstract: A concurrent, wait-free compiler/compiler front-end for C/C++ and other programming languages, comprising parallel stages that carry out the steps of character translation, line translation, macro rewriting, lexing, parsing, and handling errors in input text and translating it to an object form, with features including (a) long lexenes, (b) display modifiers, (c) look ahead isolation, (d) line-by-line processing followed by tokenization, (e) complete error handlers, and/or (f) precise and inline context switches.Type: ApplicationFiled: March 30, 2015Publication date: October 15, 2015Inventor: Pradeep Varma
-
Publication number: 20150227414Abstract: A memory and access management system for reducing memory access errors or management errors or runtime errors while dynamically allocating, moving or de-allocating memory to one or more objects of an application program is disclosed. The object may have a data part containing one or more values and a pointer part containing one or more pointers. The system may include a heap memory pool containing memory space to be assigned to the object and a processor for reading the pointer part. An interface coupled with the processor may be provided for dynamically allocating, moving or de-allocating the data part of the object to defragment, manage or optimize the heap memory pool and updating the address location of the data part contained in one or more pointers upon moving the data part, thereby reducing memory access errors, management errors or runtime errors while allocating, moving or de-allocating memory to the object.Type: ApplicationFiled: August 24, 2013Publication date: August 13, 2015Inventor: Pradeep Varma
-
Patent number: 8949809Abstract: A system and associated method for automatically pipeline parallelizing a nested loop in sequential code over a predefined number of threads. Pursuant to task dependencies of the nested loop, each subloop of the nested loop are allocated to a respective thread. Combinations of stage partitions executing the nested loop are configured for parallel execution of a subloop where permitted. For each combination of stage partitions, a respective bottleneck is calculated and a combination with a minimum bottleneck is selected for parallelization.Type: GrantFiled: March 1, 2012Date of Patent: February 3, 2015Assignee: International Business Machines CorporationInventors: Pradeep Varma, Manish Gupta, Monika Gupta, Naga Praveen Kumar Katta
-
Patent number: 8566801Abstract: Techniques for generating concurrent static single assignment (CSSA) are provided. The techniques include generating a clocked control flow graph of a program, for each thread of the program created through async instruction, determining each part of the program that can execute concurrently with each thread to create a pair comprising a thread and a parallel program part, for each pair that can execute concurrently, using one or more flow equations to perform node-by-node matching, and using the node-by-node matching to generate CSSA form for the program.Type: GrantFiled: May 22, 2009Date of Patent: October 22, 2013Assignee: International Business Machines CorporationInventors: Harshit J. Shah, Rudrapatna Kallikote Shyamasundar, Pradeep Varma
-
Publication number: 20130232476Abstract: A system and associated method for automatically pipeline parallelizing a nested loop in sequential code over a predefined number of threads. Pursuant to task dependencies of the nested loop, each subloop of the nested loop are allocated to a respective thread. Combinations of stage partitions executing the nested loop are configured for parallel execution of a subloop where permitted. For each combination of stage partitions, a respective bottleneck is calculated and a combination with a minimum bottleneck is selected for parallelization.Type: ApplicationFiled: March 1, 2012Publication date: September 5, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Pradeep Varma, Manish Gupta, Monika Gupta, Naga Praveen Kumar Katta
-
Publication number: 20130007073Abstract: A method of memory management can include creating an initial root set of pointers for a program during execution of the program and performing a marking process by iteratively marking referred objects of each pointer of the root set and expanding the root set with filtered, encoded pointers. The method also can include identifying each non-live object for any marked object as red-marked and performing, using a processor, a re-marking process on the root set in which red-marked objects are excluded. Each object of the root set not marked can be designated as including a memory leak.Type: ApplicationFiled: June 29, 2011Publication date: January 3, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Pradeep VARMA
-
Patent number: 8347061Abstract: Techniques for providing safe user-managed memory are provided. The techniques include performing memory allocation in constant time, performing memory de-allocation in constant time, performing memory access overhead for safety checking in constant time, and using the memory allocation, memory de-allocation and memory access overhead to protect at least one memory access, user-specified allocation and de-allocation with at least one exception for said user-managed memory.Type: GrantFiled: April 29, 2008Date of Patent: January 1, 2013Assignee: International Business Machines CorporationInventors: Pradeep Varma, Rudrapatna K. Shyamasundar
-
Patent number: 8156385Abstract: Embodiments of the invention provide a table-free technique for detecting all temporal and spatial memory access errors in programs supporting general pointers. Embodiments of the invention provide such error checking using constant-time operations. Embodiments of the invention rely on fat pointers, whose size is contained within standard scalar sizes (up to two words) so that atomic hardware support for operations upon the pointers is obtained along with meaningful casts in-between pointers and other scalars. Optimized compilation of code becomes possible since the scalarized-for-free encoded pointers get register allocated and manipulated. Backward compatibility is enabled by the scalar pointer sizes, with automatic support provided for encoding and decoding of fat pointers in place for interaction with unprotected code.Type: GrantFiled: October 28, 2009Date of Patent: April 10, 2012Assignee: International Business Machines CorporationInventors: Pradeep Varma, Rudrapatna K. Shyamasundar, Harshit J. Shah
-
Patent number: 8140523Abstract: A decision support system called Mounties that is designed for managing applications and resources using rule-based constraints in scalable mission-critical clustering environments. Mounties consists of four active service components: (1) a repository of resource proxy objects for modeling and manipulating the cluster configuration; (2) an event notification mechanism for monitoring and controlling interdependent and distributed resources; (3) a rule evaluation and decision processing mechanism; and (4) a global optimization service for providing decision making capabilities. The focus of this paper is on the design of the first three services that together connect and coordinate the distributed resources with the decision making component.Type: GrantFiled: October 8, 2008Date of Patent: March 20, 2012Assignee: International Business Machines CorporationInventors: Sameh A. Fakhouri, William F. Jerome, Krishna Kummamuru, Vijay K. Naik, John A. Pershing, Jr., Ajay Raina, Pradeep Varma, Peter B. Badovinatz, Vijay Kumar
-
Patent number: 8015554Abstract: An analysis and source-to-source transformation framework covers dialects of programming languages that lack formal definition for all individual dialects. Multiple instantiations of the same compiler front-end tools can be used with different settings to create distinct intermediate forms and maps. Intermediate forms and maps are used in an individual analysis and source-to-source transformation context, and performing the analysis and source-to-source transformation thereupon. A unified tool set is desirably provided, including standard compiler front-end tools and code transformation/generation tools, wherein source code edits are carried out in order to make the source code more amenable to translation to intermediate forms. The analysis results or intermediate forms created by individual tools are used by other tools as well as further analyzed to create a map of the regions of validity and invalidity of the intermediate forms, and tracking the source-code edits performed in order to obtain the same.Type: GrantFiled: March 24, 2006Date of Patent: September 6, 2011Assignee: International Business Machines CorporationInventor: Pradeep Varma
-
Publication number: 20110099429Abstract: Embodiments of the invention provide a table-free technique for detecting all temporal and spatial memory access errors in programs supporting general pointers. Embodiments of the invention provide such error checking using constant-time operations. Embodiments of the invention rely on fat pointers, whose size is contained within standard scalar sizes (up to two words) so that atomic hardware support for operations upon the pointers is obtained along with meaningful casts in-between pointers and other scalars. Optimized compilation of code becomes possible since the scalarized-for-free encoded pointers get register allocated and manipulated. Backward compatibility is enabled by the scalar pointer sizes, with automatic support provided for encoding and decoding of fat pointers in place for interaction with unprotected code.Type: ApplicationFiled: October 28, 2009Publication date: April 28, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Pradeep Varma, Rudrapatna K. Shyamasundar, Harshit J. Shah
-
Publication number: 20100299656Abstract: Techniques for generating concurrent static single assignment (CSSA) are provided. The techniques include generating a clocked control flow graph of a program, for each thread of the program created through async instruction, determining each part of the program that can execute concurrently with each thread to create a pair comprising a thread and a parallel program part, for each pair that can execute concurrently, using one or more flow equations to perform node-by-node matching, and using the node-by-node matching to generate CSSA form for the program.Type: ApplicationFiled: May 22, 2009Publication date: November 25, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Harshit J. Shah, Rudrapatna Kallikote Shyamasundar, Pradeep Varma
-
Patent number: 7827283Abstract: A Resource Management and Reservation System (RMRS) for managing and reserving storage bandwidth, is a platform independent middleware layer that provides an interface to applications, their database management systems, or some other higher level data management systems like ADRS which does data management on behalf of the applications. RMRS is highly relevant in hosted environments where one or more applications may be run on behalf of multiple customers each with a unique service level agreement with the Service Provider. Through its interface to the aforementioned applications, RMRS allows each application or an application side management system to communicate expected future storage access requirements (e.g., periodic access for backups). The interface also allows applications to request urgent storage access (e.g., recovery actions may be requested without being planned ahead of time).Type: GrantFiled: February 19, 2003Date of Patent: November 2, 2010Assignee: International Business Machines CorporationInventors: Vijay K. Naik, Vitthal Mahadeo Gogate, Divyesh Jadav, Inderpal Singh Narang, Prashant Pandey, Upendra Sharma, Pradeep Varma, Nagraj Alur
-
Patent number: 7823144Abstract: A method, apparatus and computer program product for comparing two computer program codes is disclosed. For each code, a stream of lexemes is generated for the program text of each code. The streams are concatenated in the same order as the program text. The two concatenated streams of lexemes are compared on a language-type by language-type basis to identify lexemes present only in one stream. The comparison derives a set of edit operations including minimal text block moves needed to convert one program code into the other program code.Type: GrantFiled: December 29, 2005Date of Patent: October 26, 2010Assignee: International Business Machines CorporationInventors: Donald P Pazel, Pradeep Varma