Patents Examined by Tuan Dam
  • Patent number: 8042089
    Abstract: The embodiments of the invention described herein employ sophisticated techniques for managing distributed processes in a process automation system. Specifically, one embodiment of the invention implements a general purpose property mechanism in which arbitrary data is attached to any object in the system (e.g., projects, procedures, jobs, job steps, resources, etc), thereby providing a convenient way to configure the system without modifying the underlying program code. In addition, in one embodiment, a three-tier hierarchy of data object is employed: “projects,” “procedures,” and “steps” (or “projects,” “jobs” and “job steps” during runtime). A property may be attached to any object on any tier of the hierarchy to configure that object and (potentially) all of the objects which reference the property. The properties and property sheets may be attached both statically (before runtime) and dynamically (during runtime).
    Type: Grant
    Filed: October 3, 2006
    Date of Patent: October 18, 2011
    Assignee: Electric Cloud, Inc.
    Inventors: John Ousterhout, Anders Wallgren, Sandeep Tamhankar, Scott Stanton, Usman Muzaffar
  • Patent number: 8032860
    Abstract: An extensible, data-driven, language independent source code editor is presented, with an embedded, extensible multi-language compiler framework. Such an editor can be tightly integrated with a compiler framework that provides detailed information about the language currently being edited by the user. This information can be provided in a language-neutral way effectively decoupling the editor from the underlying set of languages being edited. In addition, a language-independent editor can expose a set of APIs that makes it easy to customize behavior for specific languages that have characteristics not shared by most languages. This set of APIs can also enable the development of customized views, such as for developing visual editors that represent and allow the user to manipulate aspects of the source code pictorially. This description is not intended to be a complete description of, or limit the scope of, the invention.
    Type: Grant
    Filed: February 24, 2004
    Date of Patent: October 4, 2011
    Assignee: Oracle International Corporation
    Inventors: Britton Worth Piehler, Kevin Zatloukal, David Glen Garber
  • Patent number: 8020155
    Abstract: A mechanism is provided for managing the referencing of at least two versions of a function. A first version is a single threaded version that does not ensure multi-thread safety. A second version is a multi threaded version that does ensure multi-thread safety. The mechanism determines whether a set of executable code (e.g. a program) is currently executing in single-threaded mode or multi-threaded mode. If the executable code is executing in single-threaded mode, then the mechanism causes the executable code to reference the first version of the function. If the executable code is executing in multi-threaded mode, then the mechanism causes the executable code to reference the second version of the function. By doing so, the mechanism ensures that the additional overhead of ensuring multi-thread safety is incurred only when it is needed. In this manner, the mechanism makes execution of the function more optimal.
    Type: Grant
    Filed: November 28, 2006
    Date of Patent: September 13, 2011
    Assignee: Oracle America, Inc.
    Inventors: Jiwei Lu, William Yu-Wei Chen
  • Patent number: 7526757
    Abstract: A method and apparatus in a data processing system for measuring events associated with the execution of instructions are provided. Instructions are received at a processor in the data processing system. If a selected indicator is associated with the instruction, counting of each event associated with the execution of the instruction is enabled. In some embodiments, the performance indicators, counters, thresholds, and other performance monitoring structures may be stored in a page table that is used to translate virtual addresses into physical storage addresses. A standard page table is augmented with additional fields for storing the performance monitoring structures. These structures may be set by the performance monitoring application and may be queried and modified as events occur that require access to physical storage.
    Type: Grant
    Filed: January 14, 2004
    Date of Patent: April 28, 2009
    Assignee: International Business Machines Corporation
    Inventors: Frank Eliot Levine, Christopher Michael Richardson, Edward John Silha
  • Patent number: 7506308
    Abstract: A development-oriented directory structure that can be used with an application server, and which solves a number of the problems associated with traditional Enterprise Archive (EAR) files. The directory structure comprises a source folder that stores source files for use with or as part of a software application; and an output folder that stores compiled files for use with or as part of the software application. The source folder and the output folder output folder form a split directory which is then used in deploying the software application.
    Type: Grant
    Filed: February 25, 2004
    Date of Patent: March 17, 2009
    Assignee: Bea Systems, Inc.
    Inventors: Rob Woollen, Mark Griffith
  • Patent number: 7451437
    Abstract: Compiler device for optimizing program which manipulates a character string includes append instruction detection unit, store code generation unit, and append code generation unit. The append instruction detection unit detects an append instruction which appends a character string to a string variable for storing a character string, in the program. The store code generation unit generates, a substitute for each of a plurality of the append instructions detected by the append instruction detection unit, a store code for storing data of an appendant character string to be appended to the string variable by the append instruction into a buffer. The append instructions append the character strings to the same string variable. The append code generation unit generates append code for appending a plurality of the appendant character strings to the string variable, at a position executed before an instruction to refer to the string variable in the program.
    Type: Grant
    Filed: February 25, 2004
    Date of Patent: November 11, 2008
    Assignee: International Business Machines Corporation
    Inventors: Takesji Ogasawara, Tamiya Onodera, Mikio Takeuchi
  • Patent number: 7412700
    Abstract: Files of software to be installed in a computer are packaged as follows. A source file is prepared to contain at least a declaration of an array of sufficient space to accommodate the files to be packaged. The source file is compiled into an executable file. Thereafter, the array in the executable file is overwritten with data from each file being packaged. Depending on the embodiment, the address of where each file begins in the executable file and each file's name may be stored in the same executable file or in a different file. The stored file names are used to identify an address of a file from its name, when the named file is first accessed. In several embodiments, the operating system loads the executable file as a library that is automatically shared by multiple instances of the application (or by multiple applications), to efficiently use physical memory.
    Type: Grant
    Filed: May 18, 2004
    Date of Patent: August 12, 2008
    Assignee: Oracle International Corporation
    Inventors: Mohammad Shoaib Lari, Rajendra S. Pingte, Srinath Krishnaswamy, Douglas James McMahon
  • Patent number: 7406679
    Abstract: A method for providing a test environment for database server-side objects persistently stores a profile for a plurality of test runs for database server-side objects, where the profile comprises persistently stored test parameter values, pre-execution scripts, and/or post-execution scripts. Once the profile is created, it can be selected for subsequent test runs for one or more objects. A plurality of profiles for the objects may also be created. The method eliminates the need for a manual set up or destruction of the test environment for each test run, improving efficiency in the development of database server-side objects significantly.
    Type: Grant
    Filed: May 10, 2002
    Date of Patent: July 29, 2008
    Assignee: International Business Machines Corporation
    Inventors: Constance J. Nelin, Tanya Couch, Abdul H. Al-Azzawe, Frederick T. Sharp, Tom R. Christopher
  • Patent number: 7401332
    Abstract: A system and method are provided to allow a user to update a computer system without having to interact with an initialization, or configurator software utility, or program. More particularly, the present invention allows a system provider, manufacturer, or service provider to create an installation file that, when provided to a user, will configure a system to accommodate newly added/removed hardware automatically. A base model and a new model of the system are maintained. The new model will include one or more different configurations, such as new graphics adapters, communications adapters, I/O controllers, or the like. The provider will have created a recovery/install image to be used with the base model. An operating system including a configurator program will be running on both the base model system and new model system. Software, such as device drivers, to be used with the new model's changed hardware configuration is installed on the new model system and initialized using its configurator program.
    Type: Grant
    Filed: January 9, 2003
    Date of Patent: July 15, 2008
    Assignee: International Business Machines Corporation
    Inventors: Robert Kimberlin Foster, Mark Wayne Grosch, Minh Nguyen, Christine Iju Wang
  • Patent number: 7398513
    Abstract: A method and system are provided for detecting invalid function calls between segments during the generation of a computer program. A source file and a fixup source file are created for a program file. The source file defines segments in the program file. The fixup source file defines the segments defined in the source file to be a predetermined size. Next, the program file, the source file, and the fixup source file are assembled to create a program object, a source object, and a fixup object. A source library and a fixup library are created from the source object and the fixup object. The program object is linked with the fixup library to generate a dummy output file. During the generation of the dummy output file, a determination is made as to whether an invalid function call is made between the plurality of segments defined in the fixup library. If it is determined that an invalid function call is made between the segments defined in the fixup library, then an error is reported in the dummy output file.
    Type: Grant
    Filed: May 8, 2003
    Date of Patent: July 8, 2008
    Assignee: American Megatrends, Inc.
    Inventor: Anand Joshi
  • Patent number: 7398519
    Abstract: An apparatus, program product and method utilize an inheritance breakpoint to assist in debugging an object-oriented computer program having a method identified in a base class or interface and implemented by at least one method implementation in another class. Creation of an inheritance breakpoint for a particular method responsive to a user request typically results in the automated generation of a breakpoint for all or a subset of the implementations of that method, often freeing a user from having to manually determine what particular implementation(s) implement that method. In many environments, the automated generation of implementation breakpoints may be performed during initial loading of classes within which such implementations may be defined.
    Type: Grant
    Filed: November 30, 2001
    Date of Patent: July 8, 2008
    Assignee: International Business Machines Corporation
    Inventors: Jeremy Alan Arnold, John Matthew Santosuosso
  • Patent number: 7395523
    Abstract: A development environment tracks code sections which have been copied and pasted into a code module from a source code section which has not been subjected to certain verifications. In one aspect, if an error in a copied section is later found during a verification process, the programmer is allowed to perform a multi-edit operation, whereby an edited change to a single copy is automatically propagated to multiple copies. In another aspect, the programmer is warned when copying and pasting a code section which has not been verified. Preferably, verification is performed in the process of compiling source into executable object code.
    Type: Grant
    Filed: November 24, 2003
    Date of Patent: July 1, 2008
    Assignee: International Business Machines Corporation
    Inventors: Cary Lee Bates, Paul W. Buenger
  • Patent number: 7395532
    Abstract: Programs having a given instruction-set architecture are executed on a multiprocessor system comprising a plurality of processors, for example of a VLIW type, each of said processors being able to execute, at each processing cycle, a respective maximum number of instructions. The instructions are compiled as instruction words of given length executable on a first processor. At least some of the instruction words of given length are converted into modified-instruction words executable on a second processor. The operation of modifying comprises in turn at least one operation chosen in the group consisting of: splitting the instruction words into modified-instruction words; and entering no-operation instructions in the modified-instruction words.
    Type: Grant
    Filed: July 1, 2003
    Date of Patent: July 1, 2008
    Assignee: STMicroelectronics S.r.l.
    Inventors: Antonio Maria Borneo, Fabrizio Simone Rovati, Danilo Pietro Pau
  • Patent number: 7392517
    Abstract: A method and implementing computer system are provided in which selected information is embedded within computer program structures without requiring separate bit strings. In an exemplary embodiment, the embedded selected information includes an identification of a licensed user together with a serial number of the associated licensed program. That information is converted into a binary representation, and a transfer function is used to embed the binary representation into the structure of the licensed program. In the example, when a licensed program is compiled, linked and downloaded over an interconnection network, the order or sequence of the modules of the licensed program is arranged in a manner to correspond to the embedded selected information. The embedded information can then be extracted from the program by analysis of the organization of the modules comprising the program.
    Type: Grant
    Filed: October 4, 2001
    Date of Patent: June 24, 2008
    Assignee: International Business Machines Corporation
    Inventor: Viktors Berstis
  • Patent number: 7392523
    Abstract: Systems and methods consistent with the present invention ensure software integrity by associating each software component to be included in a federation with a distinct unique identifier. A subset of the identifiers corresponding to any two software components should match for the federation to be accepted.
    Type: Grant
    Filed: June 1, 2004
    Date of Patent: June 24, 2008
    Assignee: Symantec Corporation
    Inventors: George Herbert Stahl, Malcolm Lockhart
  • Patent number: 7392509
    Abstract: A method for automatically generating test cases from a domain specific description language specification makes use of the properties of the language to derive domain specific axioms and language specific predicates. These properties are embedded into an extended finite state machine which is in turn supplied to the input of a test case generator. The enhanced extended finite state machine, referred herein as an extended finite state machine accounting for axioms and predicates (EFSMAP) contains states and transitions associated with information on implied behavior of the specified system within a particular problem domain. The implicit behavior, defined by the axiomatic properties of the operators of the domain specific language, provide test capability of the associated system that was not explicitly set forth in the formal specification, but nevertheless should be tested to increase confidence in the reliability of the finished product.
    Type: Grant
    Filed: April 13, 2004
    Date of Patent: June 24, 2008
    Assignee: University of Maryland
    Inventors: Avik Sinha, Carol S. Smidts
  • Patent number: 7389492
    Abstract: Embodiments of the invention provide a dictionary, which may be modified by a developer, that provides a mapping of the generation routine to be performed and a pointer or identifier of the generator employed for the specified generation routine. As will be appreciated, embodiments of the invention may employ a dictionary which comprises a plurality of generation routine-code generator identity data pairs. A generator routine may be, for example, associated with the generation of source code associated with a particular object class, fields, methods, method bodies, procedures, comments, subroutines and the like. By modifying a generation routine-code generator identity data pair in a generator dictionary, a developer or user is able to modify the source code (e.g., the structure and/or content of the source) which is ultimately generated by the generator.
    Type: Grant
    Filed: March 12, 2001
    Date of Patent: June 17, 2008
    Assignee: International Business Machines Corporation
    Inventors: Kenneth A. Chupa, Timothy M. Francis, Steven F. Wasleski, L. Scott Rich
  • Patent number: 7389502
    Abstract: A method, apparatus and system including selecting a phase threshold value, receiving a plurality of sequenced buffers, determining a distance between centers of at least two consecutive histogram bins, comparing the distance with the selected threshold value, and determining major execution phases of an executable process based on the comparison.
    Type: Grant
    Filed: March 31, 2004
    Date of Patent: June 17, 2008
    Assignee: Intel Corporation
    Inventors: Ara V. Nefian, Ali-Reza Adl-Tabatabai
  • Patent number: 7389501
    Abstract: The construction of Static Single Assignment form (SSA) is used as a dynamic conflict graph so that while constructing SSA in linear time, the program being analyzed is simultaneously register allocated. When allocating a register for the symbol, the conflict set is examined so that the register chosen for the symbol is not used by a symbol in the conflict set. When a symbol is register-allocated, the symbol is added to all the conflict set of all live symbols. A live symbol is determined by keeping two counters, called herein a use counter and a use threshold counter. Both counters are initialized when a definition of a symbol is encountered in a block. Both counters are incremented when a use of the symbol is encountered when traversing a block in a depth-first downward traversal. The use count is decremented when a use is detected when traversing the block in an upward traversal.
    Type: Grant
    Filed: February 18, 2003
    Date of Patent: June 17, 2008
    Assignee: Microsoft Corporation
    Inventors: Karim T. Farouki, James J. Radigan
  • Patent number: 7389497
    Abstract: A method and system for tracing profiling information using per thread metric variables with reused kernel threads is disclosed. In one embodiment kernel thread level metrics are stored by the operating system kernel. A profiler request metric information for the operating system kernel in response to an event. After the kernel thread level metrics are read by the operating system for a profiler, their values are reset to zero by the operating system kernel. The profiler then applies the metric values to base metric values to appropriate Java threads that are stored in nodes in a tree structure base on the type of event and whether or not the kernel thread has been reused. In another embodiment non-zero values of thread level metrics are entered on a liked list. In response to a request from a profiler, the operating system kernel reads each kernel thread's entry in the linked list and zeros each entry.
    Type: Grant
    Filed: July 6, 2000
    Date of Patent: June 17, 2008
    Assignee: International Business Machines Corporation
    Inventors: Ronald O'Neal Edmark, Frank Eliot Levine, Robert J. Urquhart