Patents Examined by Majid Banankhah
  • Patent number: 6928479
    Abstract: A system, computer product and method for providing a private communication portal at a first computer connected to a network of computers includes a communication facility resident at the first computer, and a second computer including a locating facility for locating the current location of the first computer on the network, where the second computer facilitates communication between the first computer and a third computer by authenticating the third computer for communication with the first computer and providing the location of the first computer for communication with the third computer.
    Type: Grant
    Filed: June 16, 2000
    Date of Patent: August 9, 2005
    Assignee: 01 Communique Laboratory Inc.
    Inventors: Steven P. Meyer, Pedro P. Nascimento, Andrew Cheung
  • Patent number: 6925643
    Abstract: Techniques for thread-based memory access by a multithreaded processor are disclosed. The multithreaded processor determines a thread identifier associated with a particular processor thread, and utilizes at least a portion of the thread identifier to select a particular portion of an associated memory to be accessed by the corresponding processor thread. In an illustrative embodiment, a first portion of the thread identifier is utilized to select one of a plurality of multiple-bank memory elements within the memory, and a second portion of the thread identifier is utilized to select one of a plurality of memory banks within the selected one of the multiple-bank memory elements. The first portion may comprise one or more most significant bits of the thread identifier, while the second portion comprises one or more least significant bits of the thread identifier. Advantageously, the invention reduces memory access times and power consumption, while preventing the stalling of any processor threads.
    Type: Grant
    Filed: October 11, 2002
    Date of Patent: August 2, 2005
    Assignee: Sandbridge Technologies, Inc.
    Inventors: Erdem Hokenek, Mayan Moudgill, C. John Glossner
  • Patent number: 6925645
    Abstract: A distributed collaborative computer system is provided that comprises a plurality of server computers interconnected via a high-speed link. Client computers can connect to any available server computer and start or join a conference hosted on either the server computer to which the client computer is connected or any other server in the system. As a result, the system and method of the present invention is easily scalable to support an arbitrary number of participants to a conference by merely adding the appropriate number of server computers to the system. In addition, by replicating the conference information on more than one server computer, the single point of failure limitation is eliminated. In fact, if a server hosting or participating in a conference malfunctions, the failure is detected by other server computers and the client computer is able to reconnect to the conference through a new server computer.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: August 2, 2005
    Assignee: Webex Communications, Inc.
    Inventors: Min Zhu, Bin Zhao
  • Patent number: 6918114
    Abstract: A single normal Java thread referred to as a “waiter” thread is used to prevent premature exit of the Java Virtual Machine during the shutdown process of the server application by waiting for any daemon threads in the JVM to complete execution. Using this mechanism, any daemon thread flagged by the application runs to completion before the JVM is allowed to exit. Once all flagged daemon threads exit, the waiter thread exits and allows the server application to properly terminate. The waiter thread uses an efficient mechanism to maintain a queue of threads. When a daemon thread is flagged, it is simply appended to the end of the queue. The waiter thread waits for the first thread in the queue to complete. Once the first thread in the queue completes, it is removed from the queue. At this point, the queue is searched for any other inactive threads and those threads are also removed from the queue.
    Type: Grant
    Filed: April 5, 2001
    Date of Patent: July 12, 2005
    Assignee: International Business Machines Corporation
    Inventor: Kevin Gary Tapperson
  • Patent number: 6918115
    Abstract: A system and method is disclosed for synchronizing certain periodic activities and/or processes in a computer system or device. The synchronization allows more efficient use of the computer system's or device's processing capabilities, and may result in conservation of electrical power. In one example embodiment, a periodic scheduler is implemented to periodically verify the continued existence of critical processes operating in the computer system or device. Corrective, or other appropriate, action may be taken in the event of a failure of a critical process. A schedule list, which may be a linked list, may be used to track the periodic processes that are to occur. Upon registration of a critical process, the schedule list may be modified to synchronize the new periodic process with the existing schedule list.
    Type: Grant
    Filed: February 16, 2001
    Date of Patent: July 12, 2005
    Assignee: Microsoft Corporation
    Inventors: Garrett R. Vargas, Scott R. Shell, Matthew W. Taylor
  • Patent number: 6910211
    Abstract: A system and method for managing simultaneous access to a scarce or serially re-usable resource by multiple process threads. A stationary queue is provided, including a wait counter for counting the cumulative number of threads that have been temporarily denied the resource; a satisfied counter for counting the cumulative number of threads that have been denied access and subsequently granted access to said resource; a sleep code routine responsive to the wait counter for generating a run identifier; and a wakeup code routine responsive to the satisfied counter for generating the run identifier.
    Type: Grant
    Filed: March 14, 1997
    Date of Patent: June 21, 2005
    Assignee: International Business Machines Corporation
    Inventor: George William Wilhelm, Jr.
  • Patent number: 6910210
    Abstract: A computer application program executing on a computer, such as a portable computer, is selected for termination by first identifying computer application programs executing on the computer. A priority value is assigned to each of the identified computer applications. The priority value is based on multiple characteristics of the identified computer application programs. The computer application program with the smallest priority value is automatically terminated. If the computer application program with the smallest priority value is in a modal state in which it waits for a response from a user, then a default response is provided to the application prior to terminating the computer application program. The characteristics associated with the computer application programs may include average launch times, average memory usages, a class or type of application, frequencies of usage, and an amount of data stored on the computer by the computer application program.
    Type: Grant
    Filed: August 23, 1999
    Date of Patent: June 21, 2005
    Assignee: Microsoft Corp.
    Inventor: Chee H Chew
  • Patent number: 6910209
    Abstract: Apparatus, methods, and computer program products are disclosed for a process of terminating a thread in a clean, certain, and forcible manner. A thread is forcibly terminated in such a manner that data structures in the system are not left in an inconsistent state and the overall system status is not damaged. The methods and systems described are for terminating a thread in a computer language execution environment. Methods are implemented in an interpretive loop executing in a language that is interpreted and in runtime support libraries in a language that are not interpreted. A method of forcibly terminating a thread in a computer language execution environment is described. A thread receives a terminate thread command. The thread has associated with it a termination flag, a value of the termination flag being immutable once set, and one or more monitors. The termination flag is then set for the thread.
    Type: Grant
    Filed: April 30, 2001
    Date of Patent: June 21, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Hideya Kawahara, William F. Foote, Dean R. E. Long
  • Patent number: 6904595
    Abstract: A portable thread environment comprising: an application programming interface configured to support multiple application program tasks, wherein each task is either a preemptive task comprised of preemptive threads or a cooperative task comprised of cooperative threads; host adaptation logic for communicatively interfacing said cooperative tasks, preemptive tasks, cooperative threads and preemptive threads with a host processing environment; a scheduler configured to determine an execution order of cooperative threads and preemptive threads based on each cooperative thread's and preemptive thread's priority levels.
    Type: Grant
    Filed: May 8, 2001
    Date of Patent: June 7, 2005
    Assignee: Microtune (San Diego), Inc.
    Inventors: G. Christian Alford, Hock Law, Suresh Singamsetty Kumar
  • Patent number: 6901441
    Abstract: The invention relates to an application adapted to run on a client apparatus connectable with a server across a network. The server is adapted to simultaneously share information (ideas) maintained therein with a plurality of heterogeneous clients. The application is able to retrieve ideas from the server and to define new ideas in a manner dependent on the client apparatus platform. The newly defined ideas can then be transmitted to the server for maintenance in a platform-independent manner. At the client, the information is rendered appropriately for that client.
    Type: Grant
    Filed: April 13, 2001
    Date of Patent: May 31, 2005
    Assignee: International Business Machines Corporation
    Inventors: Graham Bent, Duncan George Clark, Christopher Edward Sharp
  • Patent number: 6901593
    Abstract: A technique for an improved active queue management scheme which dynamically changes its threshold settings as the number of connections (and system load) changes is disclosed. Using this technique, network devices can effectively control packet losses and TCP timeouts while maintaining high link utilization. The technique also allows a network to support a larger number of connections during congestion periods.
    Type: Grant
    Filed: May 8, 2001
    Date of Patent: May 31, 2005
    Assignee: Nortel Networks Limited
    Inventors: James Aweya, Michel Ouellette, Delfin Y. Montuno
  • Patent number: 6901591
    Abstract: Improved frameworks for implementing class files that are particularly useful in virtual machine based computing systems will be described. In one aspect of the invention, each method within a class file is associated with a corresponding “reference cell.” The reference cells typically include sufficient information to facilitate the invocation of the corresponding method. By way of example, each reference cell may include a class pointer field, a method name field, a signature field and potentially other fields. In another aspect of the invention, a process for loading class files into a virtual machine based computing system is described. Each method invocation within the class file is translated into an internal invocation that references a reference cell associated with the internal class representation that contains the method.
    Type: Grant
    Filed: October 31, 2000
    Date of Patent: May 31, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: Stepan Sokolov
  • Patent number: 6895583
    Abstract: A task control block is implemented to provide more efficient user task access to task-specific variables and context information. The task control block uses multiple portions located in both protected system space and unprotected “user” space. Task-specific variables may be located in the user task control block, allowing user tasks to directly access these variables (without a system call). Sensitive task-specific state information may be located in the system task control block, preventing direct access by user tasks. The amount of time needed to perform context switching is reduced, and the execution time for user tasks may be reduced as well.
    Type: Grant
    Filed: March 10, 2000
    Date of Patent: May 17, 2005
    Assignee: Wind River Systems, Inc.
    Inventor: Maarten A. Koning
  • Patent number: 6895585
    Abstract: A method of scheduling in a mixed workload environment. A high priority workload requiring bounded response times is executed on the same system with a low priority workload that is capable of tying up the CPU and multiple volume storage resources of the system by causing multiple concurrent I/O operations, thereby increasing the response times of the high priority workload beyond acceptable bounds. The method of scheduling prevents the response times of the high priority workload from increasing beyond the acceptable bounds by deferring the dispatch of processes servicing the current low priority workload for a time that depends on the priority of the low priority work and by not performing concurrent I/O operations that are requested by the current low priority work, when there is sufficient higher priority activity on the storage resource.
    Type: Grant
    Filed: March 30, 2001
    Date of Patent: May 17, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Gary Stephen Smith
  • Patent number: 6894800
    Abstract: According to the present invention, printing-job information relating to printing jobs present within a print server and printing-job information relating to printing jobs present within a printer can be displayed at a time, and the user can precisely know all printing jobs to be processed by the printer. Even if the user does not know whether a printing job is present within the print server or within the printer, a change in a schedule of a printing job assigned by the user can be appropriately performed in the print server or the printer.
    Type: Grant
    Filed: February 16, 2001
    Date of Patent: May 17, 2005
    Assignee: Canon Kabushiki Kaisha
    Inventor: Akio Sugaya
  • Patent number: 6889243
    Abstract: A job scheduling analysis method and system are disclosed in which a job schedule is analyzed by use of historical job execution data in a computer system in which a plurality of jobs are executed in parallel. Historical execution data of a plurality of jobs and the file names of files accessed by the jobs are collected. The maximum multiplicity of jobs capable of operating in parallel on the computer system is inputted. When the file name of a file accessed by one job and the file name of a file accessed by another other job coincide with each other, an execution start condition of the plurality of jobs are determined to execute the one job and the other job at the earliest instants within the maximum job multiplicity so that the sequence of execution of processings by the one job and the other job is maintained and the execution time of the one job and the execution time of said other job do not overlap each other.
    Type: Grant
    Filed: February 16, 1999
    Date of Patent: May 3, 2005
    Assignee: Hitachi, Ltd.
    Inventors: Yuri Hondou, Hirofumi Nagasuka, Tadashi Yamagishi, Shunji Tanaka, Toshiyuki Kinoshita
  • Patent number: 6889377
    Abstract: A system and method for uniformly administering parameters for a load distribution and load control of a computer platform includes a processor and a storage mechanism. Software components run on the processor, and include a manager component, which is a load model manager, that uniformly administers parameters for a load distribution and load control of the system. The platform further includes a catalog stored in the storage mechanism via which the load model manager administers the parameters. The catalog includes a plurality of tables. Each of the tables respectively includes a load model which is a complete, consistent set of parameters that influence the load distribution of the load control of the computer system.
    Type: Grant
    Filed: March 3, 1999
    Date of Patent: May 3, 2005
    Assignee: Siemens Aktiengesellschaft
    Inventors: Elisabeth Gasthaus, Jörg Oehlerich, Walter Held
  • Patent number: 6886162
    Abstract: A high-speed method for maintaining a summary of thread activity reduces the number of remote-memory operations for an n processor, multiple node computer system from n2 to (2n?1) operations. The method uses a hierarchical summary of-thread-activity data structure that includes structures such as first and second level bit masks. The first level bit mask is accessible to all nodes and contains a bit per node, the bit indicating whether the corresponding node contains a processor that has not yet passed through a quiescent state. The second level bit mask is local to each node and contains a bit per processor per node, the bit indicating whether the corresponding processor has not yet passed through a quiescent state. The method includes determining from a data structure on the processor's node (such as a second level bitmask) if the processor has passed through a quiescent state. If so, it is then determined from the data structure if all other processors on its node have passed through a quiescent state.
    Type: Grant
    Filed: July 31, 1998
    Date of Patent: April 26, 2005
    Assignee: International Business Machines Corporation
    Inventor: Paul E. McKenney
  • Patent number: 6886164
    Abstract: A method for selecting a resource from a plurality of resources includes determining a score for that resource on the basis of a stochastic property of that resource. An interval corrsesponding to that resource is then defined to have an extent that depends on the score. A particular resource is then selected by generating a random number and selecting that resource when the random number falls within the interval.
    Type: Grant
    Filed: May 8, 2001
    Date of Patent: April 26, 2005
    Assignee: EMC Corporation
    Inventor: David Meiri
  • Patent number: 6877157
    Abstract: The invention relates to a computer program product comprising semaphore means for stalling a first task until one of a predetermined set of events occurs. The computer program product comprises specific message files associated with said first task for receiving data to be processed by the first task. The occurrence of one of said set of predetermined events causes a piece of data to be written in one of the associated messages files. The computer program in accordance with the invention can be implemented by using any operating system having basic synchronization tools. Such synchronization tools include semaphore means for causing a task to be waiting for a unique event such as the release of the semaphore by another task. They also include blocking mechanisms for temporarily blocking “interruptions” coming from interruption handlers during data writing (message reception) in the message files associated with the first task.
    Type: Grant
    Filed: December 27, 2000
    Date of Patent: April 5, 2005
    Assignee: Koninklijke Philips Electronics N.V.
    Inventor: Yves Marco