Compiling Code Patents (Class 717/140)
  • Patent number: 8402448
    Abstract: A compiler system including a compiler configured to compile a source code into a machine language code is presented, so that the machine language code is executable on a processing unit, wherein the processing unit comprises an internal register that is changing its state responsive to an execution of the machine language code. The compiler is configured to encrypt the machine language code based on an encryption function that depends on the state of the internal register.
    Type: Grant
    Filed: September 18, 2008
    Date of Patent: March 19, 2013
    Assignee: Infineon Technologies AG
    Inventors: Joachim Velten, Marcus Janke
  • Patent number: 8397223
    Abstract: A method, system and apparatus for providing a web application generator to generate the basis for a complete web application source code. Based on graphical user interface input files provided by graphic designers, the web application generator generates application framework code, an event handler skeleton and business logic foundation code. Web developers then prepare additional source code using an object-oriented programming language based on the event handler skeleton and business logic foundation code to create web application business logic objects and event handler methods. Ultimately the graphical user interface input files prepared by the graphic designers and web application source code prepared by the web developers are dynamically bound at runtime.
    Type: Grant
    Filed: March 16, 2001
    Date of Patent: March 12, 2013
    Assignee: Gutenberg Printing LLC
    Inventor: Hiang-Swee Chiang
  • Patent number: 8397222
    Abstract: Methods for constructing an Any-to-Any data machine (consisting of Any-to-Any data components and their environmental requirements) and an Any-to-Any code machine (consisting of Any-to-Any code components and their environmental requirements) and relating them together so that they harmoniously interact and so that the data Any-to-Any machine controls and is also acted upon by the code Any-to-Any machine so as to produce an Any-to-Any system that transforms data in a manner that is useful and which is analogous to the harmonious interaction of the Any-Any binary code and Any-to-Any transistor systems, and which handles data and transforms it in a sufficiently similar manner to the manner in which the human handles and transforms data that the human finds it easy and intuitive to operate, all supported by methods that enable data to be stored in a single logical grid structure that can accept and correctly relate, transmit and receive any data, together examples of methods to derive benefits from these inventi
    Type: Grant
    Filed: December 5, 2008
    Date of Patent: March 12, 2013
    Inventor: Peter D. Warren
  • Patent number: 8392896
    Abstract: A system and method is described for generating a test bed that is useful in developing, testing and/or supporting the use of software, such as software used for managing IT processes and/or monitoring equipment in an enterprise network. The system and method operates by processing a manifest to generate an instance space model of a computer network, wherein the manifest refers to a type space model of a computer network and includes an encoding that conveys parameters that are used to inflate the type space model of the computer network into the instance space model of the computer network. The type space model may comprise an object-relational directed graph that describes a plurality of potential directed graph instances and the instance space model may comprise one of the plurality of potential directed graph instances.
    Type: Grant
    Filed: March 6, 2009
    Date of Patent: March 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Raymond L. Stone, Christopher A. Cubley, Ashvin J. Sanghvi, Albert Greenberg
  • Patent number: 8392895
    Abstract: A firmware extension method is provided, particularly adaptable for an embedded system. Firstly, a baseline firmware image is provided with a header file. Secondly, an extension firmware image is generated based on the header file, comprising one or more extended functions. Thereafter, a callback table is generated, comprising pointers pointing to entries of the extended functions in the extension firmware image. The baseline firmware image, the extension firmware image and the callback table are then merged to generate a merged firmware image.
    Type: Grant
    Filed: January 13, 2009
    Date of Patent: March 5, 2013
    Assignee: Mediatek Inc.
    Inventors: Chien-Liang Tsai, Wei-Guan Yau, Chung-Yen Tsai
  • Publication number: 20130055222
    Abstract: A Magnetic Resonance Imaging (MRI) system with programmable subsystem and method for programming are provided. One method includes receiving programming code having one or more Application Programming Interfaces (APIs), wherein the APIs include one or more function calls to a library of routines. The method also includes compiling the programming code with the library of routines and controlling the operation of the MRI system using the compiled programming code.
    Type: Application
    Filed: August 31, 2011
    Publication date: February 28, 2013
    Inventor: Robert David Darrow
  • Patent number: 8387027
    Abstract: A method for compiling source code, involving: obtaining a statement of the source code comprising a method call, where the source code is composed in a statically-typed programming language; determining whether the method call is a dynamic method call; upon determining that the method call is a dynamic method call, compiling a dynamic method invocation without performing type checking on the method call; upon determining that the method call is not a dynamic method call: performing type checking on the method call, selecting a target method to invoke, and compiling a static method invocation to invoke the target method.
    Type: Grant
    Filed: January 15, 2010
    Date of Patent: February 26, 2013
    Assignee: Oracle America, Inc. formerly Sun Microsystems, Inc.
    Inventors: Alexander R. Buckley, John Rose, Joseph D. Darcy
  • Patent number: 8387036
    Abstract: A method for executing a computer program involving obtaining a statement of the source code, where the statement comprises a method call, and where the source code is composed in a statically-typed programming language. The method also involves, upon entry into a loop included in the computer program: incrementing an entry counter by one; and, for each iteration of the loop, incrementing an iteration counter by one, incrementing a local counter by one to obtain an incremented value of the local counter, incrementing a summation variable by the incremented value of the local counter, and executing the iteration of the loop.
    Type: Grant
    Filed: January 27, 2010
    Date of Patent: February 26, 2013
    Assignee: Oracle America, Inc.
    Inventor: John Rose
  • Patent number: 8387030
    Abstract: A back-end service adaptation system provides access to normalized data in a data repository for a consumer runtime environment sending a query request for denormalized data. The back-end service adaptation system can include a data access service layer, a parser layer, and a back-end service adaptation runtime layer. The consumer runtime can use a service adaptation definition language (SADL), and the parser and data access service can be configured to convert and translate the SADL request for the back-end service adaptation runtime layer.
    Type: Grant
    Filed: December 28, 2009
    Date of Patent: February 26, 2013
    Assignee: SAP AG
    Inventors: Frank Brunswig, Thomas Fiedler, Oswald Gschnitzer, Marcel Hermanns, Markus Viol, Jens Weiler, Gerhard Wenzel
  • Patent number: 8387026
    Abstract: Traditional feedback-directed optimization (FDO) is not widely used due to the significant computational overhead involved in using instrumented binaries. The described embodiments provide methods that eliminate the need for instrumented binaries by permitting the conversion of hardware-event sampling information into edge frequencies usable by FDO compilers. Some advantages include: the ability to collect feedback data on production systems; the ability to perform FDO on the OS kernel; and the ability to avoid disrupting timing paths from instrumented binaries.
    Type: Grant
    Filed: December 24, 2008
    Date of Patent: February 26, 2013
    Assignee: Google Inc.
    Inventors: Robert Hundt, Vinodha Ramasamy, Dehao Chen
  • Publication number: 20130047142
    Abstract: Thermal-aware source code compilation including: receiving, by a compiler, an identification of a target computing system, the identification of the target computing system specifying temperature sensors that measure temperature of a memory module; compiling the source code into an executable application including inserting in the executable application computer program instructions for thermal-aware execution, the computer program instructions, when executed on the target computing system, carry out the steps of: retrieving temperature measurements of one or more of the target computing system's temperature sensors; determining, in real-time in dependence upon the temperature measurements, whether a memory module is overheated; if a memory module is overheated, entering a thermal-aware execution state including, for each memory allocation in the executable application, allocating memory on a different memory module than the overheated memory module; and upon the temperature sensors indicating the memory modu
    Type: Application
    Filed: August 16, 2011
    Publication date: February 21, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
  • Patent number: 8381201
    Abstract: In many messaging systems, message selection filtering involves a significant processing overhead. This includes the parsing and preparing of the message selection filters in readiness for evaluation, as well as the evaluation itself. In systems which involve parsing and prepare processing for expressions that include repeated patterns (such as in many JMS environments), a template-based shortcutting of the conventional processing improves performance. A stored parsing template is used to parse an input sequence such as a received data processing instruction. The parse is used to identify expressions of a first type that can then be implicitly optimized by using a stored evaluation template that is associated with expressions of that type.
    Type: Grant
    Filed: February 7, 2012
    Date of Patent: February 19, 2013
    Assignee: International Business Machines Corporation
    Inventor: Stephen James Todd
  • Patent number: 8381199
    Abstract: Modular and/or demand-driven string analysis of a computer program is performed. Each method of the program is encoded into monadic second-order logic (M2L) to yield a set of predicate declarations and a set of constraints. The two sets for each method are composed to yield a union set of predicate declarations and a union set of constraints for the program. The union set of constraints includes a particular set of constraints corresponding to call relationships among the methods. An M2L formula including a free variable corresponding to a program variable is added to the union set of constraints. The two union sets are processed to verify a satisfiability of the constraints in relation to an illegal pattern. Where the constraints are satisfiable, the program can generate a string containing the illegal pattern. Where the constraints are not satisfiable, the program never generates a string containing the illegal pattern.
    Type: Grant
    Filed: October 19, 2010
    Date of Patent: February 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Takaaki Tateishi, Omer Tripp, Marco Pistoia
  • Patent number: 8381200
    Abstract: A method, system and module for automatically converting a call flow into a state-based representation are disclosed. The method comprises walking a call flow and converting each page of the call flow into a rule of a higher level representation of the call flow, augmenting the higher level representation with terminal symbols representing state variable assignments and comparisons associated with decision and computation shapes in the call flow and converting the higher level representation into a state-based representation.
    Type: Grant
    Filed: May 3, 2011
    Date of Patent: February 19, 2013
    Assignee: AT&T Intellectual Property II, L.P.
    Inventors: Cecilia M. Castillo, Theodore J. Roycraft, James M. Wilson
  • Patent number: 8381194
    Abstract: Methods and apparatuses that collect code coverage information for selected code locations when executing executable code are described. Source code in one or more files may be annotated at the selected code locations. The executable code may be compiled from the annotated source code using standard compilers. The code coverage information may be collected into a run time data store accessible by other applications. In response to receiving a code coverage request, the code coverage information can be retrieved from the data store to compare with annotations identified from the source code. A code coverage report can be generated to indicate whether one or more of the selected code locations are not covered when executing the executable code.
    Type: Grant
    Filed: August 28, 2009
    Date of Patent: February 19, 2013
    Assignee: Apple Inc.
    Inventor: Wenguang Wang
  • Patent number: 8375460
    Abstract: In an electronic device and method of protecting software, a software program of the electronic device is invoked. The media access control (MAC) address of the electronic device and a serial number of a hard disk drive that stores the software program in the electronic device are searched. The MAC address and the serial number are compared with MAC addresses and serial numbers included in the software program, to determinate whether it is licensed to run the software program in the electronic device. Usage logs of the software program are further obtained to determine whether running of the software program in the electronic device is expired.
    Type: Grant
    Filed: August 12, 2010
    Date of Patent: February 12, 2013
    Assignee: Hon Hai Precision Industry Co., Ltd.
    Inventors: Hsien-Chuan Liang, Shen-Chun Li, Shou-Kuo Hsu
  • Patent number: 8375354
    Abstract: An application development system for developing an application with application components is described. The system application development includes a modeling tool. The modeling tool imports the application components in a comparable component definition format, and defines a data relation between data, screens, and operations embodied in the application components in an application model. The application model has a static structural characteristic, a dynamic behavioral characteristic and an implementation characteristic. The static structural characteristic defines parts of the application. The dynamic behavioral characteristic defines responsiveness of the application to events or actions, and the implementation characteristic describes elements required for deploying the application. The modeling tool updates the cross-component mapping.
    Type: Grant
    Filed: January 20, 2010
    Date of Patent: February 12, 2013
    Assignee: Research In Motion Limited
    Inventors: Michael Shenfield, Robert Kline
  • Publication number: 20130036409
    Abstract: A technique for compiling and running high-level program on heterogeneous computers may include partitioning a program code into two or more logical units, and compiling each of the logical units into one or more executable entities. At least some of the logical units are compiled into two or more executable entities, the two or more executable entities being different compilations of the same logical unit. The two or more executable entities are compatible to run on respective two or more platforms that have different architecture.
    Type: Application
    Filed: September 14, 2012
    Publication date: February 7, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: JOSHUA S. AUERBACH, DAVID F. BACON, PERRY S. CHENG, RODRIC RABBAH
  • Publication number: 20130036473
    Abstract: Disclosed herein are systems, methods, and non-transitory computer-readable storage media for obfuscating branches in computer code. A compiler or a post-compilation tool can obfuscate branches by receiving source code, and compiling the source code to yield computer-executable code. The compiler identifies branches in the computer-executable code, and determines a return address and a destination value for each branch. Then, based on the return address and the destination value for each branch, the compiler constructs a binary tree with nodes and leaf nodes, each node storing a balanced value, and each leaf node storing a destination value. The non-leaf nodes are arranged such that searching the binary tree by return address leads to a corresponding destination value. Then the compiler inserts the binary tree in the computer-executable code and replaces each branch with instructions in the computer-executable code for performing a branching operation based on the binary tree.
    Type: Application
    Filed: August 1, 2011
    Publication date: February 7, 2013
    Applicant: Apple Inc.
    Inventors: Gideon M. Myles, Julien Lerouge, Jon McLachlan, Ganna Zaks, Augustin J. Farrugia
  • Publication number: 20130036408
    Abstract: A technique for compiling and running high-level program on heterogeneous computers may include partitioning a program code into two or more logical units, and compiling each of the logical units into one or more executable entities. At least some of the logical units are compiled into two or more executable entities, the two or more executable entities being different compilations of the same logical unit. The two or more executable entities are compatible to run on respective two or more platforms that have different architecture.
    Type: Application
    Filed: August 2, 2011
    Publication date: February 7, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: JOSHUA S. AUERBACH, DAVID F. BACON, PERRY S. CHENG, RODRIC RABBAH
  • Patent number: 8370924
    Abstract: The described systems and methods are directed at configuring a server based on a selected role. An installation application is configured to install core components in a server where these core components enable the server to perform the basic functions of a network computing device. A role management application is configured to enable a system administrator to select a role for the server and to automatically determine software components associated with the selected role. The role management application is then configured to build the software components and install the components on the server. The role management application is further configured to configure the components for the selected role. The automated installation process performed by the role management application enables a server to be efficiently configured for a particular role without installing other unnecessary components unrelated to the role.
    Type: Grant
    Filed: July 24, 2010
    Date of Patent: February 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Andrew T. Mason, William A. Laing, John Macintyre, Richard A. Pletcher
  • Patent number: 8370812
    Abstract: A method for assembling processing graphs in an information processing system, includes: performing, in an offline manner, translating a plurality of component descriptions into a planning language and performing reasoning on the plurality of component descriptions during the translation; and performing, in an online manner, receiving a processing request that specifies a desired processing outcome; translating the processing request into a planning goal; and assembling a plurality of processing graphs, each of the processing graphs including a plurality of the translated and reasoned components that satisfy the desired processing outcome.
    Type: Grant
    Filed: April 2, 2007
    Date of Patent: February 5, 2013
    Assignee: International Business Machines Corporation
    Inventors: Mark D. Feblowitz, Zhen Liu, Anand Ranganathan, Anton V. Riabov
  • Patent number: 8370819
    Abstract: A mechanism is provided for making information about the virtual disk image file and/or its associated virtual image configuration file more readily available to a user. The virtual disk image file format is expanded to include fields in which information about the data in the file can be stored. Extensible information on file content, compatible HW configurations, compatible host OSes, timeout status, DRM status, patch state, and network topology, tag data for indexing, configuration files, saved state files, operation history data, and the like is stored in a location within a virtual disk image file that can be read without executing the virtual machine. This information can then be used to search the contents of the virtual disk image, to enforce usage policies, to provide extensibility for vendors, and the like.
    Type: Grant
    Filed: March 25, 2005
    Date of Patent: February 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Parag Chakraborty, Eric P. Traut
  • Patent number: 8370817
    Abstract: A mechanism is provided for optimizing scalar code executed on a single instruction multiple data (SIMD) engine by aligning the slots of SIMD registers. With the mechanism, a compiler is provided that parses source code and, for each statement in the program, generates an expression tree. The compiler inspects all storage inputs to scalar operations in the expression tree to determine their alignment in the SIMD registers. This alignment is propagated up the expression tree from the leaves. When the alignments of two operands in the expression tree are the same, the resulting alignment is the shared value. When the alignments of two operands in the expression tree are different, one operand is shifted. For shifted operands, a shift operation is inserted in the expression tree. The executable code is then generated for the expression tree and shifts are inserted where indicated.
    Type: Grant
    Filed: May 27, 2008
    Date of Patent: February 5, 2013
    Assignee: International Business Machines Corporation
    Inventors: Alexandre E. Eichenberger, John Kevin Patrick O'Brien
  • Patent number: 8370818
    Abstract: Methods and apparatus for analyzing the interface usage and requirements within software applications. In one embodiment, the interfaces comprise application programming interfaces (APIs) used with Java-based software, and the apparatus comprises a computer program that analyzes file paths (or classpaths) containing one or more files comprising Java bytecode. The names of the classes are extracted and placed into a class dictionary. The different classes listed in the dictionaries are broken down into their individual methods. Each method is then dissembled and analyzed for method or field invocations on other classes found in the dictionary. Methods called are added to a “used class” report. The used class report preferably contains the name of the class, method and the instruction information.
    Type: Grant
    Filed: December 2, 2006
    Date of Patent: February 5, 2013
    Assignee: Time Warner Cable Inc.
    Inventors: Matt Osminer, Robert F. Gazdzinski
  • Patent number: 8365154
    Abstract: A method in a software development environment for developing product runtime code having at least two code components written in different runtime languages, the method comprising: providing a programming interface for development of the code components in a single development language: translating developed code components in the development language back to the respective runtime language for execution.
    Type: Grant
    Filed: May 28, 2010
    Date of Patent: January 29, 2013
    Assignee: International Business Machines Corporation
    Inventor: Manvendra Gupta
  • Patent number: 8365155
    Abstract: Presently described is a decompilation method of operation and system for parsing executable code, identifying and recursively modeling data flows, identifying and recursively modeling control flow, and iteratively refining these models to provide a complete model at the nanocode level. The nanocode decompiler may be used to determine if flaws, security vulnerabilities, or general quality issues exist in the code. The nanocode decompiler outputs in a standardized, human-readable intermediate representation (IR) designed for automated or scripted analysis and reporting. Reports may take the form of a computer annotated and/or partially human annotated nanocode listing in the above-described IR. Annotations may include plain English statements regarding flaws and pointers to badly constructed data structures, unchecked buffers, malicious embedded code or “trap doors,” and the like. Annotations may be generated through a scripted analysis process or by means of an expert-enhanced, quasi-autonomous system.
    Type: Grant
    Filed: May 24, 2010
    Date of Patent: January 29, 2013
    Assignee: Veracode, Inc.
    Inventor: Christien Rioux
  • Patent number: 8365151
    Abstract: A method for dynamic recompilation of source software instructions for execution by a target processor, which considers not only the specific source instructions, but also the intent and purpose of the instructions, to translate and optimize a set of equivalent code for the target processor. The dynamic recompiler determines what the source operation code is trying to accomplish and the optimum way of doing it at the target processor, in an “interpolative” and context sensitive fashion. The source instructions are processed in blocks of varying sizes by the dynamic recompiler, which considers the instructions that come before and after a current instruction to determine the most efficient approach out of several available approaches for encoding the operation code for the target processor to perform the equivalent tasks specified by the source instructions. The dynamic compiler comprises a decoding stage, an optimization stage and an encoding stage.
    Type: Grant
    Filed: April 30, 2010
    Date of Patent: January 29, 2013
    Assignee: Sony Computer Entertainment Inc.
    Inventor: Randal N. Linden
  • Patent number: 8365143
    Abstract: Using language add-ins with one or more static extensibility points of an application host. The method includes searching for user code in a user code store. Some user code is found in the user code store. A determination is made as to the language of the user code from among a plurality of predefined languages. The user code is provided to a language provider for the determined language. A function invocation is received from an application host. The function invocation is matched to at least a portion of the user code. The at least a portion of user code corresponding to the function invocation is executed via the language provider.
    Type: Grant
    Filed: June 15, 2010
    Date of Patent: January 29, 2013
    Assignee: Microsoft Corporation
    Inventors: Curt Oliver Hagenlocher, Anthony Moore, John Lam
  • Patent number: 8365153
    Abstract: A server is disclosed that includes an interface to a data communication network, a compiler library that stores a plurality of different compilers, and compiler selection logic responsive to data received at the interface and including logic. The compiler selection logic is configured to select one of the plurality of different compilers based on an evaluation of the received data. The selected compiler generates compiled output data and the compiled output data is communicated over the data communication network to a client.
    Type: Grant
    Filed: October 26, 2007
    Date of Patent: January 29, 2013
    Assignee: QUALCOMM Incorporated
    Inventors: Lingjun Chen, Guofang Jiao, Yun Du, Chun Yu
  • Patent number: 8364946
    Abstract: A method of developing an application for deployment on a computing system. The computing system includes a processor and a reconfigurable logic in communication with the processor for configuration thereby. The method includes programming the processor with hardware-neutral instructions in a high-level software programming language. The instructions are representative of an application configured to execute at least partially on the reconfigurable logic. The method further includes instantiating elements from a library of elements compatible with the high-level programming language; and constructing programmatically a generic data graph representative of the application to be mapped at least partially onto the reconfigurable logic. The generic data graph is expressed as streams of records flowing between operators. A computing system is also disclosed.
    Type: Grant
    Filed: March 22, 2010
    Date of Patent: January 29, 2013
    Inventor: Harold Ishebabi
  • Patent number: 8359586
    Abstract: In an embodiment, a code generator receives input code having a plurality of functional elements, such as blocks, nodes, statements, commands, etc. The input code processes a data set, such as an image file. The code generator further receives one or more criteria for the generated code. The functional elements of the input code are provided with one or more parameters regarding the block sizes that the respective functional elements can process, such as an available block size and a preferred block size. The code generator queries the functional elements of the input code to obtain their available and preferred block sizes, and builds an intermediate representation (IR) of the input code. The code generator re-organizes and modifies the IR so that it achieves the one or more criteria. Output code that meets the one or more criteria is generated from the reorganized and modified IR.
    Type: Grant
    Filed: August 20, 2007
    Date of Patent: January 22, 2013
    Assignee: The MathWorks, Inc.
    Inventors: Donald P. Orofino, II, Witold R. Jachimczyk
  • Patent number: 8359589
    Abstract: A set of helper thread binaries is created to retrieve data used by a set of main thread binaries. If executing a portion of the set of helper thread binaries results in the retrieval of data needed by the set of main thread binaries, then that retrieved data is utilized by the set of main thread binaries.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: January 22, 2013
    Assignee: International Business Machines Corporation
    Inventors: Ravi K. Arimilli, Juan C. Rubio, Balaram Sinharoy
  • Publication number: 20130014092
    Abstract: A multi level virtual function table uses a hierarchy of chunks or segments of virtual function tables to identify methods for a particular class. At least one level of indirection pointers may point to individual virtual function table chunks, which may be shared by multiple classes. In some embodiments, fixed size chunks of virtual function tables may be used, other embodiments may use variable sized chunks of virtual function tables. In just in time compiled code, virtual function tables may be limited to sharing across parent and child classes, while in pre-compiled code, more complex sharing may be used.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 10, 2013
    Applicant: MICROSOFT CORPORATION
    Inventor: David J. Hiniker
  • Patent number: 8352906
    Abstract: Disclosed are a method, system, and computer program product for implementing external domain independent modeling framework in a system design. In some embodiments, the method or system comprises importing an external model in an external format into the framework while substantially preserving some or all of the interpretation of the external model, determining a internal common representation for the external model within the framework, and displaying or storing the internal common representation in a tangible computer readable medium. In some embodiments, the method or system further comprises validating the accuracy of the internal common representation, determining an analysis or transformation capability for the framework, or outputting a first output model in a second external format. In various embodiments, the method or system requires no external tool compliance.
    Type: Grant
    Filed: December 28, 2007
    Date of Patent: January 8, 2013
    Assignee: Cadence Design Systems, Inc.
    Inventors: Yaron Kashai, Stavros Tripakis, Felice Balarin
  • Patent number: 8352398
    Abstract: A conflict resolution mechanism collects statistical data regarding how much time certain common actions or waits take. For example, the mechanism may collect statistics on disk I/O for each disk device. Statistics may include the average access time, for example. Such statistics may be collected over a sliding window of time. With the statistical data that the mechanism collects, the mechanism can make a more intelligent judgment regarding whether a process is in a “hanging” condition. For example, if the average I/O to a disk is 10 seconds for the past hour, and if a process is doing disk I/O to that disk for 5 seconds, then the mechanism will not yet determine that the process is hanging. In order to determine whether the process is hanging, the mechanism looks at the average time and the longest time for the particular actions that the process is performing.
    Type: Grant
    Filed: October 20, 2009
    Date of Patent: January 8, 2013
    Assignee: Oracle International Corporation
    Inventor: Wilson Wai Shun Chan
  • Patent number: 8352929
    Abstract: A method for preventing the unauthorized modification of a software or unauthorized modification of runtime data. According to this method, a converter, which is capable of converting the software into a generalized machine code is provided. The converter is designed such that it cannot be reverse engineered, by using a conversion process that causes data loss. An interpreter, which the knowledge of its process method is kept restricted, is also provided. The interpreter interprets the general machine code into a specific machine code, while reconstructing the lost data during the interpretation process.
    Type: Grant
    Filed: March 30, 2006
    Date of Patent: January 8, 2013
    Assignee: Microsoft Corporation
    Inventors: Keren Asipov, Boris Asipov
  • Patent number: 8352935
    Abstract: A customized distribution, e.g. of Linux software, is built using only packages that satisfy a customer's individual requirements. The packages are verified, at build time, to be interoperable at run-time. Also, the distribution is verified to ensure all package dependencies are included. In cases where no package already exists that meets a user requirements, a new package can be created for this purpose. The packages in the distribution customized for the user can be tracked, so that as updates to the packages are released, the customer can be notified about those updates (without being notified about packages not in the customer's customized distribution). Finally, once the distribution has been built for the user, it can then be offered as a general-purpose distribution for future customers.
    Type: Grant
    Filed: May 19, 2005
    Date of Patent: January 8, 2013
    Assignee: Novell, Inc.
    Inventors: Scott A. Isaacson, Eric W. B. Anderson, Robert Wipfel
  • Publication number: 20130007721
    Abstract: Systems and methods are provided for writing code to access data arrays. One aspect provides a method of accessing a memory array. Data is provided within a one-dimensional array of allocated memory. A dimensional dynamic overlay is declared from within a block of statements, and the declaration initializes various attributes within an array attribute storage object. The data is accessed from within the block of statements as a dimensional indexed array using the array attribute storage object. Another aspect provides a method of creating and accessing a dimensional dynamic array. A dimensional dynamic array is declared from within a block of statements, and memory storage for the array is dynamically allocated. A dynamic overlay storage object is also provided and its attributes are initialized from the dynamic array declaration. The data is accessed as a dimensional indexed array from within the block of statements using the array attribute storage object.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 3, 2013
    Applicant: Micron Technology, Inc.
    Inventors: Keith R. Slavin, Shane C. Hu
  • Patent number: 8347278
    Abstract: A method for augmenting a compiled software routine in execution, the compiled software routine being instrumented to generate an event at an augmentation point defined therein, the method including receiving the event at a second software routine, the second software routine including software instructions for augmenting the compiled software routine.
    Type: Grant
    Filed: September 17, 2008
    Date of Patent: January 1, 2013
    Assignee: International Business Machines Corporation
    Inventors: Paul Kettley, Ian J. Mitchell, Stephen J. Wood
  • Patent number: 8347277
    Abstract: For a source file on which basis a binary object file has been generated, a digital signature is generated for the source file, and the digital signature is stored. The digital signature may be secure hash algorithm (SHA) hash values. The binary object file is output. To verify that the binary object file has been generated from the source file, a digital signature is generated for the source file, and compared to the digital signature for the source file as previously stored. Where the digital signature for the source file as has been generated matches the digital signature for the source file previously stored, the binary object file is indicated as having been generated from the source file.
    Type: Grant
    Filed: August 17, 2007
    Date of Patent: January 1, 2013
    Assignee: International Business Machines Corporation
    Inventors: Ramachandra N. Pai, Gerrit Huizenga, Eric B. Munson
  • Patent number: 8341602
    Abstract: An “Automated, Static Safety Verifier” uses typed assembly language (TAL) and Hoare logic to achieve highly automated, static verification of type and memory safety of an operating system (OS). Various techniques and tools mechanically verify the safety of every assembly language instruction in the OS, run-time system, drivers, and applications, except the boot loader (which can be separately verified). The OS includes a “Nucleus” for accessing hardware and memory, a kernel that builds services running on the Nucleus, and applications that run on top of the kernel. The Nucleus, written in verified assembly language, implements allocation, garbage collection, multiple stacks, interrupt handling, and device access. The kernel, written in C# and compiled to TAL, builds higher-level services, such as preemptive threads, on top of the Nucleus. A Hoare-style verifier with automated theorem prover verifies safety and correctness of the Nucleus. A TAL checker verifies safety of the kernel and applications.
    Type: Grant
    Filed: February 27, 2010
    Date of Patent: December 25, 2012
    Assignee: Microsoft Corporation
    Inventors: Chris Hawblitzel, Jean Yang
  • Patent number: 8341595
    Abstract: A system for developing rich internet applications (RIAs) for remote computing devices that utilize a certifying player to invoke server-side web services through a single, secure, certifying intermediary server, includes an integrated development environment (IDE). The IDE includes a toolbox comprising graphical components configured to be dragged and dropped into UI states implementing the RIA process flow and a Web Service Description Language (WSDL) integrator for generating web service call for accessing web services for processing input from the UI states and generating an output result.
    Type: Grant
    Filed: August 27, 2008
    Date of Patent: December 25, 2012
    Assignee: Roam Data Inc
    Inventors: Michael Arner, John Rodley, Will W. Graylin
  • Patent number: 8341612
    Abstract: Disclosed are a method and system for optimized, dynamic data-dependent program execution. The disclosed system comprises a statistics computer which computes statistics of the incoming data at the current time instant, where the said statistics include the probability distribution of the incoming data, the probability distribution over program modules induced by the incoming data, the probability distribution induced over program outputs by the incoming data, and the time-complexity of each program module for the incoming data, wherein the said statistics are computed on as a function of current and past data, and previously computed statistics; a plurality of alternative execution path orders designed prior to run-time by the use of an appropriate source code; a source code selector which selects one of the execution path orders as a function of the statistics computed by the statistics computer; a complexity measurement which measures the time-complexity of the currently selected execution path-order.
    Type: Grant
    Filed: May 16, 2007
    Date of Patent: December 25, 2012
    Assignee: International Business Machines Corporation
    Inventors: Dake He, Ashish Jagmohan, Jian Lou, Ligang Lu
  • Patent number: 8341607
    Abstract: Embodiments of the present invention address deficiencies of the art in respect to pattern matcher generation and provide a method, system and computer program product for automatic pattern matching and generation of intermediate language patterns. In one embodiment of the invention, a pattern matcher generation method can be provided. The method can include identifying input elements from intermediate language code, reducing the identified input elements from the intermediate language code to inputs of common and unique use, creating a unifiable form for each of the input elements of common and unique use, and generating a pattern matcher for each of the input elements of common and unique use in the intermediate language code using a corresponding unifiable form in place of each of the input elements of common and unique use. In particular, the generated pattern matcher can be expression matching and transformation programming framework (EMTF) conformant.
    Type: Grant
    Filed: March 13, 2008
    Date of Patent: December 25, 2012
    Assignee: International Business Machines Corporation
    Inventors: Kevin A. Stoodley, Arie Tal
  • Patent number: 8341608
    Abstract: A cross-platform toolbar and method thereof is disclosed. The toolbar includes a toolbar render object defining at least user interface elements of the cross-browser toolbar; a script file defining at least event handlers associated with the user interface elements; toolbar libraries including at least application programming interfaces (APIs) and script files supporting a specific web browser type; and a unique dynamic-link library (DLL) file assigned with the toolbar libraries and the script file.
    Type: Grant
    Filed: November 13, 2008
    Date of Patent: December 25, 2012
    Assignee: Visicom Media, Inc.
    Inventor: Miguel Enrique Cepero Gonzalez
  • Publication number: 20120324429
    Abstract: A JIT (Just-In-Time) compiler performs dual-mode code generation by determining whether an application has opted-in to SIMD (Single Instruction Multiple Data) code generation both at JIT-time and at runtime. The application may select the code generation mode by identifying whether it has opted-in to SIMD code generation. As a result, the underlying implementation guarantees application compatibility by allowing the application to select the code generation mode. Additionally, applications have the ability to select into different code generation modes during concurrent execution.
    Type: Application
    Filed: June 14, 2011
    Publication date: December 20, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Sachin Manchanda, Anand Rengasamy, Pratap Lakshman, Srivatsan Kidambi, Ramesha Chandrashekhar
  • Patent number: 8336038
    Abstract: A computer system for executing a computer program on parallel processors, the system having a compiler for identifying within a computer program concurrency markers that indicate that code between them can be executed in parallel and should be executed with delayed side-effects; and an execution system that is operable to execute the code identified by the concurrency markers to generate a queue of side-effects and after execution of that code is completed, sequentially execute the queue of side-effects.
    Type: Grant
    Filed: January 26, 2007
    Date of Patent: December 18, 2012
    Assignee: Codeplay Software Limited
    Inventors: Andrew Richards, Andrew Cook, Colin Riley
  • Publication number: 20120317557
    Abstract: Processes in a message passing system may be launched when messages having data patterns match a function on a receiving process. The function may be identified by an execution pointer within the process. When the match occurs, the process may be added to a runnable queue, and in some embodiments, may be raised to the top of a runnable queue. When a match does not occur, the process may remain in a blocked or non-executing state. In some embodiments, a blocked process may be placed in an idle queue and may not be executed until a process scheduler determines that a message has been received that fulfills a function waiting for input. When the message fulfills the function, the process may be moved to a runnable queue.
    Type: Application
    Filed: July 17, 2012
    Publication date: December 13, 2012
    Applicant: CONCURIX CORPORATION
    Inventor: Charles D. Garrett
  • Patent number: 8332829
    Abstract: Within a data processing system, one or more register files are assigned to respective states of a graph for each of a plurality of clock cycles. A plurality of edges are inserted to form connections between the states of the graph, with respective weights being assigned to each of the edges. A best route through the graph is then determined based, at least in part, on the weights assigned to the edges.
    Type: Grant
    Filed: August 15, 2008
    Date of Patent: December 11, 2012
    Assignee: Calos Fund Limited Liability Company
    Inventor: Peter Mattson