Object Oriented Patents (Class 717/165)
  • Patent number: 8020143
    Abstract: An aspect-oriented system includes a way to access both local and remote advice that is consistent with the modularity concerns of an aspect-oriented program. During compilation of the aspect-oriented program, a weaver determines whether advice referenced by an aspect is local or remote. If the advice is local, the weaver applies the local advice to the base program. If the advice is remote, the weaver generates remote invocation code that may include client stubs and server code to handle the marshalling and unmarshalling of parameters. Invocations to the client stub are then inserted into the join points of the base program. At run-time, the server name and number that has the remote aspect is determined. When the client stub is invoked, the remote advice on the specified server may be accessed. The result is an improved weaver that may generate code to access remote advice in a different JVM.
    Type: Grant
    Filed: January 10, 2007
    Date of Patent: September 13, 2011
    Assignee: International Business Machines Corporation
    Inventors: Cheng-chieh Cheng, Teresa Chung Kan, Jian Tang
  • Patent number: 8010973
    Abstract: Methods, apparatuses, and systems for managing a network with a non-system class loader via remote method invocation are described. A method includes transferring the Java remote method invocation (RMI) call to a network element in order to obtain a version of the management software associated with the network element. The method further includes determining if a requested class to be loaded by a class loader based on the RMI call belongs to a system namespace or a non-system namespace. The method further includes obtaining a byte code associated with the requested class from a class hash with a class name key if the requested class belongs to the non-system namespace. The method further includes loading the requested class and associated byte code to a Java virtual machine with a non-system class loader if the requested class belongs to the non-system namespace.
    Type: Grant
    Filed: May 31, 2007
    Date of Patent: August 30, 2011
    Assignee: Calix, Inc.
    Inventor: Ritesh Shetty
  • Patent number: 8001526
    Abstract: A property storage structure is provided that is configured to store properties for a display object. The property storage structure includes a property object that corresponds to a property of the display object. The property storage structure is identified according to a key (e.g., the key identifies the property object as a fill style object that corresponds to a fill style property for the display object). The property object hierarchically includes a value designating what type of object for the property object identified by the key (e.g., the fill style object includes a value that designates the fill style object as a solid color fill type).
    Type: Grant
    Filed: September 15, 2005
    Date of Patent: August 16, 2011
    Assignee: Microsoft Corporation
    Inventor: Ashley L. Morgan
  • Patent number: 8001541
    Abstract: A system 300 and method for fast matching of JAVA classpaths in a shared classes JVM system by identifying classpaths of loaded classes and storing a local array (110, 210) of identified classpaths in order to avoid checking on a subsequent class load for a particular JVM. This allows dramatic speeding up of class-loading in cases where multiple JVMs are running similar applications.
    Type: Grant
    Filed: November 9, 2006
    Date of Patent: August 16, 2011
    Assignee: International Business Machines Corporation
    Inventor: Benjamin John Corrie
  • Patent number: 7984419
    Abstract: A system and method for categorizing bundles into two categories in an OSGi framework. The first type of bundle is referred to as a code sharing bundle, while the second type of bundle is referred to as an application bundle. Code sharing bundles are primarily static in nature and act as libraries, while application bundles are dynamic and contain active applications. This arrangement reduces dependencies between bundles, as well as providing a number of additional benefits.
    Type: Grant
    Filed: April 25, 2005
    Date of Patent: July 19, 2011
    Assignee: Nokia Corporation
    Inventor: Daniel Fey
  • Patent number: 7962895
    Abstract: According to a technique described herein, a binding document comprises one or more “<bind>” element instances. Each “<bind>” element instance indicates an association between (a) an SVG element instance and (b) a class. When a binding's name is passed to a “createFromTemplate( )” method, the method processes all of the “<bind>” element instances that are associated within that name. For each such “<bind>” element instance, the method (a) creates, in an SVG DOM tree, a clone of a node that corresponds to an SVG element instance indicated in that “<bind>” element instance, (b) instantiates an object that is an instance of a class that is indicated in that “<bind>” element instance, and (c) stores data that establishes a binding between the clone node and the object. Methods of the object can be invoked to affect and/or alter attributes of the clone node to which the object is bound.
    Type: Grant
    Filed: July 20, 2006
    Date of Patent: June 14, 2011
    Assignee: Oracle America, Inc.
    Inventor: Peter T. Liu
  • Patent number: 7958490
    Abstract: A configurable class system for an application author working in an application development environment that automates the handling of undo, redo and logging operations is discussed. The configurable class system removes the burden from the application author of having to custom manage undo, redo and logging information during application writing by providing the necessary mechanisms to every application object created. The configurable class system also allows the application author to handle exceptional state changes in an application by configuring the underlying base classes provided by the configurable class system. Additionally, the embodiments of the present invention enable the application author to customize the compression of a series of identified operations by selecting the type of operations that are to be compressed and the manner in which the compression is to occur.
    Type: Grant
    Filed: December 29, 2006
    Date of Patent: June 7, 2011
    Assignee: The MathWorks, Inc.
    Inventor: David A. Foti
  • Patent number: 7958501
    Abstract: A system may provide generation of a file to declare one or more persistent classes, the file formatted according to a markup language syntax, and generation, based on the file, of code of an object-oriented language to declare the one or more persistent classes and to describe a structure of each of the one or more persistent classes. Further aspects may include calling a constructor to register an interface to a description of a persistent class, accessing the registered interface to determine the structure of the persistent class, and processing an instance of the persistent class based on the determined structure.
    Type: Grant
    Filed: March 31, 2006
    Date of Patent: June 7, 2011
    Assignee: SAP AG
    Inventor: Peter Goertz
  • Publication number: 20110131558
    Abstract: A method comprising: independently compiling a plurality of modules of source code to generate a plurality of respective object modules comprising a plurality of respective parallel threads explicitly designated by a user to be executed in parallel on a target platform; in each of the object modules, inserting at least one symbol indicative of a usage of a resource of the target platform associated with the respective thread; executing a linker to perform a linking process for linking the object modules, wherein the linking process comprises assessing the symbols in conjunction with one another, and based on the assessment generating an indication relating to a usage of the resource required for execution of the threads in parallel.
    Type: Application
    Filed: May 11, 2009
    Publication date: June 2, 2011
    Applicant: Xmos Limited
    Inventors: Martin Young, Richard Osborne, Douglas Watt
  • Publication number: 20110113412
    Abstract: When a modification is applied to a statically linked executable program file, in the executable program file, an old object is replaced with a new object by adding the new object to a bottom of already-existing objects without changing the location of the old object, and the reference relationship of symbols among objects is updated and resolved and thereby a modification is applied.
    Type: Application
    Filed: January 18, 2011
    Publication date: May 12, 2011
    Applicant: Fujitsu Limited
    Inventors: Masaki KOBAYASHI, Masanori Iwazaki
  • Publication number: 20110113409
    Abstract: Systems and methods for efficient compilation and execution of program code. A compiler generates a plurality of families of object files, wherein each family comprises a set of system capabilities different from a set of another family. A link-editor receives the object files and stores a symbol capabilities table in a symbol capabilities section of an object file with a new file format. A symbol is associated with one or more instances, wherein each instance is associated with a different set of capabilities. In various embodiments, system capabilities may include a particular operating system, special-function additional instructions, or otherwise. Subsequent to creation of the single object file with multiple instances of a given function, a runtime linker chooses a given instance based on the capabilities of the platform on which the code is to be executed.
    Type: Application
    Filed: November 10, 2009
    Publication date: May 12, 2011
    Inventors: Rodrick Evans, Ali Bahrami
  • Patent number: 7925640
    Abstract: In the described embodiments, a computer constructs a dispatch data structure for a holder by first determining a set of member holders from which the holder inherits. The computer then constructs an “i-table” that includes holder addressor regions that each contains addressors for an associated set of members. Each of the holder addressor regions is associated with an i-table index. The computer next collects a set of identification numbers for the set of member holders and, from these, constructs an “m-table.” The size of the m-table is selected to perfectly hash the set of identification numbers by the m-table size. The computer then computes an m-table index for each of the set of identification numbers modulo the m-table size and uses the m-table index to populate the m-table. The computer next stores the i-table index in the m-table in accordance with the m-table index.
    Type: Grant
    Filed: February 14, 2008
    Date of Patent: April 12, 2011
    Assignee: Oracle America, Inc.
    Inventors: Bernd J.W. Mathiske, Laurent P. Daynes, Gregory M. Wright
  • Patent number: 7908598
    Abstract: A method for generating computer code includes automatically generating a data structure based on a data description. Automatically generating a user interface based on the data description. Automatically generating linking code for linking the generated data structure, the user interface and control code.
    Type: Grant
    Filed: September 21, 2006
    Date of Patent: March 15, 2011
    Assignee: Computer Associates Think, Inc.
    Inventors: Christopher Betts, Trudi L. Ersvaer
  • Patent number: 7900199
    Abstract: A method for creating a reusable library, including providing one or more functions, providing a function table for the provided one or more functions, and providing a configuration structure for communicating values between the provided one or more functions and a program that calls the reusable library. The program that calls the reusable library communicates a function table structure to the reusable library containing information as to which of the one or more functions are desirable. When those of the one or more functions that are not desirable contain dependencies, those dependencies are canceled.
    Type: Grant
    Filed: May 20, 2005
    Date of Patent: March 1, 2011
    Assignee: Computer Associates Think, Inc.
    Inventor: Paul Gassoway
  • Publication number: 20110010696
    Abstract: One or more embodiments of the present invention relate to a method for duplicate virtual function table removal. The method includes identifying, using a processor of a computer, a first virtual function table formed when a first source code is compiled into a first object code. The method further includes using the processor, identifying a second virtual function table formed when a second source code is compiled into a second object code. The method further includes, independent of linking the first object code to a first executable binary code and the second object code to a second executable binary code, identifying, using the processor, that the first virtual function table and the second virtual function table are identical and, using the processor, deleting the second virtual function table.
    Type: Application
    Filed: July 9, 2009
    Publication date: January 13, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Sheldon M. Lobo, Fu-Hwa Wang
  • Patent number: 7849449
    Abstract: System and method for implementing a design flow for a programmable hardware element (PHE) that includes a processor. A graphical program (GP) is received, where the GP specifies performance criteria. The GP is mapped for deployment, with a first portion targeted for execution by the processor, and a second portion targeted for implementation in the PHE. A determination is made as to whether the graphical program meets the performance criteria. If not, the GP is remapped for deployment, including identifying and specifying the sub-portion for implementation in the PHE, thereby moving the sub-portion from the first portion to the second portion, and/or identifying and specifying the sub-portion for execution on the processor, thereby moving the sub-portion from the second portion to the first portion. The determining and remapping is repeated one or more times until the performance criteria are met. The first and second portions are deployed to the PHE.
    Type: Grant
    Filed: December 5, 2006
    Date of Patent: December 7, 2010
    Assignee: National Instruments Corporation
    Inventors: Hugo A. Andrade, Joseph E. Peck
  • Patent number: 7849451
    Abstract: A dynamic delegation chain of executor objects can, at runtime, adapt code units to be executed as isolated computations prior to their execution to comport with current state of an environment. A dynamic delegation chain performs the dynamic runtime adaptation of the code unit in accordance with isolated computations that host the executor objects of the delegation chain. Adapting a code unit prior to execution of the code unit allows adaptation of the code unit to a current state, as well as at least reducing concerns of program integrity.
    Type: Grant
    Filed: March 2, 2006
    Date of Patent: December 7, 2010
    Assignee: Oracle America Inc.
    Inventors: Krzysztof Palacz, Grzegorz J. Czajkowski, Laurent P. Daynès
  • Publication number: 20100306742
    Abstract: An apparatus and a method for managing class properties in a computer program is described. Classes are declared. Each class is associated with a corresponding property with at least one class inheriting one or more property corresponding to one or more other classes. A table generator forms a table of property offsets associated with each class. The table is copied forward with each inheritance declaration. A reference to a property of a class is resolved by retrieving the table associated with a current instance's class and resolving from the table associated with the class corresponding to an object from which the property is referenced.
    Type: Application
    Filed: May 29, 2009
    Publication date: December 2, 2010
    Inventor: James Paul Schneider
  • Patent number: 7836440
    Abstract: A method for using dependency-based grouping to establish class identity comprises categorizing a plurality of classes into a set of class groups based at least in part on one or more dependencies between the classes, and generating metadata to be use for loading the classes, where the metadata includes a mapping between the set of class groups and the plurality of classes. The metadata may also include respective signatures for class groups and/or the individual classes. The method may also include validating, using at least a portion of the metadata, the identity of a particular version of a class of the plurality of classes, prior to loading the version for execution.
    Type: Grant
    Filed: April 27, 2006
    Date of Patent: November 16, 2010
    Assignee: Oracle America, Inc.
    Inventors: Timothy J. Blackman, James H. Waldo
  • Patent number: 7831965
    Abstract: One embodiment of the present invention provides a system that resolves references in an in-place execution file for a platform-independent virtual machine into physical addresses. During operation, the system receives an in-place execution file in which references have been replaced with in-place encoded metadata specifying attributes of the references. The system then resolves a reference by obtaining in-place encoded metadata for the reference from a location in the in-place execution file, using the in-place encoded metadata to determine an address of an associated referent, and then replacing the in-place encoded metadata at the location in the in-place execution file with the address of the referent.
    Type: Grant
    Filed: August 12, 2004
    Date of Patent: November 9, 2010
    Assignee: Oracle America, Inc.
    Inventors: William F. Pittore, Antero K. P. Taivalsaari
  • Patent number: 7827525
    Abstract: A data embodying object is programmed in accordance with object oriented techniques, and implements data retrieval methods without access to an external database, but rather using code in the object that includes immediate values which themselves embody the data to be retrieved in response to an invocation of the method. As a consequence, the data retrieval method is executed without external access to a DASD or other external data source and without the resulting delays or unavailabilities. The data-embodying object takes the form of a class, and can have one or more methods returning data. The class is automatically generated and can be compiled into its own library file, or added to an existing project and compiled into the executable file. Like a typical class and source code, the code and data of an object can be obfuscated, and/or the data encrypted, and afforded all the other protections available to program source code.
    Type: Grant
    Filed: June 2, 2006
    Date of Patent: November 2, 2010
    Inventor: Richard Paul Navaro
  • Patent number: 7823143
    Abstract: A system and method are described for performing efficient multi-parent class loading. In one embodiment, a request is received at an initiating class loader. A set of class loaders capable of loading the class is narrowed to a set of candidate class loaders. The narrowing of the set of class loaders is performed based on a previously built data structure. A parent class loader from a previously built array of class loaders is used to load the class if the parent class loader is an element of the set of candidate class loaders.
    Type: Grant
    Filed: April 29, 2005
    Date of Patent: October 26, 2010
    Assignee: SAP AG
    Inventor: Dirk Marwinski
  • Publication number: 20100251225
    Abstract: A recording medium storing a computer readable resource-bound program for instructing the computer to execute processing, the resource-bound program including receiving an execution start instruction, initiating the executable program when the execution start instruction is an execution instruction for the executable program including a resource used for generating an executable program, and extracting and outputting the resource when the execution start instruction is an output instruction of the resource.
    Type: Application
    Filed: March 25, 2010
    Publication date: September 30, 2010
    Applicant: FUJITSU LIMITED
    Inventor: Hiroyoshi NAKAYAMA
  • Patent number: 7802239
    Abstract: According to one embodiment of the invention, the JAVA compiler is modified so that when the JAVA compiler determines, while compiling source code, that an invocation of a first method, which expects to receive a reference to an object, passes, to the first method, a reference to a second method instead of a reference to an object, the JAVA compiler does not issue a compile-time error as the JAVA compiler normally would. Instead, the JAVA compiler generates compiled code (e.g., byte code) that the JAVA compiler would have generated if the source code had (a) defined a “bridge” class that implemented a method that invoked the second method and (b) contained, in the invocation of the first method, a reference to an object that was an instance of the “bridge” class in the place of the reference to the second method.
    Type: Grant
    Filed: November 9, 2005
    Date of Patent: September 21, 2010
    Assignee: Oracle America, Inc.
    Inventor: Graham Hamilton
  • Patent number: 7788660
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for loading a class with a resource adapter classloader and enabling the class to be accessible by other components that interconnect with the resource adapter. In an embodiment, a method for loading a class with a resource adapter classloader is provided that includes detecting an indicator specifying that at least one class loaded by a classloader associated with a resource adapter be made accessible to at least one other classloader. The at least one class loaded by the classloader associated with the resource adapter is made accessible to a system classloader. The at least one other classloader is permitted the capability to access the at least one class loaded by the classloader associated with the resource adapter via the system classloader.
    Type: Grant
    Filed: November 17, 2005
    Date of Patent: August 31, 2010
    Assignee: BEA Systems, Inc.
    Inventors: Codanda Ganapathy Chinnappa, James William Gish, Brian Christopher Chesebro
  • Patent number: 7770158
    Abstract: A method, computer program product, and apparatus comprise providing a Java developer kit class library comprising first Java classes; providing a Java Open Foundation class library comprising second Java classes each containing one or more of the first Java classes; providing a .NET SDK class library comprising .NET classes; providing a .NET language Open Foundation class library comprising first .NET language classes each containing one or more of the .NET classes; wherein each of the .NET language classes presents the same method signature as one of the second Java classes; receiving Java source code defining third Java classes, first calls to the first Java classes, and second calls to the second Java classes; translating the third Java classes into second .NET language classes; and translating the first calls to calls into the .NET SDK class library without modifying the second calls.
    Type: Grant
    Filed: October 14, 2004
    Date of Patent: August 3, 2010
    Assignee: BEA Systems, Inc.
    Inventors: John Alexander Osborne, Jeffrey Scott Miller, Alexander Rothschild Aickin, Raja Mani, Adrian Peter McDermott, David Vydra
  • Publication number: 20100192130
    Abstract: An “Automated, Static Safety Verifier” uses typed assembly language (TAL) and Hoare logic to achieve highly automated, static verification of type and memory safety of an operating system (OS). Various techniques and tools mechanically verify the safety of every assembly language instruction in the OS, run-time system, drivers, and applications, except the boot loader (which can be separately verified). The OS includes a “Nucleus” for accessing hardware and memory, a kernel that builds services running on the Nucleus, and applications that run on top of the kernel. The Nucleus, written in verified assembly language, implements allocation, garbage collection, multiple stacks, interrupt handling, and device access. The kernel, written in C# and compiled to TAL, builds higher-level services, such as preemptive threads, on top of the Nucleus. A Hoare-style verifier with automated theorem prover verifies safety and correctness of the Nucleus. A TAL checker verifies safety of the kernel and applications.
    Type: Application
    Filed: February 27, 2010
    Publication date: July 29, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Chris Hawblitzel, Jean Yang
  • Patent number: 7761862
    Abstract: Modules which are running outside of a first application server virtual machine (VM) are enabled to introspect into modules running inside the first VM by notifying a manageable component factory by an application module being executed by a first application server VM of a need to allow a second VM to introspect into and to load class information regarding objects already running in the first VM, wherein the first and second virtual machines are separate virtual machines; registering the already-running object class information to a manageable component server using a descriptor; and loading the registered class information by the second VM from the manageable component server, wherein a tool object or administrative object running in the second VM introspects into and loads the objects already running in the first virtual machine without use of an application programming interface.
    Type: Grant
    Filed: March 10, 2006
    Date of Patent: July 20, 2010
    Assignee: International Business Machines Corporation
    Inventors: Thomas R. Gissel, Michael Levi Fraenkel, Brian Keith Martin
  • Patent number: 7752603
    Abstract: Data element values are shared between a first software component and a second software component of a document processing framework. The components can capture, process, or route a digital image of a document and access a configuration file that is generated for the image. A data element attribute and value pair is placed in the configuration file. The value of the data element is a tag that includes an identifier identifying the first software component and a tag name. The first software component is executed on the image, produces a tag value corresponding to the tag name, searches the configuration file for the tag by the identifier, replaces the tag with the tag value in the configuration file, and terminates. The second software component is executed on the image after the first software component has terminated and reads the data element attribute and value pair.
    Type: Grant
    Filed: December 8, 2004
    Date of Patent: July 6, 2010
    Assignee: Notable Solutions, Inc.
    Inventors: Henric Harutunian, Kaveh Parsee, Mehdi Tehranchi
  • Patent number: 7747991
    Abstract: Noting that there is a case where a type of a pointer “this” in a member function can be specified, the present invention provides a program converting method in which a virtual function call can be converted into a direct function call, and by which improvement of execution performance as well as reduction of a code size of a program can be achieved. The program converting method is a method for converting a program described in an object-oriented language, including: analyzing, in the program, a type of an instance by which a method is called; extracting, from a definition of the method, a virtual method call which is called by the instance; and converting, based on the type of the instance analyzed by the analyzing, the virtual method call extracted by the extracting, into a direct method call.
    Type: Grant
    Filed: November 14, 2005
    Date of Patent: June 29, 2010
    Assignee: Panasonic Corporation
    Inventor: Hirohisa Tanaka
  • Patent number: 7743282
    Abstract: A diagnostic system in an aspect-oriented data processing environment is provided. The environment comprises a data processing system having an operating system for executing an application, wherein the application comprises an object class. The environment also comprises means for loading the object class at runtime and storage means for storing a diagnostic aspect. An aspect implements concerns (e.g. logging, security) that cross-cut the application. The object class of the application is loaded at runtime and the diagnostic aspect is read from the storage means. The means for loading now combines the object class with the diagnostic aspect, so that for example, diagnostics can be captured and repairs on the application can be carried out.
    Type: Grant
    Filed: June 7, 2008
    Date of Patent: June 22, 2010
    Assignee: International Business Machines Corporation
    Inventor: Adrian Mark Colyer
  • Publication number: 20100131920
    Abstract: The invention provides a parametric EDA function tool and a method of simplifying EDA programming language, characterized by using an EDA language unit to convert the programming language into a parametric EDA language mode having format strings and variable length arguments; using a function formation unit to form EDA function codes from the parametric EDA language; and using an executive file generator to compile the EDA function codes into an executive file to be executed by a verification device, thereby overcoming the drawbacks of having vast and inflexible EDA programming language that occupies large memory spaces and thus the increased costs for verification as encountered in prior techniques.
    Type: Application
    Filed: June 27, 2009
    Publication date: May 27, 2010
    Applicant: National Taiwan University
    Inventor: Farn Wang
  • Patent number: 7725878
    Abstract: A method and apparatus for associating methods or attributes on a per-instance basis is provided. One technique for providing “per-instance attributes” involves properties and property bundles. A second technique for providing “per-instance attributes” involves categories wherein the instance can be thought of as being “placed” into one or more categories. A technique for providing “per-instance methods” involves policies. In any of these techniques, providing per-instance properties may be used in any of the following ways: (1) different instances of the same class are associated with different properties where the properties are not in the class; and (2) two instances of two different classes are associated with the same property where the property is not in either of the two classes.
    Type: Grant
    Filed: December 28, 2001
    Date of Patent: May 25, 2010
    Assignee: Oracle International Corporation
    Inventors: David J. Long, David B. Pitfield
  • Patent number: 7721274
    Abstract: Performance information can be utilized for comparison of resolving an external object reference through a linking module against accessing the external object directly (“relocation processing”). With the performance information, a determination of whether performing relocation processing on a runtime linked external object reference provides improved runtime performance sufficient to outweigh the runtime linking overhead incurred from the relocation processing is made. If the improvement in runtime performance is sufficient, then the runtime linked external object reference, or the code section that includes the reference, is marked to indicate that relocation processing should be applied.
    Type: Grant
    Filed: May 5, 2004
    Date of Patent: May 18, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Maksim V. Panchenko, Fu-Hwa Wang
  • Patent number: 7721277
    Abstract: System and method for the hot deployment of shared modules, for example standalone resource adaptor modules (RARs), in systems. A class loader mechanism may utilize, in a hierarchy of class loaders, a shared “delegator” class loader which delegates received load class requests to a chain of class loaders, each representing a hot-deployable module. Hot deployment of a module results in the redeployment of the associated class loader in the chain rather than in a single, shared class loader. In one embodiment, when a load class request is received, the delegator class loader traverses the chain to find the class loader to load the class indicated by the request, the request is delegated to the class loader, and the class loader loads the class. If the module and class loader are subsequently redeployed, the redeployed version of the class loader loads the new version of the class.
    Type: Grant
    Filed: June 8, 2004
    Date of Patent: May 18, 2010
    Assignee: Oracle America, Inc.
    Inventors: Sivakumar Melapannai Thyagarajan, Binod Pankajakshy Gangadharan, Srikanth Padakandla
  • Patent number: 7721276
    Abstract: Under the present invention, source input corresponding to a first release of Java byte code and target input corresponding to a second release of the Java byte code is received. The input is transformed into a first list containing class names associated with the first release and a second list containing class names associated with the second release. Thereafter, any classes corresponding to class names that appear on both lists (e.g., matching class names) are loaded. The methods within the matching classes are then compared to determine if any of the APIs have been modified between the two releases. After the comparison, the matching class names are removed from the lists. Any class names remaining on the first list represent APIs that have been removed from the second release, while any class names remaining on the second list represent APIs that have been added for the second release.
    Type: Grant
    Filed: February 20, 2004
    Date of Patent: May 18, 2010
    Assignee: International Business Machines Corporation
    Inventor: Fuhwei Lwo
  • Patent number: 7694291
    Abstract: A build optimization tool analyzes builds of software/firmware to determine the ordering of code objects in first and second code versions for an electronic client device such as a cellular phone, personal digital assistant, or pager. The build optimization tool produces information for use by a software linker to link the code objects of the second code version in a more optimal order for the production of updating information used in the electronic client device for updating the software/firmware of the electronic client device.
    Type: Grant
    Filed: February 13, 2006
    Date of Patent: April 6, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Shao-Chun Chen, Iyad Qumei
  • Publication number: 20100067711
    Abstract: The method for manufacturing a hearing device, which hearing device includes at least one programmable processor, includes the steps of a) providing a set of software members, b) selecting a subset of said set, and c) creating an image of said subset, which is executable in said at least one processor. This allows to select from a large set of software members only those, which are suitable for a specific user. The system for manufacturing a hearing device in dependence of individual preferences of a user of said hearing device, which hearing device includes at least one programmable processor, includes a selecting tool allowing to select a subset of software members from a set of software members, and a build tool for creating an image of said subset of software members, wherein said image is executable in said at least one processor.
    Type: Application
    Filed: January 15, 2007
    Publication date: March 18, 2010
    Applicant: PHONAK AG
    Inventor: Bernd Waldmann
  • Patent number: 7676801
    Abstract: In computer systems including memory which execute programs of instructions, vtables associated with objects contain pointers which invoke operations to be performed by the program which are related to the objects. The operation invoked may include the step of modifying the pointer such that upon a subsequent reference to the vtable a different operation is invoked.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: March 9, 2010
    Assignee: Sun Microsystems, Inc.
    Inventor: Alexander T. Garthwaite
  • Patent number: 7657899
    Abstract: A technique is described that allows a software client to create at run-time a software object that appears to extend or alter the functionality of an existing software class definition. For example, a decorator factory generates a proxy object that dynamically implements a set of interfaces specified by the software client at runtime. From the perspective of the client, the proxy object is logically a child object of the original existing base object. The child object appears to be enhanced by the methods and attributes defined by the set of interfaces and the methods implemented by the delegate object. However, the proxy object does not have actual parent classes. Instead, an invocation transparently intercepts method invocations from the client to the proxy object and invokes the appropriate method, regardless of whether the method is implemented in the base object, the delegate object, or within the proxy object itself.
    Type: Grant
    Filed: March 9, 2005
    Date of Patent: February 2, 2010
    Assignee: Computer Associates Think, Inc.
    Inventor: Kevin W. Werner
  • Patent number: 7644401
    Abstract: The present invention provides a method, apparatus and computer program product for combining a plurality of run units into a single executable file. According the invention each run unit may contain one or more data entities which are designated as being required only once in an executable file. As a result when the executable file is built, if a run unit with a data entity of a given value is to be added to an executable file, if a previous run unit with a data entity with a matching value has previously been added to the executable file, the run unit is added to the executable file but without the data entity.
    Type: Grant
    Filed: March 4, 2004
    Date of Patent: January 5, 2010
    Assignee: International Business Machines Corporation
    Inventors: Ian George Griffiths, Robert Harris
  • Patent number: 7644402
    Abstract: A method for reducing a usage of main memory by a first class loader and a second class loader is provided. The first class loader and the second class loader are capable of dynamically loading a class having a class file, and translating the class file into a first and a second class type, respectively. The method includes dividing a runtime representation of the first class type into a first loader independent part and a first loader dependent part. Also included is determining whether a runtime representation of the second class type can use the first loader independent part of the runtime representation of the first class type. If the first loader independent part can be used, the method includes generating a second loader dependent part of the runtime representation of the second class type using the first loader independent part of the runtime representation of the first class type.
    Type: Grant
    Filed: March 17, 2004
    Date of Patent: January 5, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent Daynes, Grzegorz Czajkowski
  • Patent number: 7627865
    Abstract: An instrumentation client API is provided within a managed code runtime environment for accessing instrumentation data that resides outside of the managed code runtime environment. The instrumentation client API provides access to instrumentation data in a manner that is consistent with the classes and models provided by the runtime environment, raises exceptions in a manner that is compatible with the runtime environment, and is secure. The instrumentation client API wraps, or translates, calls to and from an instrumentation data source external to the runtime environment. The API interacts with an interface provided by the instrumentation data source to provide functionality and connectivity that is not otherwise provided by the instrumentation data source. The API also provides access to instrumentation data in a manner that is consistent with the models and classes provided by the runtime platform.
    Type: Grant
    Filed: July 6, 2001
    Date of Patent: December 1, 2009
    Assignee: Microsoft Corporation
    Inventors: Travis J. Muhlestein, Corina E. Feuerstein, Justin Grant, Markus Horstmann, Radu Rares Palanca, Alan G. Boshier
  • Patent number: 7624131
    Abstract: Described is a collection of type versions (objects) associated with an application program that lists only those type versions that can be bound to an application program. This ensures stability and security by preventing other type versions from being bound to the application program, unless overridden by policy. A type binding process only materializes objects for stored types that correspond to matching type versions in the application's known types collection. The type may be loaded from a local folder, or from a global cache, providing installation flexibility. A data container accessible to the application may be populated with data for fields defined on a type in the collection having a version not bound to the application program, and for fields of a related type not maintained in the collection. Default values are used to populate any unpopulated fields when policy specifies that a different type version be used.
    Type: Grant
    Filed: January 18, 2007
    Date of Patent: November 24, 2009
    Assignee: Microsoft Corporation
    Inventors: Jason Hunter, David John Nettleton
  • Patent number: 7603381
    Abstract: A computing system for the publication of actions associated with the current context of an entity, such as a business object is provided. The computing system has a component that stores entities, a component that stores the actions associated with the entities, and a software component that provides information about the current context or contexts of an entity and actions associated with the current contexts of the entity. The computing system may further include a client system that requests and displays the actions associated with the current contexts of an entity. A method for contextual publication of actions associated with an entity is also provided. The method provides the current contexts of the entity. The method further provides the actions associated with the current contexts of the entity. Multiple user interfaces are provided for the management of and access to actions associated an entity.
    Type: Grant
    Filed: September 30, 2004
    Date of Patent: October 13, 2009
    Assignee: Microsoft Corporation
    Inventors: Jonah Sarbin Burke, Howard Morrison Crow, III, Targo Tennisberg
  • Patent number: 7603666
    Abstract: A class loader locates, at run time, a requested code component. The code component is preferably stored on a database, rather than in a file system, to improve its accessibility in a network computing environment. Code components are preferably stored in the database using an organizational structure that reflects a code isolation structure. In this manner, different versions of a particular code component can be retrieved in a transparent, automated manner, depending on information associated with the invocation thereof.
    Type: Grant
    Filed: June 16, 2004
    Date of Patent: October 13, 2009
    Assignee: International Business Machines Corporation
    Inventors: Daniel C. McPherson, David M. Wendt
  • Patent number: 7603665
    Abstract: One embodiment of the present invention provides a system that facilitates loading of an in-place executable file into a virtual machine. The system operates by loading the in-place executable file into the virtual machine, where the in-place executable file contains internal pointers that point to memory locations within the in-place executable file, and a target memory address that specifies a target location in memory where the in-place executable file is configured to be loaded. The system then determines an actual memory address at which the in-place executable file is actually loaded. If the actual memory address and the target memory address are different, the system generates an offset value, which is the difference between the actual memory address and the target memory address. Finally, the system adjusts each internal pointer within the in-place executable file by the offset value so that the internal pointers point to intended locations inside the in-place executable file.
    Type: Grant
    Filed: June 29, 2004
    Date of Patent: October 13, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Antero K. P. Taivalsaari, William F. Pittore
  • Publication number: 20090241098
    Abstract: Duplicative code found in modules of high level computer code can be eliminated at link-time. A compiler forms a plurality of object files from a software program in which each object file includes one or more functions associated with the software program. An analyzer examines each function to ascertain whether any of the plurality of object files include functional duplicates. In addition, call and caller routing references are determined for each of the object files and functions contained therein. Responsive to determining that a functional equivalence exists, the routing of duplicative functions is altered to reference a golden copy of the same function. Once the call and caller information has been re-routed, the duplicative function(s) is(are) deleted.
    Type: Application
    Filed: March 18, 2008
    Publication date: September 24, 2009
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Sheldon M. Lobo, Fu-Hwa Wang
  • Patent number: 7590970
    Abstract: A system that facilitates generation of code from a HMI representation of objects in an industrial automation environment. A component analyzes the HMI representation of objects, and a code generation component generates code based at least upon the analyzed HMI object.
    Type: Grant
    Filed: January 28, 2008
    Date of Patent: September 15, 2009
    Assignee: Rockwell Automation Technologies, Inc.
    Inventor: Clifton Harold Bromley
  • Patent number: RE41138
    Abstract: As to an object-oriented programming, reuse of softwares is enhanced and running speed is improved. There are made up a data element list in which pointers to data storage areas of object A are arranged and a pointer element list in which pointers to pointer storage areas of object B are arranged. A combination of the data element list and the pointer element list makes it possible to directly refer to data of the object A from the object B. Object-oriented programming is performed by displaying objects connected by wirings that represent the flow of data, control or messages from one object to a second object. A coupling of input and output terminal so that objects is shown by displaying a wiring between the terminals. A coupling structure is constructed in accordance with the wiring within an object hierarchy, so that instructions to rearrange, duplicate or replace objects may be permitted. The display is preferably divided into domains, for the respective display of the objects and the wiring.
    Type: Grant
    Filed: March 8, 2006
    Date of Patent: February 16, 2010
    Assignee: Fujitsu Limited
    Inventors: Fumio Nagashima, Kaori Suzuki, Asako Yumoto, Tsuguto Maruyama, Shigeru Sasaki, Ryousuke Suda, Miwa Ueki