Patents Examined by Ben Wang
  • Patent number: 8296725
    Abstract: Methods, including service methods, articles of manufacture, systems, articles and programmable devices are provided for performing variation oriented analysis across aspects of service oriented architecture modeling. A commonality or variance of a first process to a second process of an initial model plurality of processes is captured, each having an initial model process format, and also of a third process relative to a fourth process of another model plurality of processes having a different format, wherein the commonalities and variances are stored in a common repository memory device in a repository format different from the model process formats. Processes of a model plurality are then refined as a function of the stored commonalities and variances, wherein refining comprises considering any of the stored commonalities and variances.
    Type: Grant
    Filed: March 25, 2009
    Date of Patent: October 23, 2012
    Assignee: International Business Machines Corporation
    Inventors: Abdul Allam, Douglas Eugene Darbyshire
  • Patent number: 8296730
    Abstract: When objects are called by a program written in a strongly-typed language using an interface written in a loosely-typed manner, incompatibilities between the programming languages can cause problems. Extension methods can simplify the interface between objects in an object model and a program written in a strongly-typed programming language by providing method overloads that accept strongly-typed parameters. Extension methods are provided that use method overloads that accept strongly-typed parameters, improving type safety by allowing the compiler to enforce type safety rather than relying on type checking at runtime. Nullable types and object initialization may be used to provide strongly-typed optional parameters. Extension methods can be used to support parameterized properties and to support class indexers, enabling query of collections of in-memory objects.
    Type: Grant
    Filed: March 12, 2008
    Date of Patent: October 23, 2012
    Assignee: Microsoft Corporation
    Inventors: David Andrew Whitechapel, Vladimir Morozov, Phillip Michael Hoff
  • Patent number: 8291381
    Abstract: Where a process in a computing system comprises mixed code, having different sections of code managed by different runtimes, the call stack used to coordinate function invocations may comprise call stack frames created according to multiple calling conventions. In order to analyze this call stack in a stack walk or unwinding, a debugger may be configured to request the runtimes managing the process to claim a particular call stack frame, and to request the runtime that claims it to parse the contents of the frame, or to utilize call stack analysis techniques if the call stack frame was created by unmanaged code.
    Type: Grant
    Filed: September 27, 2007
    Date of Patent: October 16, 2012
    Assignee: Microsoft Corporation
    Inventors: Thomas Lai, Mike Stall, Jon Langdon, Jan Stranik, Drew Bliss
  • Patent number: 8291393
    Abstract: A computer implemented method for performing inlining in a just-in-time compiler. Compilation of a first code of a program is begun. The first code is one of an interruptible code and a non-interruptible code. A try region is established around a second code of the program to form a wrapped second code. The try region is a boundary between interruptible and non-interruptible code such that a third code that modifies an observable state of the program cannot be moved across the boundary. The second code is, relative to the first code, the other of the interruptible code and the non-interruptible code. The wrapped second code is inlined with the first code during compilation. Compilation of the first code is completed to form a resultant code. The resultant code is stored.
    Type: Grant
    Filed: August 20, 2007
    Date of Patent: October 16, 2012
    Assignee: International Business Machines Corporation
    Inventors: Patrick G. Gallop, Derek Bruce Inglis, Mark Graham Stoodley
  • Patent number: 8286155
    Abstract: A method of distributing a software upgrade to user computer systems having a software application installed thereon is disclosed. A determination is made as whether the software upgrade is to be a forced upgrade or a recommended upgrade for a first user based on a parameter related to the first user or the software upgrade. A determination is made as to whether a software upgrade file is to be downloaded to a user computer using a trickle mode or a burst mode.
    Type: Grant
    Filed: October 11, 2010
    Date of Patent: October 9, 2012
    Assignee: Callwave Communications, LLC
    Inventors: David Giannini, Scott Herriman, Donnie Tognazzini, Colin Kelley
  • Patent number: 8271953
    Abstract: In accordance with a particular embodiment of the present invention, a method is offered that includes supporting requirement validation middleware and capturing global requirements or properties for one or more web applications. A template-based formalism is employed to capture the requirements or properties. A small set of relevant temporal patterns are provided from which to choose in capturing the global requirements or properties. In specific embodiments, the method uses a set of pre-coded semi-configurable checkers. A Java-like syntax is used to specify expressions. A library of atomic entities or events (to compose expressions) is automatically generated. In still other embodiments, a small set of light-weight automatically-customizable checkers are employed in capturing the global requirements or properties. The method can be used with both formal and semi-formal techniques.
    Type: Grant
    Filed: March 12, 2008
    Date of Patent: September 18, 2012
    Assignee: Fujitsu Limited
    Inventors: Mukul R. Prasad, Indradeep Ghosh, Sreeranga P. Rajan
  • Patent number: 8250535
    Abstract: A mechanism for maintaining configuration or other vital data outside of source code is disclosed. In accordance with the illustrative embodiment of the present invention, a data manager software component serves as an interface between an external configuration data store and one or more applications, processes, and threads. In contrast with techniques of the prior art, the illustrative embodiment does not suffer from the risk of undetected corruption of vital data, and therefore is especially advantageous in safety-critical systems.
    Type: Grant
    Filed: September 9, 2008
    Date of Patent: August 21, 2012
    Assignee: Lockheed Martin Corporation
    Inventors: Robert B. Groves, Richard A. Allshouse, Michael Lamana
  • Patent number: 8239843
    Abstract: Parallelize a computer program by scoping program variables at compile time and inserting code into the program. Identify as value predictable variables, variables that are: defined only once in a loop of the program; not defined in any inner loop of the loop; and used in the loop. Optionally also: identify a code block in the program that contains a variable assignment, and then traverse a path backwards from the block through a control flow graph of the program. Name in a set all blocks along the path until a loop header block. For each block in the set, determine program blocks that logically succeed the block and are not in the first set. Identify all paths between the block and the determined blocks as failure paths, and insert code into the failure paths. When executed at run time of the program, the inserted code fails the corresponding path.
    Type: Grant
    Filed: March 11, 2008
    Date of Patent: August 7, 2012
    Assignee: Oracle America, Inc.
    Inventors: Yonghong Song, Xiangyun Kong, Spiros Kalogeropulos, Partha P. Tirumalai
  • Patent number: 8239820
    Abstract: A compliance system for design and testing of web services, having an artifact repository storing a set of artifacts and coupled to a runtime engine. The runtime engine includes a rules engine, a results processor and a manager interface, wherein the runtime engine applies a set of encoding requirements to the set of artifacts and a conformance output is generated.
    Type: Grant
    Filed: July 17, 2006
    Date of Patent: August 7, 2012
    Assignee: Progress Software Corporation
    Inventors: Aaron White, James Murphy, Timothy Ewald
  • Patent number: 8234627
    Abstract: Exemplary systems and methods for expediting information display on a user device are provided. In exemplary embodiments, a request for information is received. An application server then generates and provides source code for a web page containing the requested information. In exemplary embodiments, a removal module is returned with the source code for the first web page. The removal module is configured to remove unnecessary elements from subsequent source code in order to expedite loading and displaying of subsequent web pages on the user device. In some embodiments, the web page comprises a syndicated web page within a window of a main web page.
    Type: Grant
    Filed: September 21, 2007
    Date of Patent: July 31, 2012
    Assignee: Knowledge Networks, Inc.
    Inventors: Michel Floyd, Brian Spiegel
  • Patent number: 8225282
    Abstract: Methods, systems, frameworks, and software products are disclosed for building well-defined software modules through the optionally nested aggregation of other similar modules at any depth. The invention provides visual methods of aggregation and nesting of software interfaces within composite software services with an automated runtime platform. Other aspects of the invention include, but are not limited to, innovative methods for routing the flow of invocation, inter-service communication, and exception handling. Industry standards are leveraged to integrate the methods discussed in this invention to any computer system, programming language or software platform. The semantic-based and visual nature of the invention discussed can significantly reduce the complexity of building, maintaining and deploying computer systems and software products.
    Type: Grant
    Filed: November 24, 2004
    Date of Patent: July 17, 2012
    Assignee: NextAxiom Technology, Inc.
    Inventors: Arash Massoudi, Sandra Irene Zylka
  • Patent number: 8214810
    Abstract: A method of compiling source code, involving a pre-processing step for including at least one additional source code file into the source code prior to generating target code from the source code. The proposed method further comprises the steps of: establishing, during the pre-processing step, at least one network connection to at least one remote server; and downloading the additional source code file from the remote server.
    Type: Grant
    Filed: August 28, 2007
    Date of Patent: July 3, 2012
    Assignee: International Business Machines Corporation
    Inventors: Mark Dettinger, Andreas Krebbel
  • Patent number: 8181170
    Abstract: Analyzing a first binary version of a program and unwind information associated with the first binary version of the program, performing optimization on the first binary version of the program to produce a second binary version of the program based at least in part on the results of the analysis, and generating new unwind information for the second binary version of the program based at least in part on the results of the analysis and at least in part on the optimization performed.
    Type: Grant
    Filed: January 16, 2009
    Date of Patent: May 15, 2012
    Assignee: Intel Corporation
    Inventors: Harish G. Patil, Robert Muth, Geoff Lowney
  • Patent number: 8171457
    Abstract: Illustrative embodiments disclose presenting coverage data relating to data access occurring during execution of code. The coverage data containing data access indicators associated with memory locations is obtained. The data access indicators that have been set by a processor in the data processing system in response to access of the memory locations during execution of the code by the processor are identified to form set data access indicators. Each set instruction access indicator is associated with a portion of the memory locations allocated for the code. A presentation for coverage data is generated, wherein the set data access indicators are identified in the presentation.
    Type: Grant
    Filed: August 4, 2008
    Date of Patent: May 1, 2012
    Assignee: International Business Machines Corporation
    Inventors: Robert T. Dimpsey, Frank E. Levine, Robert J. Urquhart
  • Patent number: 8161465
    Abstract: One embodiment of the present invention provides a system that facilitates performing conditional compilation. The system operates by analyzing programming language source code prior to compilation to locate a preprocessing directive that specifies a condition to be evaluated, and also identifies source code to be conditionally included during compilation of the source code. Next, the system generates evaluation source code that evaluates the condition. The system then evaluates the condition by evaluating ordinary programming language and environmental variables within the evaluation source code. Note that the run-time variables are also available at run-time during execution of a compiled version of the original source code. Next, the system conditionally includes source code associated with a result of the evaluation and compiles the revised source code.
    Type: Grant
    Filed: July 27, 2006
    Date of Patent: April 17, 2012
    Assignee: Oracle International Corporation
    Inventors: Minghui Yang, Chandrasekharan Iyer, Charles Wetherell
  • Patent number: 8156472
    Abstract: A reflective process algebra called the ?-calculus facilitates the serialization of processes at the level of the reflective process algebra. The reflective process algebra because of its reflective properties, can be used on computing systems with finite resources. The reflective process calculus can be made to be sensitive to resources, such as memory and bandwidth, hence facilitating its use as a programming language at the machine level. The reflective process calculus causes the dual nature of a computation entity to be exposed. A name can be caused to become a process and a process can be caused to become a name.
    Type: Grant
    Filed: March 30, 2004
    Date of Patent: April 10, 2012
    Assignee: Microsoft Corporation
    Inventors: L. Gregory Meredith, Allen L. Brown, Jr., David Richter, George Moore
  • Patent number: 8146069
    Abstract: The invention includes a method and apparatus for upgrading software represented as a graph, where the graph has a plurality of states and a plurality of state transitions and tokens traverse the graph executing functions. A method includes identifying a target region of the graph, obtaining a new region for the graph, determining a correspondence between states of the target region of the graph and states of the new region for the graph, and replacing the target region of the graph with the new region for the graph using the correspondence between states of the target region of the graph and states of the new region for the graph. The target region of the graph may be replaced by suspending the operation of the target region of the graph, or while the target region of the graph continues running.
    Type: Grant
    Filed: September 27, 2007
    Date of Patent: March 27, 2012
    Assignee: Alcatel Lucent
    Inventors: John H. Shamilian, Thomas L. Wood
  • Patent number: 8146052
    Abstract: The present disclosure is directed toward a method for hierarchical hardware mapping in a software design environment. The method comprises the step of providing a software design tool on a graphical interface of a computer system. The method also includes receiving, in the software design tool, graphical representation of at least a portion of software and receiving, in the software design tool, graphical representation of at least a portion of hardware. The method may further include receiving, in the software design tool, one or more bindings between software and hardware, wherein the one or more bindings form a set of bindings, and storing the set of bindings for use in one or more software designs.
    Type: Grant
    Filed: August 22, 2007
    Date of Patent: March 27, 2012
    Assignee: Caterpillar Inc.
    Inventor: Steven Christopher Bray
  • Patent number: 8141065
    Abstract: The invention includes a method and apparatus for dynamically defining and instantiating an undefined portion of a graph, where the graph has a plurality of states and a plurality of state transitions. A method includes executing the graph where the graph comprises a defined portion and an undefined portion and a plurality of tokens traverse the graph executing functions, suspending the one of the tokens in response to the one of the tokens detecting the undefined portion of the graph, generating a new portion of the graph for the undefined portion of the graph, replacing the undefined portion of the graph with the new portion of the graph, and releasing the suspended token. The new portion of the graph is generated by generating at least one definition file for the undefined portion of the graph and executing the at least one definition file to form thereby the new portion of the graph.
    Type: Grant
    Filed: September 27, 2007
    Date of Patent: March 20, 2012
    Assignee: Alcatel Lucent
    Inventors: John H. Shamilian, Thomas L. Wood
  • Patent number: 8136087
    Abstract: A method of in-line processing of standardized text values. A standardization utility defines multiple standardization rules in response to user input from a graphical user interface (GUI). The standardization rules correspond to text and integer data in a database. The standardization utility generates a JAVA class template for each data model object that requires standardization. The standardization utility generates public methods for each data attribute that corresponds to a standardization rule and converts the public methods into JAVA code. The standardization utility compiles the JAVA code into multiple helper classes and stores the helper classes within a JAVA Archive (JAR) file in the library path of applications that input text into the database. The standardization utility assigns a tracking number to each new helper class. The standardization utility loads the helper classes into JAVA Virtual Machines (JVMs) that are accessible to applications capable of inputting data into the database.
    Type: Grant
    Filed: July 24, 2007
    Date of Patent: March 13, 2012
    Assignee: International Business Machines Corporation
    Inventors: Wesley J. Gyure, David G. Robinson, Adam Tate, Lorraine P. Vassberg