Patent application number | Description | Published |
20090070374 | Generating Incremental Program Updates - A method of generating a delta file, the delta file including update instructions for causing a target processing device to transform a current memory image module into an updated memory image module. The method includes: incorporating a parametric representation of a first memory address in the delta file, the parametric representation being parametric with respect to at least one parameter; and incorporating parameter resolution instructions in the delta file, wherein the parameter resolution instructions are adapted to cause the target processing device to determine a value of said at least one parameter and to determine an address value of the first memory address from the parametric representation and the determined value of said at least one parameter. | 03-12-2009 |
20090113386 | OBJECT CODE GENERATION FOR INCREASED DELTA PERFORMANCE - Disclosed is a method of generating updated object code of a computer program, the updated object code being suitable for the generation of an updated memory image to be loaded into a storage medium having stored thereon a current memory image corresponding to a current version of a computer program. The method comprises receiving at least one updated input code module from which the updated object code is to be generated; processing at least the updated input code module to generate at least one updated object code module adapted to be linked by a linker component as to generate the updated memory image; performing at least one optimisation process to reduce differences between said updated object code module and a corresponding one of a number of current object code modules, the number of current object code modules corresponding to the current version of said computer program. | 04-30-2009 |
20090172338 | FEEDBACK LINKER FOR INCREASED DELTA PERFORMANCE - A method, system and program for generating an updated memory image including updated program code to be loaded into a storage medium that has stored thereon a current memory image including a current program code version. The method comprises receiving an updated input code comprising a number of segments, wherein each segment is relocatable within the updated memory image; arranging the segments within the updated memory image. The arranging further comprises receiving a representation of the current program code version; performing at least one optimization step adapted to decrease an objective function under at least one predetermined layout constraint, the objective function being indicative of a magnitude of differences between the current program code version and the updated program code version, the layout constraint being indicative of at least one constraint imposed on the arrangement of segments within the memory image. | 07-02-2009 |
20100186024 | System and Method of Invoking Multiple Remote Operations - A remote execution agent, having low-latency access to the platform, receives from a remote application, across a communication channel imposing a round-trip delay, a plurality of invocation control directives. The remote execution agent invokes operations for execution on the platform in response to the invocation control directives, and aggregates results from the operations, returning the aggregated results to the application. In this manner, overhead such as communication round-trip delay, context switching, and the like, is reduced, compared to the application sending separate operation invocation requests to the platform and receiving the results of each. The remote execution agent manages operation results, such as passing results from a prior operation as parameters for a later one. In some embodiments, the invocation control directives include conditional operation invocation and branching. | 07-22-2010 |
20100199354 | Obfuscating Computer Program Code - A computer-implemented method of tamper-protecting computer program code. The method comprises: obtaining an input representation of the computer program code; identifying a conditional program statement for causing a data processing system to selectively execute one of at least a first and a second sets of program statements when said computer program is executed by a data processing system; replacing said identified conditional program statement and the first and second sets of program statements with a set of transformed program statements to obtain obfuscated program code, wherein the set of transformed program statements is adapted to cause the data processing system to execute at least a part of each of the transformed program statements when said computer program is executed by the data processing system. | 08-05-2010 |
20100251378 | Obfuscating Computer Program Code - A computer-implemented method of tamper-protecting a computer program, the method comprising: processing an input representation of the computer program to identify a function call for causing a data processing system to continue execution of the computer program at a predetermined entry point memory address when said computer program is executed by a data processing system; replacing the identified function call with a modified function call, wherein the modified function call includes an algebraic expression for causing the data processing system to compute the entry point memory address when said computer program is executed by the data processing system. | 09-30-2010 |
20100262839 | Obfuscating Execution Traces of Computer Program Code - A computer-implemented method of generating tamper-protected computer program code. The method comprises obtaining a representation of the computer program code, the computer program being adapted to cause a data processing system to perform a plurality of computational tasks in a first order of execution, each computational task being represented in the representation of the computer program code by at least one program statement; obtaining a plurality of alternative orders of execution of the computational tasks; generating an executable representation of the program code adapted to cause a data processing system to select a randomized order of execution from the plurality of alternative orders of execution and to execute the computational tasks in the selected randomized order of execution. | 10-14-2010 |
20130318504 | Execution Breakpoints in an Integrated Development Environment for Debugging Dataflow Progrrams - A dataflow program defining actors that pass tokens from one to another via connections is processed by causing one or more processors to access and execute instructions of the dataflow program. Execution of the dataflow program generates events (e.g., token production/consumption, actor state after actor action firing). For each generated event, processing evaluates whether there exists a sequence of events that matches a breakpoint condition, and if such a sequence exists then execution of the dataflow program is halted. The breakpoint condition is at least partially based on an extended history of related events, wherein two events are related to one another if they pertain to a same connection or if they pertain to a same actor state, and wherein the extended history comprises at least two related events. | 11-28-2013 |
20130339923 | Data Handling Among Actors in a Dataflow Programming Environment - Processing a dataflow program by a program development tool includes detecting a pair of actors defined by dataflow program instructions, wherein the pair of actors include a producer actor and a consumer actor, the producer actor supplying a data structure to the consumer actor via a path that comprises at least one connection and possibly also intervening other actors. An analysis is performed including analyzing one or more operations of the producer actor that involve the data structure and/or analyzing one or more operations of the consumer actor that involve the data structure. A result of the analysis is used as a basis for selecting a minimal amount of information from among a plurality of data handling possibilities concerning the data structure. A transformed program is produced in which the selected minimal amount of information is caused to be passed from the producer actor to the consumer actor. | 12-19-2013 |
20140013313 | Editor/Development Tool for Dataflow Programs - A dataflow source program is processed by a program development tool. Processing includes retrieving stored dataflow source program instructions from a memory. The tool ascertains a target model of computation (e.g., via an indicator embedded within the source program itself) to which the retrieved dataflow source program instructions are intended to conform. A dynamic behavior of the retrieved dataflow source program instructions is analyzed, and a compliance result is produced therefrom that includes an indication of whether the retrieved dataflow source program instructions conform to the target model of computation. The compliance result is then output to a user of the program development tool, so that it can inform and guide the improvement and further development of the program. | 01-09-2014 |
20140053129 | Parallelization of Dataflow Actors with Local State - Processing a dataflow program by a program development tool includes analyzing an actor defined by the dataflow program to identify original sequences of actions that can be reformulated to achieve greater execution parallelism while maintaining the same functionality as the original sequences. A processed dataflow program is produced comprising processed dataflow program instructions and decision point program instructions. The processed dataflow program instructions comprise alternative sequences of reformulated actions that achieve greater execution parallelism while maintaining the same functionality as the identified one or more original sequences. The decision point program instructions direct processing equipment to select and execute one or more of the alternative sequences of reformulated actions, wherein selection is based on state and token information in existence at the time of selection. When more than one alternative sequence can be selected, selection of sequence with highest parallelism is preferred. | 02-20-2014 |
20140237459 | Method for Exploiting Massive Parallelism - A method of statically testing dependence in a dataflow program is provided, the method comprising receiving a dataflow program which provides parameters, including consumption rates, production rates on connections between actors in the program and a number of initial samples (delays) on the connections, generating from the parameters a model of a precedence graph for the dataflow program representing dependence constraints between distinct firings of the number of actors. For the model, determining a feedback distance between multiple firings of a same actor, determining sets of parallel regions comprising a given number of actor firings of a same actor, composing mutually independent component regions comprising at least a part of the sets of parallel regions, and composing one or more composite regions comprising one or more component regions and/or one or more sets of parallel regions, being composed so that a pre-determined criteria is satisfied. | 08-21-2014 |