Patents Examined by Majid Banankhah
-
Patent number: 6928479Abstract: 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: GrantFiled: June 16, 2000Date of Patent: August 9, 2005Assignee: 01 Communique Laboratory Inc.Inventors: Steven P. Meyer, Pedro P. Nascimento, Andrew Cheung
-
Patent number: 6925643Abstract: 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: GrantFiled: October 11, 2002Date of Patent: August 2, 2005Assignee: Sandbridge Technologies, Inc.Inventors: Erdem Hokenek, Mayan Moudgill, C. John Glossner
-
Patent number: 6925645Abstract: 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: GrantFiled: December 29, 2000Date of Patent: August 2, 2005Assignee: Webex Communications, Inc.Inventors: Min Zhu, Bin Zhao
-
Patent number: 6918114Abstract: 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: GrantFiled: April 5, 2001Date of Patent: July 12, 2005Assignee: International Business Machines CorporationInventor: Kevin Gary Tapperson
-
Patent number: 6918115Abstract: 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: GrantFiled: February 16, 2001Date of Patent: July 12, 2005Assignee: Microsoft CorporationInventors: Garrett R. Vargas, Scott R. Shell, Matthew W. Taylor
-
Patent number: 6910211Abstract: 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: GrantFiled: March 14, 1997Date of Patent: June 21, 2005Assignee: International Business Machines CorporationInventor: George William Wilhelm, Jr.
-
Patent number: 6910210Abstract: 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: GrantFiled: August 23, 1999Date of Patent: June 21, 2005Assignee: Microsoft Corp.Inventor: Chee H Chew
-
Patent number: 6910209Abstract: 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: GrantFiled: April 30, 2001Date of Patent: June 21, 2005Assignee: Sun Microsystems, Inc.Inventors: Hideya Kawahara, William F. Foote, Dean R. E. Long
-
Patent number: 6904595Abstract: 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: GrantFiled: May 8, 2001Date of Patent: June 7, 2005Assignee: Microtune (San Diego), Inc.Inventors: G. Christian Alford, Hock Law, Suresh Singamsetty Kumar
-
Patent number: 6901441Abstract: 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: GrantFiled: April 13, 2001Date of Patent: May 31, 2005Assignee: International Business Machines CorporationInventors: Graham Bent, Duncan George Clark, Christopher Edward Sharp
-
Patent number: 6901593Abstract: 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: GrantFiled: May 8, 2001Date of Patent: May 31, 2005Assignee: Nortel Networks LimitedInventors: James Aweya, Michel Ouellette, Delfin Y. Montuno
-
Patent number: 6901591Abstract: 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: GrantFiled: October 31, 2000Date of Patent: May 31, 2005Assignee: Sun Microsystems, Inc.Inventor: Stepan Sokolov
-
Patent number: 6895583Abstract: 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: GrantFiled: March 10, 2000Date of Patent: May 17, 2005Assignee: Wind River Systems, Inc.Inventor: Maarten A. Koning
-
Patent number: 6895585Abstract: 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: GrantFiled: March 30, 2001Date of Patent: May 17, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventor: Gary Stephen Smith
-
Patent number: 6894800Abstract: 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: GrantFiled: February 16, 2001Date of Patent: May 17, 2005Assignee: Canon Kabushiki KaishaInventor: Akio Sugaya
-
Patent number: 6889243Abstract: 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: GrantFiled: February 16, 1999Date of Patent: May 3, 2005Assignee: Hitachi, Ltd.Inventors: Yuri Hondou, Hirofumi Nagasuka, Tadashi Yamagishi, Shunji Tanaka, Toshiyuki Kinoshita
-
Patent number: 6889377Abstract: 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: GrantFiled: March 3, 1999Date of Patent: May 3, 2005Assignee: Siemens AktiengesellschaftInventors: Elisabeth Gasthaus, Jörg Oehlerich, Walter Held
-
Patent number: 6886162Abstract: 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: GrantFiled: July 31, 1998Date of Patent: April 26, 2005Assignee: International Business Machines CorporationInventor: Paul E. McKenney
-
Patent number: 6886164Abstract: 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: GrantFiled: May 8, 2001Date of Patent: April 26, 2005Assignee: EMC CorporationInventor: David Meiri
-
Patent number: 6877157Abstract: 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: GrantFiled: December 27, 2000Date of Patent: April 5, 2005Assignee: Koninklijke Philips Electronics N.V.Inventor: Yves Marco