Patents Examined by Sue Lao
  • Patent number: 6996825
    Abstract: An efficient method of sub-typing an object in an object oriented computing environment is provided. In one embodiment, the sub-typing method loads an input object having an object type, whereby an embedded array and a cache are searched for an object sub-typing data structure corresponding to the requested supertype. Any found object sub-typing data structures are associated with the input object. In some embodiments, if the object sub-typing data structure is not initially found, an overflow array is searched and the cache is updated with the object sub-typing data structure when the object sub-typing data structure is included in the overflow array. A system and software product is further provided in other embodiments whereby information associated with a particular object sub-type is obtained.
    Type: Grant
    Filed: December 27, 2001
    Date of Patent: February 7, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: John R. Rose, Clifford N. Click
  • Patent number: 6996824
    Abstract: Improved techniques for representation of Java string objects are disclosed. The techniques can be implemented to create Java string objects as arrays of one-byte characters when it is appropriate. To create Java string objects, an enhanced constructor can be provided in a Java library that is available to application programs (or programmers). In addition, enhanced Java methods can also be provided in the Java library. An array representation flag can optionally be allocated in the Java string object representation. The array representation flag can indicate whether the Java string object is allocated as an array of one-byte or an array of two-byte characters. Alternatively, the element type of the array can be referenced by using one or more references to determine whether the Java string object has been allocated as an array of one-byte or as an array of two-byte characters.
    Type: Grant
    Filed: August 24, 2001
    Date of Patent: February 7, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Stepan Sokolov
  • Patent number: 6993765
    Abstract: A plurality of tasks are managed by being classified into a communication task group, a control task group, and a management task group for management. An execution order of the plurality of tasks is switched by a group unit and, in accordance with a switched task group, information obtained from a LAN or information obtained from each device is processed by a CPU.
    Type: Grant
    Filed: March 20, 2002
    Date of Patent: January 31, 2006
    Assignee: Hitachi, Ltd.
    Inventors: Shoji Suzuki, Kunihiko Tsunedomi, Satoru Funaki, Masahiko Saito, Yasuyuki Kojima, Takanori Yokoyama, Atsushi Ito
  • Patent number: 6990661
    Abstract: An apparatus and method of downloading data in the form of a device type generic “download entity” (or data object) for use by an electronic device. The device type of the electronic device is determined and any data in the download entity which is not associated with the determined device type is discarded such that only the data which is associated with the determined device type is retained by the electronic device. Installation code is also incorporated into the download entity such that, once downloaded, the installation code is executed by the electronic device to “unpack” and store the data associated with the device type from the download entity.
    Type: Grant
    Filed: May 22, 2001
    Date of Patent: January 24, 2006
    Assignee: International Business Machines Corporation
    Inventor: Jeffrey J. Dobbek
  • Patent number: 6988270
    Abstract: A system and method featuring a collection of model objects which hold data to be shared, and supporting interfaces to read and write the data, to create and destroy collaboration relationships and to attach “view objects” containing application code which will be automatically notified of value changes. Each user environment is provided with a model object control entity, referred to herein as a Collaboration Manager, which creates model objects, executes transactions, and creates association objects related to the collaboration. A concurrency control mechanism records the reads and updates of the data and of collaboration relationships within a single transaction site and guarantees that they are applied atomically and consistently to both the local and to all remote replica objects of the collaboration.
    Type: Grant
    Filed: April 26, 2002
    Date of Patent: January 17, 2006
    Assignee: International Business Machines Corporation
    Inventors: Guruduth Somasekhara Banavar, Kevan Lee Miller, Atul Prakash, Robert Evan Strom, Michael James Ward
  • Patent number: 6988272
    Abstract: An object collaboration apparatus is driven by a message action relation, and can dynamically build a collaboration between objects using a bidding system. A task initiator object circulates a requesting message, indicating the service content that the task initiator object wants to request, on a shared communication channel 504, and this requesting message is received by each service object. If an action that is a reaction to the message is listed in a reaction table 703 stored by the service objects, the service objects create and return a bidding message, which includes a bidding value, for example the CPU load ratio, with the bidding portion 707. An arbitrating portion of the initiator object receives all bidding messages in a certain period of time, and, in consideration of parameters such as the bidding value and the communication time between objects, determines and awards the bid to the bid-winning object. Then, it sends out the requested processing information together with the bid awarding message.
    Type: Grant
    Filed: September 29, 1999
    Date of Patent: January 17, 2006
    Assignee: Fujitsu Limited
    Inventors: Tadashige Iwao, Makoto Okada, Yuji Wada
  • Patent number: 6988271
    Abstract: An instrumentation system performs operations such as profiling an application and partitioning and distributing units of the application using different versions of metadata describing the application. Performing an operation on an executing application generates overhead. Detailed metadata used in operations such as profiling create unnecessary overhead during other operations. By removing metadata detail unnecessary for a particular operation, an instrumentation system using reduced metadata generates less overhead for that particular operation. Different instrumentation packages include different versions of metadata for performing operations on the application.
    Type: Grant
    Filed: July 16, 2001
    Date of Patent: January 17, 2006
    Assignee: Microsoft Corporation
    Inventor: Galen C. Hunt
  • Patent number: 6981268
    Abstract: A system and method are presented that persist assembly bind information for applications at each stage of execution of the assembly policy. New assembly bind history files are created and persisted to disc when changes in assembly bind policy results in a change in the assemblies with which the application binds. This persisted information is used to reconfigure assembly binds to a prior state when operation of the application conformed to a user's desires. Since this assembly bind reconfiguration is on a per application basis, only the binding of the selected application is affected. Likewise, the assembly bind history files are associated with a particular user to allow personalized execution of applications on a system.
    Type: Grant
    Filed: December 5, 2001
    Date of Patent: December 27, 2005
    Assignee: Microsoft Corporation
    Inventors: Alan Shi, Srivatsan Parthasarathy
  • Patent number: 6981263
    Abstract: Embodiments of the present invention relate to systems and methods for a converged service creation and execution application. In an embodiment, an application is coupled to an application server. One or more open application programming interfaces are coupled to the application server, and service session management logic is also coupled to the application server.
    Type: Grant
    Filed: June 29, 2001
    Date of Patent: December 27, 2005
    Assignee: BellSouth Intellectual Property Corp.
    Inventors: Li Zhang, Jeffrey P. Cassanova, Robert B. Collicott
  • Patent number: 6973657
    Abstract: To perform a distributed transaction in a CORBA environment, OTS (the CORBA Transaction Service) defines a process called “control object interpositioning”. It must be carried out on the server side to ensure transaction integrity. However, for middle-tier servers (servers that do not access a database directly) this process is not necessary. The control object can be simply passed through. However, the two propagation methods of OTS do not provide a good way to take advantage of this fact. The present invention defines a model by which the deployment nature of the server can be specified. Middle-tier or database-tier can be defined in a deployment descriptor file, which is read in deployment time by the server process. The present invention will optimize the middle-tier servers by bypassing the control object interpositioning process and handing the control object directly to the next tier, bringing noticeable performance gains for an n-tiered system.
    Type: Grant
    Filed: January 30, 2001
    Date of Patent: December 6, 2005
    Assignee: Sprint Communications Company L.P.
    Inventors: Andrew Ahmad, Jason Xue
  • Patent number: 6973648
    Abstract: A method for processing a multidimensional array object in which a multidimensional array is implemented by an array of array objects. The multidimensional array object comprises array objects which constitute the multidimensional array. Flags representing that it is possible to optimize a process for elements of the multidimensional array object are added as additional information. The flags are stored in a storage device (main memory for instance). Then, a machine code corresponding to a state of the flags is executed.
    Type: Grant
    Filed: January 25, 2000
    Date of Patent: December 6, 2005
    Assignee: International Business Machines Corporation
    Inventors: Tatsushi Inagaki, Hideaki Komatsu, Akira Koseki
  • Patent number: 6973656
    Abstract: An apparatus for implementing “links” between objects or content items in applications or documents in a distributed system such that changes to the source objects or items are reflected in changes to the target objects or content items. The apparatus includes mechanisms for allowing users to establish links, to break individual links, to copy documents or content including links, and to determine locations and/or descriptions of the source of a given target or any or all of the multiple targets of a given source. Advantageously, the apparatus of this invention uses remote message passing for communication, thereby permitting links to be established even when the source and target applications execute on different platforms and even when they share no common file system. The apparatus includes an availability server which can serve as a surrogate for applications which are currently not running.
    Type: Grant
    Filed: August 16, 1995
    Date of Patent: December 6, 2005
    Assignee: International Business Machines Corporation
    Inventors: Tien Huynh, Robert Evan Strom, Michal Z. Ukelson, Daniel M. Yellin
  • Patent number: 6973655
    Abstract: A system for integrating services in a system includes a plurality of services, wherein each service includes a software component associated with the system and provides at least one functionality. A user interface, such as a web browser, displays the plurality of services, wherein each service has a link associated with it for accessing the service directly. A scripting shell, responsive to selection of a first service and a second service from the plurality of services, pipes the first and second services together to form a scenario such that output from the first service is provided as input to the second service. A link may be associated with scenario for accessing the scenario directly.
    Type: Grant
    Filed: December 18, 2001
    Date of Patent: December 6, 2005
    Assignee: Xerox Corporation
    Inventors: Thierry Jacquin, Michel Gastaldo
  • Patent number: 6971110
    Abstract: A system and method provides pacing of window correlation events associated with application windows that are shared with corresponding windows in remote applications. In particular, the system has local application sharing logic that receives events to be shared from a local application, and paces the transmission of these events to be shared to a remote application sharing logic. The remote application sharing logic receives the events to be shared from the local application sharing logic, and transmits the events to at least one corresponding remote application for processing. The present invention can also be viewed as providing a method for pacing the correlation of events associated with a local application that are shared with at least one corresponding remote application.
    Type: Grant
    Filed: February 19, 2000
    Date of Patent: November 29, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: John Marks, Todd M. Spencer
  • Patent number: 6971100
    Abstract: Temporary states are used transitionally in run-time situations and are unknown to the object database. A temporary state is created if, when an object is performing a requested event, interim work needs to be performed before the object reaches a permanent destination state. Use of a temporary state is transparent to the caller of the requested event.
    Type: Grant
    Filed: April 5, 2002
    Date of Patent: November 29, 2005
    Assignee: Xerox Corporation
    Inventors: Sang W. Kim, David P. Nesbitt, Steve A. Okamoto, Jennifer D. Thomas
  • Patent number: 6968552
    Abstract: A processor unit is incorporated in a vehicle as an engine control unit (ECU). In the ECU, in response to occurrence of an event, an activation request program requests a real time operating system to activate a task that includes an event process corresponding to the event. The event processes corresponding to cyclic events, which occur in synchronous with the engine cycle or at regular intervals, are included in dedicated tasks each of which is created as one of the tasks for executing only one event process. Therefore the activation request program does not need to store the ID of the event process in a queue when it requests activation of a dedicated task. Further, when a dedicated task is activated by the RTOS, it can identify an event process to be executed without retrieving the ID of the event process from the queue.
    Type: Grant
    Filed: December 18, 2001
    Date of Patent: November 22, 2005
    Assignee: DENSO Corporation
    Inventor: Tadaharu Nishimura
  • Patent number: 6957427
    Abstract: A distributed computer system uses a single interface at the client site to handle calls to call both active and passive remote objects. Accordingly, the calling process does not need to be aware of distinctions between active and passive objects. Further, remote objects are aggregated into common groups of objects, thereby providing greater security between objects of disparate groups and efficiency between related objects of the same group. Preferably, different groups are run on different Java virtual machines.
    Type: Grant
    Filed: October 15, 1997
    Date of Patent: October 18, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Ann M. Wollrath, Peter C. Jones, James H. Waldo, Robert W. Scheifler
  • Patent number: 6951019
    Abstract: Method and means for controlling the execution sequence of a first sequence of modules in a first task. The first sequence of modules are linked to one another and have at least one sequence of execution. The method stores in each of the first sequence of modules a skip value representing which of subsequent modules to execute. The method executes the first of the first sequence of said modules, and then executes the next of the modules indicated by the skip value. Conservation of processor bandwidth is accomplished by avoiding the loading of modules which will not be executed. Method and means are further provided for simultaneous activation/deactivation of a set of tasks by a processor, each of the tasks normally executed in a sequential fashion by one or more processors. A list of tasks to be activated/deactivated is stored, including the timing relationship for the activation process. The list is then implemented as frame numbers for activation and requested state in the actual task list.
    Type: Grant
    Filed: September 28, 2001
    Date of Patent: September 27, 2005
    Assignee: Apple Computer, Inc.
    Inventors: Eric C. Anderson, Hugh B. Svendsen
  • Patent number: 6948172
    Abstract: An operating system combines preemptive scheduling with cooperative or non-preemptive scheduling. In particular, tasks are divided into groups of interdependent tasks. Interdependent tasks are tasks that utilize the same modules of code or resources Each group includes tasks that should not be run asynchronously relative to each other. The scheduler in the operating system provides each group with a time slot of processor time. The tasks within the group are cooperatively scheduled to exploit the time slot assigned to the group. Dependencies between modules and tasks are maintained to assure that no difficulties arise amongst preemptively scheduled groups.
    Type: Grant
    Filed: March 29, 2000
    Date of Patent: September 20, 2005
    Assignee: Microsoft Corporation
    Inventor: David D'Souza
  • Patent number: 6941561
    Abstract: Proxy data stream handling and complex object parameter handling allow object oriented programs to be run as distributed programs without any explicit networking code, and without using an interface definition language (IDL). Two proxies are generated dynamically that allow method calls written for local invocation to be invoked over a network. These dynamically-generated proxies allow calls to flow across a network as if they were local, and contain support for using data stream and complex objects as parameters.
    Type: Grant
    Filed: October 20, 2000
    Date of Patent: September 6, 2005
    Assignee: International Business Machines Corporation
    Inventors: Manoj V. S. Kasichainula, Zhiyong Li