Patents Examined by Ben Wang
-
Patent number: 8296725Abstract: 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: GrantFiled: March 25, 2009Date of Patent: October 23, 2012Assignee: International Business Machines CorporationInventors: Abdul Allam, Douglas Eugene Darbyshire
-
Patent number: 8296730Abstract: 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: GrantFiled: March 12, 2008Date of Patent: October 23, 2012Assignee: Microsoft CorporationInventors: David Andrew Whitechapel, Vladimir Morozov, Phillip Michael Hoff
-
Patent number: 8291381Abstract: 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: GrantFiled: September 27, 2007Date of Patent: October 16, 2012Assignee: Microsoft CorporationInventors: Thomas Lai, Mike Stall, Jon Langdon, Jan Stranik, Drew Bliss
-
Patent number: 8291393Abstract: 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: GrantFiled: August 20, 2007Date of Patent: October 16, 2012Assignee: International Business Machines CorporationInventors: Patrick G. Gallop, Derek Bruce Inglis, Mark Graham Stoodley
-
Patent number: 8286155Abstract: 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: GrantFiled: October 11, 2010Date of Patent: October 9, 2012Assignee: Callwave Communications, LLCInventors: David Giannini, Scott Herriman, Donnie Tognazzini, Colin Kelley
-
Patent number: 8271953Abstract: 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: GrantFiled: March 12, 2008Date of Patent: September 18, 2012Assignee: Fujitsu LimitedInventors: Mukul R. Prasad, Indradeep Ghosh, Sreeranga P. Rajan
-
Patent number: 8250535Abstract: 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: GrantFiled: September 9, 2008Date of Patent: August 21, 2012Assignee: Lockheed Martin CorporationInventors: Robert B. Groves, Richard A. Allshouse, Michael Lamana
-
Patent number: 8239843Abstract: 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: GrantFiled: March 11, 2008Date of Patent: August 7, 2012Assignee: Oracle America, Inc.Inventors: Yonghong Song, Xiangyun Kong, Spiros Kalogeropulos, Partha P. Tirumalai
-
Patent number: 8239820Abstract: 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: GrantFiled: July 17, 2006Date of Patent: August 7, 2012Assignee: Progress Software CorporationInventors: Aaron White, James Murphy, Timothy Ewald
-
Patent number: 8234627Abstract: 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: GrantFiled: September 21, 2007Date of Patent: July 31, 2012Assignee: Knowledge Networks, Inc.Inventors: Michel Floyd, Brian Spiegel
-
Patent number: 8225282Abstract: 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: GrantFiled: November 24, 2004Date of Patent: July 17, 2012Assignee: NextAxiom Technology, Inc.Inventors: Arash Massoudi, Sandra Irene Zylka
-
Patent number: 8214810Abstract: 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: GrantFiled: August 28, 2007Date of Patent: July 3, 2012Assignee: International Business Machines CorporationInventors: Mark Dettinger, Andreas Krebbel
-
Patent number: 8181170Abstract: 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: GrantFiled: January 16, 2009Date of Patent: May 15, 2012Assignee: Intel CorporationInventors: Harish G. Patil, Robert Muth, Geoff Lowney
-
Patent number: 8171457Abstract: 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: GrantFiled: August 4, 2008Date of Patent: May 1, 2012Assignee: International Business Machines CorporationInventors: Robert T. Dimpsey, Frank E. Levine, Robert J. Urquhart
-
Patent number: 8161465Abstract: 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: GrantFiled: July 27, 2006Date of Patent: April 17, 2012Assignee: Oracle International CorporationInventors: Minghui Yang, Chandrasekharan Iyer, Charles Wetherell
-
Patent number: 8156472Abstract: 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: GrantFiled: March 30, 2004Date of Patent: April 10, 2012Assignee: Microsoft CorporationInventors: L. Gregory Meredith, Allen L. Brown, Jr., David Richter, George Moore
-
Patent number: 8146069Abstract: 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: GrantFiled: September 27, 2007Date of Patent: March 27, 2012Assignee: Alcatel LucentInventors: John H. Shamilian, Thomas L. Wood
-
Patent number: 8146052Abstract: 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: GrantFiled: August 22, 2007Date of Patent: March 27, 2012Assignee: Caterpillar Inc.Inventor: Steven Christopher Bray
-
Patent number: 8141065Abstract: 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: GrantFiled: September 27, 2007Date of Patent: March 20, 2012Assignee: Alcatel LucentInventors: John H. Shamilian, Thomas L. Wood
-
Patent number: 8136087Abstract: 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: GrantFiled: July 24, 2007Date of Patent: March 13, 2012Assignee: International Business Machines CorporationInventors: Wesley J. Gyure, David G. Robinson, Adam Tate, Lorraine P. Vassberg