Patents by Inventor Carl Von Platen

Carl Von Platen has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9990186
    Abstract: A method of compiling a sequence of program instructions, a method of parallel execution of a sequence of program instructions and apparatuses and software supporting such methods are disclosed. The sequence of program instructions is analyzed in terms of basic blocks forming a control flow graph and execution paths through that control flow graph are identified. When more than one execution path leads to a given basic block, or when a loop path is found leading from a given basic block back to the same basic block, a potential convergence point may be identified. A convergence marker is added to the computer program associated with the basic blocks identified in this way and then when the program is executed, the convergence markers found are used to trigger a determination of a subset of the multiple execution threads which are executed following that convergence marker.
    Type: Grant
    Filed: May 31, 2016
    Date of Patent: June 5, 2018
    Assignee: ARM Limited
    Inventors: Mohammed Javed Absar, Marco Cornero, Georgia Kouveli, Carl Von Platen
  • Publication number: 20160371067
    Abstract: A method of compiling a sequence of program instructions, a method of parallel execution of a sequence of program instructions and apparatuses and software supporting such methods are disclosed. The sequence of program instructions is analysed in terms of basic blocks forming a control flow graph and execution paths through that control flow graph are identified. When more than one execution path leads to a given basic block, or when a loop path is found leading from a given basic block back to the same basic block, a potential convergence point may be identified. A convergence marker is added to the computer program associated with the basic blocks identified in this way and then when the program is executed, the convergence markers found are used to trigger a determination of a subset of the multiple execution threads which are executed following that convergence marker.
    Type: Application
    Filed: May 31, 2016
    Publication date: December 22, 2016
    Inventors: Mohammed Javed ABSAR, Marco CORNERO, Georgia KOUVELI, Carl VON PLATEN
  • Patent number: 9189217
    Abstract: 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.
    Type: Grant
    Filed: October 3, 2011
    Date of Patent: November 17, 2015
    Assignee: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
    Inventors: Carl Von Platen, Johan Eker
  • Patent number: 8904371
    Abstract: 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.
    Type: Grant
    Filed: June 19, 2012
    Date of Patent: December 2, 2014
    Assignee: Telefonaktiebolaget L M Ericsson (publ)
    Inventors: Charles Chen Xu, Johan Eker, Carl Von Platen
  • Patent number: 8893080
    Abstract: 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.
    Type: Grant
    Filed: August 15, 2012
    Date of Patent: November 18, 2014
    Assignee: Telefonaktiebolaget L M Ericsson (Publ)
    Inventors: Carl Von Platen, Charles Chen Xu, Song Yuan
  • Publication number: 20140237459
    Abstract: 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.
    Type: Application
    Filed: October 3, 2011
    Publication date: August 21, 2014
    Applicant: Telefonaktiebolaget L M Ericsson (publ)
    Inventors: Carl Von Platen, Johan Eker
  • Publication number: 20140053129
    Abstract: 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.
    Type: Application
    Filed: August 15, 2012
    Publication date: February 20, 2014
    Inventors: Carl Von Platen, Charles Chen Xu, Song Yuan
  • Publication number: 20140013313
    Abstract: 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.
    Type: Application
    Filed: July 3, 2012
    Publication date: January 9, 2014
    Inventors: Johan Eker, Harald GUSTAFSSON, Carl Von PLATEN
  • Publication number: 20130339923
    Abstract: 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.
    Type: Application
    Filed: June 19, 2012
    Publication date: December 19, 2013
    Inventors: Charles Chen Xu, Johan Eker, Carl Von Platen
  • Publication number: 20130318504
    Abstract: 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.
    Type: Application
    Filed: May 25, 2012
    Publication date: November 28, 2013
    Inventors: Johan Eker, Harald Gustafsson, Carl Von Platen
  • Patent number: 8522047
    Abstract: 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.
    Type: Grant
    Filed: June 25, 2008
    Date of Patent: August 27, 2013
    Assignee: Telefonaktiebolaget L M Ericsson (publ)
    Inventors: Johan Eker, Björn Johansson, Carl Von Platen
  • Patent number: 8393003
    Abstract: 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.
    Type: Grant
    Filed: November 20, 2007
    Date of Patent: March 5, 2013
    Assignee: Telefonaktiebolaget L M Ericsson (publ)
    Inventors: Johan Eker, Björn Johansson, Carl Von Platen
  • Patent number: 8296535
    Abstract: 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.
    Type: Grant
    Filed: December 6, 2006
    Date of Patent: October 23, 2012
    Assignee: Telefonaktiebolaget L M Ericsson (publ)
    Inventors: Johan Eker, Carl Von Platen
  • Patent number: 8286251
    Abstract: 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.
    Type: Grant
    Filed: December 19, 2007
    Date of Patent: October 9, 2012
    Assignee: Telefonaktiebolaget L M Ericsson (publ)
    Inventors: Johan Eker, Björn Johansson, Carl Von Platen
  • Publication number: 20100262839
    Abstract: 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.
    Type: Application
    Filed: June 25, 2008
    Publication date: October 14, 2010
    Inventors: Johan Eker, Björn Johansson, Carl Von Platen
  • Publication number: 20100251378
    Abstract: 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.
    Type: Application
    Filed: December 19, 2007
    Publication date: September 30, 2010
    Applicant: Telefonaktiebolaget L M Ericsson (publ)
    Inventors: Johan Eker, Björn Johansson, Carl von Platen
  • Publication number: 20100199354
    Abstract: 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.
    Type: Application
    Filed: November 20, 2007
    Publication date: August 5, 2010
    Inventors: Johan Eker, Björn Johansson, Carl von Platen
  • Publication number: 20100186024
    Abstract: 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.
    Type: Application
    Filed: January 21, 2009
    Publication date: July 22, 2010
    Applicant: Telefonaktiebolaget LM Ericsson (publ)
    Inventors: Johan Eker, Jan Patrik Persson, Carl von Platen
  • Publication number: 20090172338
    Abstract: 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.
    Type: Application
    Filed: August 17, 2006
    Publication date: July 2, 2009
    Inventors: Johan Eker, Carl von Platen
  • Publication number: 20090113386
    Abstract: 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.
    Type: Application
    Filed: August 17, 2006
    Publication date: April 30, 2009
    Inventors: Johan Eker, Carl von Platen