Patents Examined by Majid A. Banankhah
  • Patent number: 6397311
    Abstract: A system and method of defragmenting a file system is described which includes the steps of building a block descriptor array and reading a portion of the file system to a section of RAM creating new free space within the file system. The file blocks from the RAM are then written to free space within the file system. The pointers identifying the file blocks are then repaired on the disk. Files are then retrieved into the section of RAM for contiguous placement in the newly created free space within the file system. These files are then placed in contiguous manner into the new free space and the pointers identifying these files are repaired on the disk. The method of the present invention uses several optimization techniques and is designed such that it is secure from power loss during the defragmentation process.
    Type: Grant
    Filed: May 22, 1995
    Date of Patent: May 28, 2002
    Assignee: Texas Instruments Incorporated
    Inventor: James A. Capps
  • Patent number: 6393584
    Abstract: A method and system are disclosed for efficiently storing an operating state of a data processing system having a volatile memory within a nonvolatile mass storage device. In response to a selected input, a determination is made whether storing the operating state of the data processing system is possible. If storing the operating state is possible, scheduling of tasks to be performed by the data processing system is halted. Data not required for operation of the data processing system is then removed from the volatile memory. The operating state of the data processing system is stored within the nonvolatile mass storage device, thereby enabling the operating state of the data processing system to be efficiently restored. Thereafter, power is removed from the data processing system. In response to restoring power to the data processing system, a determination is made whether the operating state of the data processing system is stored within the nonvolatile mass storage device.
    Type: Grant
    Filed: April 26, 1995
    Date of Patent: May 21, 2002
    Assignee: International Business Machines Corporation
    Inventors: Wayne A. McLaren, Joseph C. Polimeni, Frank J. Schroeder
  • Patent number: 6393455
    Abstract: A technique is disclosed for managing a workload distributed across multiple data processing systems to enhance shared resource access to meet a common performance standard. The technique includes on at least one system, measuring performance of the work units on the system to create local performance data, and on at least some of the systems sending the local performance data to at least one other system of the multiple data processing systems. The method further includes on at least one of the systems, receiving the performance data from the sending systems to create remote performance data, and adjusting at least one control parameter for accessing shared resources in response to the local and remote performance data to modify the performance of the work units distributed across the data processing systems to achieve the common performance standard. A dynamic resource clustering process is also employed to enhance the shared resource management.
    Type: Grant
    Filed: March 28, 1997
    Date of Patent: May 21, 2002
    Assignee: International Business Machines Corp.
    Inventors: Catherine K. Eilert, Peter B. Yocom, Gary M. King, Jeffrey D. Aman
  • Patent number: 6389421
    Abstract: Provided are a system and a method for data retrieval which identify from requested data retrieval operations those operations which require a particular processing task to be performed, and then separate those operations from operations not requiring the processing task. The separated sets of tasks are queued separately for independent processing. This enables resource scheduling to be performed which avoids the operations which do not require performance of the task from having to wait for the operations which do require the task. This is an advantage where the task is a processor-intensive task such as digital watermarking of images. A particular resource allocation method includes enqueuing the set of operations requiring the processing task in a circularly linked list and then employing a scheduler to implement a round-robin allocation of resources for each of the system users in turn.
    Type: Grant
    Filed: August 4, 1998
    Date of Patent: May 14, 2002
    Assignee: International Business Machines Corporation
    Inventors: John Christopher Hawkins, John Bryan Ibbotson, Mark Patrick Nuttall
  • Patent number: 6389447
    Abstract: A method for managing tasks in a multi-application device having a stack and a plurality of positions for storing identification of tasks, the tasks on the top of the stack being an active task. The method comprises the steps of sequentially cycling through the stack of tasks, selecting one of the plurality of tasks by invoking an action in the task, moving the selected task to the top of the stack, and pushing each task between the top of the stack and the selected task down one position in the stack.
    Type: Grant
    Filed: October 21, 1998
    Date of Patent: May 14, 2002
    Assignee: Ericsson Inc.
    Inventor: Mona Singh
  • Patent number: 6385636
    Abstract: To suitably distribute the load between a client node and a server node in a client-server system, the client node sends a task request signal to the server node in response to input from a user. The server node, upon receiving the task request signal, acquires a CPU load ratio from the operating system and performs the requested task when the CPU load ratio is lower than a preset value to send the result of the task to the client node. Conversely, when the CPU load ratio is higher than the preset value, the server node sends a response signal to the effect that the client node is to execute the requested task. When the client node requests transmission of an application program in response to the response signal from the server, the server node sends an application program for use in performing the requested task to the client node. The client node executes the application program and obtains the result of the task.
    Type: Grant
    Filed: July 29, 1998
    Date of Patent: May 7, 2002
    Assignee: International Business Machines Corporation
    Inventor: Yasuhiro Suzuki
  • Patent number: 6385638
    Abstract: A device and method for distributing time available on a processor among two or more alternative tasks or threads and scheduling their execution. Each of the tasks specifies multiple levels of time usage on the process under which it can operate, including a best quality of service which uses the most time and a minimal quality of service which uses the least time. The invented system and method guarantees that each task will always be able to run at least its minimal quality of service and includes methods for obtaining optimal quality of service from all of the tasks.
    Type: Grant
    Filed: September 4, 1997
    Date of Patent: May 7, 2002
    Assignee: Equator Technologies, Inc.
    Inventor: Miche Baker-Harvey
  • Patent number: 6385664
    Abstract: A registration manager implemented as a task registration manager for dynamically registering management task descriptions on demand. The task registration manager includes a static registration mechanism, a static registry, and a runtime registration mechanism. At installation of a management application, the static registration mechanism stores a relatively small amount of information regarding each task provided with that application in the static registry for use at runtime. At runtime, the runtime registration mechanism registers a task the first time a specific task is requested by consulting the information contained in the runtime registration mechanism and then parsing the task description and placing it in a description object. A pointer to the description object is returned. Subsequent executions are performed using the pointer to the description object already in memory.
    Type: Grant
    Filed: September 25, 1998
    Date of Patent: May 7, 2002
    Assignee: Hewlett-Packard Company
    Inventor: Douglas P. Drees
  • Patent number: 6381694
    Abstract: A system for recovering from certain types of system software startup problems employs a user-hidden secondary startup volume stored in the computer. During a normal startup procedure, if an error is detected which would normally result in a startup failure, the computer's startup routine branches to an alternate startup application stored in the secondary volume. This startup application boots the computer from a minimal operating system stored in the secondary volume. As a result, the user is not left with a non-functioning computer. As further features of the invention, the startup application can attempt to automatically fix the detected problem, or it can suggest possible steps to be taken by the user, in order to fix the problem that resulted in the need to use the alternate startup application.
    Type: Grant
    Filed: February 18, 1994
    Date of Patent: April 30, 2002
    Assignee: Apple Computer, Inc.
    Inventor: John Yen
  • Patent number: 6378003
    Abstract: A system, method, and program for deriving metaclasses of classes of objects defined according to traditional subclassing inheritance is disclosed, which uses a neutral set of information from which object support is enabled for any target language, including support between languages. The information defining a new class is parsed and compiled to generate a bindings file that is input along with method information to the target language compiler to create an object file. The object file is thereafter link edited to create an executable program. When this program is executed, each defined class of objects is implemented by a corresponding object, called a class object, whose parents are determined by its definition, and whose class is a metaclass that is automatically derived and created at runtime according to the parent classes of the class object.
    Type: Grant
    Filed: April 5, 1993
    Date of Patent: April 23, 2002
    Assignee: International Business Machines Corporation
    Inventor: Scott Harrison Danforth
  • Patent number: 6374284
    Abstract: An information processing method includes a first step of detecting, upon reception of an instruction to start a first program, if a second program which uses a resource to be used by the first program is already being executed, and a second step of terminating the execution of the second program and for starting the first program when it has been detected that the second program is being executed.
    Type: Grant
    Filed: June 26, 1997
    Date of Patent: April 16, 2002
    Assignee: Canon Kabushiki Kaisha
    Inventor: Yoshihisa Tadokoro
  • Patent number: 6374282
    Abstract: An apparatus and method for multi-threaded transaction status management tracks elapsed time from the receipt of multiple independent transaction requests utilizing a unique transaction number included in the descriptor of a longer than a predetermined time are invalidated. The transaction number is also used as an index to stored authentication information and the transaction number is included in a response header and is used to access the stored information to authenticate the response.
    Type: Grant
    Filed: August 28, 1998
    Date of Patent: April 16, 2002
    Assignee: Compaq Computer Corporation
    Inventors: William P. Bunton, David A. Brown
  • Patent number: 6370606
    Abstract: A technique for providing hardware interrupt simulation using the interprocessor interrupt mechanism of the local Advanced Programmable Interrupt Controller (APIC) on a Symmetric Multiprocessor (SMP) System running Windows NT is disclosed. The interrupt simulation is performed by first determining the Interrupt Request (IRQ) vector that is associated with a particular system device driver. In the case of devices being emulated, the determination of the IRQ vector is done by intercepting the messages from the interrupt invoking procedure. The IRQ vector provides a pointer to the device driver's Interrupt Service Routine (ISR). After the device driver's ISR is connected to the appropriate interrupt vector entry in the Interrupt Descriptor Table (IDT), the vector number is combined with the local APIC constant and followed by a 32-bit write operation into the lower part of the Interrupt Control Register (ICRL) of the local APIC.
    Type: Grant
    Filed: November 5, 1998
    Date of Patent: April 9, 2002
    Assignee: Compaq Computer Corporation
    Inventor: Thomas J. Bonola
  • Patent number: 6366920
    Abstract: In a user interface presenting one or more objects to a user, a method and system are provided for allowing the user to enter data into fields in a non-sequential manner, in order to expedite the entry of the data. The specific fields which are to be accessed and their order are predetermined by the user and stored on the data processing system. When the ordered entry is invoked, the user presses the tab key on the keyboard to move the cursor to the next field in the order. The present invention processes the tab key entry and determines if the object containing the next field is located on the user interface. If not, then the object is automatically invoked so as to expose the next field to the user. Data can then be entered into this next field. If the object that needs to be invoked is dependent on a parent object, then the present invention determines if the parent object is on the user interface, and if not invokes the parent object. The dependent object is invoked through the parent object.
    Type: Grant
    Filed: April 28, 1995
    Date of Patent: April 2, 2002
    Assignee: International Business Machines Corporation
    Inventors: Bob Hoose, William J. Johnson
  • Patent number: 6366958
    Abstract: A DCE RPC mechanism normally uses a TCP/IP-based transport service to enable client machines to make remote procedure calls to server machines in a distributed computing environment. NETBIOS protocol support for the RPC mechanism is provided by using NETBIOS application names similar to TCP/IP conventions and through use of connection-oriented or connection-less NETBIOS protocol sequences. In particular, NETBIOS names are used as though they include a fixed portion representing a machine, and a dynamic portion representing an application on that machine. New functions are provided to use NETBIOS names in place of TCP/IP addresses and these NETBIOS names are then used via the sockets API, leaving RPC's use of the sockets API unchanged.
    Type: Grant
    Filed: October 21, 1996
    Date of Patent: April 2, 2002
    Assignee: International Business Machines Corporation
    Inventors: Spencer James Ainsworth, Richard Tsun-hsiung Wang
  • Patent number: 6366945
    Abstract: The invention provides the mechanism, hereinafter referred to as Flexible Dynamic Partitioning (FDP), to allocate and reallocate resources among scheduling schemes of many types for multicomputing environments. Resources can include, but are not limited to, processors, disks and communications connections. Partitioning of resources can be initiated by both application and system triggers. Once dynamic partitioning is triggered, FDP allows a partition to invoke a set of resource allocation functions associated with its partition. The reallocation function performs a set of resource matchings and determine the necessary resource movement among partitions.
    Type: Grant
    Filed: May 23, 1997
    Date of Patent: April 2, 2002
    Assignee: IBM Corporation
    Inventors: Liana Liyow Fong, Ajei Sarat Gopal, Nayeem Islam, Andreas Leonidas Prodromidis, Mark Steven Squillante
  • Patent number: 6366966
    Abstract: A method and system for automatically running a program stored on a medium upon detection of insertion of the medium into a drive are provided. The operating system periodically polls the drive regarding the status of the drive. After receiving a response from the drive regarding the drive's status, the operating system determines whether the drive's status has changed. If the drive's status has changed, the operating system broadcasts a message indicating the change in the drive's status. When the shell receives a message from the operating system indicating a change in the drive's status, the shell determines whether the change in the drive's status indicates that a medium has been inserted into the drive. If the change in the drive's status indicates that a medium has been inserted into the drive, the shell searches for a predefined file on the medium. The shell then runs a program stored on the medium that is specified in the predefined file.
    Type: Grant
    Filed: December 13, 1994
    Date of Patent: April 2, 2002
    Assignee: Microsoft Corporation
    Inventors: Stuart T. Laney, Christopher J. Guzak, Kurt J. Eckhardt, Frederick J. DeWitt, Ronald O. Radko
  • Patent number: 6356928
    Abstract: A method and apparatus for partitioning each job within a plurality of jobs into stateless tasks. Each job is marked with at least one task divider defining two tasks. Each task divider indicates where, in the job flow, required data is unavailable. For each task divider, state information is preserved, a task is created which tests for availability of the required data, and predefined actions are taken. An initial task is entered into an alert table or an execution queue. When that task executes, it queues subsequent tasks for immediate or delayed execution.
    Type: Grant
    Filed: October 9, 1997
    Date of Patent: March 12, 2002
    Assignee: AT&T Corp.
    Inventor: Mark Meier Rochkind
  • Patent number: 6357000
    Abstract: A computer method and system for user-specified loading of an operating system. Operating system load modules, composed of permanent load modules and variable load modules, are stored on a storage device. The permanent load modules and variable load modules each comprise operating system instructions. Although all of the permanent load modules are included in the operating system, only variable load modules that are specified by the user are included in the operating system. A user identification is initially obtained of variable load modules to be included as user-specified load modules in the operating system. Upon computer startup, the user-specified load modules and the permanent load modules are loaded into memory. The operating system instructions comprised by the user-specified load modules and permanent load modules thus comprise the loaded operating system.
    Type: Grant
    Filed: November 13, 1995
    Date of Patent: March 12, 2002
    Assignee: Microsoft Corporation
    Inventor: Naveen K. Jain
  • Patent number: 6353847
    Abstract: It is one objective of the present invention to provide a control apparatus, for system optimization using load prediction, which prevents congestion and utilizes resources more efficiently. According to the present invention, a control apparatus which employs load prediction for system optimization comprises: a plurality of processors; a control target which is controlled by the plurality of processors; a load measurement means for comparing a current load with time-transient, reference load data, for the plurality of processors, which is obtained based on previously acquired measurement data, and for employing the result to prepare a future load prediction for each of the processors; and a control means for controlling distribution of a load for a specific processor to the other processors when a predicted load for the specific processor exceeds the reference load data.
    Type: Grant
    Filed: October 16, 1998
    Date of Patent: March 5, 2002
    Assignee: Fujitsu Limited
    Inventors: Joji Maruyama, Takaaki Kawakami