Patents by Inventor Elmootazbellah Nabil Elnozahy

Elmootazbellah Nabil Elnozahy has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 6701421
    Abstract: A method for allocating memory in a data processing system in which a configuration table indicative of the system's physical memory is generated following a boot event. The configuration table is then modified to identify a portion of the system's physical memory thereby hiding the remaining portion from the operating system. Subsequently, a memory allocation request is initiated by an application program. A device driver invoked by the application program then maps physical memory from the hidden portion to the application's virtual address space to satisfy the application request. The application program may be executing on a first node of a multi-node system in which each node is associated with its own local memory, In this embodiment, the node on which the allocated physical memory is located may be derived from the allocation request thereby facilitating application level, allocation of specified portions of physical memory.
    Type: Grant
    Filed: August 17, 2000
    Date of Patent: March 2, 2004
    Assignee: International Business Machines Corporation
    Inventors: Elmootazbellah Nabil Elnozahy, Ramakrishnan Rajamony
  • Patent number: 6625635
    Abstract: A computer system which permits deterministic and preemptive scheduling of threads in a software application. In one embodiment, a scheduler is utilized to schedule the threads in a queue. Once the threads are scheduled, they are divided up into instruction slices each consisting of a predetermined number of instructions. The scheduler executes each instruction slice. An instruction counter is utilized to keep track of the number of instructions executed. The thread is permitted to run the instruction slice until the predetermined number of instructions has been executed. Alternatively, the thread stops if it is blocked while waiting for an input, for example. The next thread is then executed for the same number of instructions. This process permits for the efficient debugging of software which utilizes traditional cyclic debugging.
    Type: Grant
    Filed: November 2, 1998
    Date of Patent: September 23, 2003
    Assignee: International Business Machines Corporation
    Inventor: Elmootazbellah Nabil Elnozahy
  • Patent number: 6601149
    Abstract: A system for and method of monitoring memory transactions in a data processing system are disclosed. The method includes defining a set of memory transaction attributes with a monitoring system and detecting, on a data processing system connected to the monitoring system, memory transactions that match the defined set of memory transaction attributes. The number of detected memory transactions occurring during a specified duration are then displayed in a graphical format. In one embodiment, the data processing system comprises a non-uniform memory architecture (NUMA) system comprising a set of nodes. In this embodiment, the detected transactions comprise transactions passing through a switch connecting the nodes of the NUMA system. The set of memory transaction attributes may include memory transaction type information, node information, and transaction direction information.
    Type: Grant
    Filed: December 14, 1999
    Date of Patent: July 29, 2003
    Assignee: International Business Machines Corporation
    Inventors: Bishop Chapman Brock, Eli Chiprout, Elmootazbellah Nabil Elnozahy, Ramakrishnan Rajamony, Freeman Leigh Rawson, III, Ronald Lynn Rockhold
  • Publication number: 20030079151
    Abstract: The distribution of power dissipation within cluster systems is managed by a combination of inter-node and intra-node policies. The inter-node policy consists of subdividing the nodes within the cluster into three sets, namely the “Operational” set, the “Standby” set and the “Hibernating” set. Nodes in the Operational set continue to function and execute computation in response to user requests. Nodes in the Standby set have their processors in the low-energy standby mode and are ready to resume the computation immediately. Nodes in the Hibernating set are turned off to further conserve energy, and they need a relatively longer time to resume operation than nodes in the Standby set. The inter-node policy further distributes the computation among nodes in the Operational set such that each node in the set consumes the same amount of energy.
    Type: Application
    Filed: October 18, 2001
    Publication date: April 24, 2003
    Applicant: International Business Machines Corporation
    Inventors: Patrick Joseph Bohrer, Bishop Chapman Brock, Elmootazbellah Nabil Elnozahy, Thomas Walter Keller, Michael David Kistler, Ramakrishnan Rajamony
  • Publication number: 20030074464
    Abstract: A data processing network and method for conserving energy in which an initial negotiation between a network server and a switch to which the server is connected is performed to establish an initial operating frequency of the server-switch link. An effective data rate of the server is determined based on network traffic at the server. Responsive to determining that the effective data rate is materially different than the current operating frequency, a subsequent negotiation is performed to establish a modified operating frequency where the modified operating frequency is closer to the effective data rate than the initial operating frequency. The determination of the effective date rate and the contingent initiation of a subsequent negotiation may be repeated periodically during the operating of the network. In one embodiment, the initial and subsequent negotiation are compliant with the IEEE 802.3 standard.
    Type: Application
    Filed: September 27, 2001
    Publication date: April 17, 2003
    Applicant: International Business Machines Corporation
    Inventors: Patrick Joseph Bohrer, Bishop Chapman Brock, Elmootazbellah Nabil Elnozahy, Ramakrishnan Rajamony, Freeman Leigh Rawson
  • Publication number: 20030061352
    Abstract: A data processing server and method in which the server device stores a first fragment of a requested file in a first tier of storage while retaining subsequent fragments of the file in a lower tier of storage. The first tier is typically the server's volatile system memory while the second tier may represent a local disk, a networked storage device, or a remote system memory. When the server receives a client request for a file, the server transmits a first fragment of the file stored in the file cache to the client. Simultaneously, the server retrieves a subsequent fragment of the file from a lower tier of storage. By the time the first fragment is transmitted and acknowledged, the subsequent fragment is ready for transmission. In this manner, the server is able to maintain responsiveness while minimizing the amount of data cached in valuable system memory.
    Type: Application
    Filed: September 27, 2001
    Publication date: March 27, 2003
    Applicant: International Business Machines Corporation
    Inventors: Patrick Joseph Bohrer, Elmootazbellah Nabil Elnozahy, Thomas Walter Keller, Ramakrishnan Rajamony
  • Publication number: 20030041118
    Abstract: A web server that integrates portions of operating system code to execute substantially within user space to reduce context switching. The web server includes an application level interpreter, such as an HTTP interpreter, configured to process client requests. The web server typically includes a network interface dedicated to process traffic to and from the web server. The web server may include within its user space kernel device driver extensions enabling it to communicate directly with the network interface. The server may implement a polling architecture in which the server periodically monitors the interface for new requests. The web server typically includes a user space transmission protocol library that enables the server to perform its own network processing of requests and responses. The library may include TCP/IP drivers that are optimized or streamlined for to processing HTTP requests.
    Type: Application
    Filed: August 23, 2001
    Publication date: February 27, 2003
    Applicant: International Business Machines Corporation
    Inventors: Elmootazbellah Nabil Elnozahy, Ramakrishnan Rajamony
  • Publication number: 20030033383
    Abstract: A method and system for responding to a client request for information from a service device in a data processing network. Initially, the server receives the information request from the client and determines that the requested information is not in the server's cache. The server then generates a storage request and sends the storage request to a network attached storage device. The storage device retrieves the requested information and generates a set of packets containing the requested information. The storage device then sending the generated packets simultaneously to the client to satisfy the client request and to the server to refresh the server cache. The storage request may include protocol information corresponding to the client-server connection that the storage device uses to replicate the client-server protocol stack in the generated packet. Sending the generated packet may comprise including a multicast address in the packet.
    Type: Application
    Filed: July 26, 2001
    Publication date: February 13, 2003
    Applicant: International Business Machines Corporation
    Inventors: Elmootazbellah Nabil Elnozahy, Michael David Kistler
  • Publication number: 20030023766
    Abstract: A method and system for responding to requests for static web documents including saving the response as a packet train comprising one or more IP compliant packets. Upon a subsequent request for the static web document, the saved packet train may be retrieved and the header information updated. In this manner, the network protocol processing required to respond to the request is reduced. The server may include code for determining whether a referenced web object is a static object and a directory of recently accessed static web objects and a copy of the corresponding packet trains. The web server may be configured to consult the directory to determine if an object is a static object that has been recently accessed. If the object has been recently accessed, the server may retrieve the corresponding packet train from its system memory or from disk and update the packet headers prior to transmission.
    Type: Application
    Filed: July 26, 2001
    Publication date: January 30, 2003
    Applicant: International Business Machines Corporation
    Inventor: Elmootazbellah Nabil Elnozahy
  • Publication number: 20030004948
    Abstract: A system and method of retrieving data from a disk includes determining the network transfer rate of a network connection between a client and a server. A first portion of the requested data is retrieved from the disk responsive to a data request received by the server from the client via a network connection and transmission of the first portion of data to the client via the network is initiated. The time required to transmit the first portion of data to the client is calculated based upon the network transfer rate and a determination of when to retrieve a subsequent portion of the requested data from disk is made based, in part, on whether the calculated time is expired. The determination of when to retrieve subsequent portions of data from disk may be further based on a desire to minimize a system parameter such as memory usage or disk energy consumption and heat dissipation.
    Type: Application
    Filed: June 29, 2001
    Publication date: January 2, 2003
    Applicant: International Business Machines Corporation
    Inventors: Patrick Joseph Bohrer, Bishop Chapman Brock, Elmootazbellah Nabil Elnozahy, Ramakrishnan Rajamony
  • Patent number: 6499028
    Abstract: A performance monitor configured to count memory transactions and to issue an interrupt to the computer system if the monitor detects a specified number of transactions associated with a particular segment of the physical address space of the system. The monitor includes an interface suitable for coupling to an interconnect network of a computer system and configured to extract physical address information from a transaction traversing the interconnect network, a translation module adapted for associating the extracted physical address with one of a plurality of memory blocks and, in response thereto, incrementing a memory block counter corresponding to the memory block, and an interrupt unit configured to assert an interrupt if the block counter exceeds a predetermined value. The interface unit is configurable to selectively monitor either incoming or outgoing transactions and the translation unit preferably includes a plurality of region filters each comprising one or more of the memory blocks.
    Type: Grant
    Filed: March 31, 1999
    Date of Patent: December 24, 2002
    Assignee: International Business Machines Corporation
    Inventors: Bishop Chapman Brock, Eli Chiprout, Elmootazbellah Nabil Elnozahy, David Brian Glasco, Ramakrishnan Rajamony, Freeman Leigh Rawson, III, Ronald Lynn Rockhold
  • Patent number: 6442654
    Abstract: A system and method for providing in-server caching of shared data involves a server program that defines a server cache in RAM of a server machine and stores a selected file in the server cache. If a cached file is modified through the file system interface of the operating system of the server machine, the operating system automatically issues an upcall to the server program, the upcall identifying the modified file. In response to receipt of the upcall, the server program removes the modified file from the server cache. In one embodiment, the server program responds to a client request requiring access to a requested file by obtaining the requested file from the server cache if the server cache contains that file. Otherwise, the server program calls the operating system to obtain the requested file and then adds that file to the server cache as a cached file. The server program then generates a result based on the requested file and transmits the result to the remote data processing system.
    Type: Grant
    Filed: December 10, 1999
    Date of Patent: August 27, 2002
    Assignee: International Business Machines Corporation
    Inventors: Bishop Chapman Brock, Eli Chiprout, Elmootazbellah Nabil Elnozahy, Ramakrishnan Rajamony, Freeman Leigh Rawson, III, Ronald Lynn Rockhold
  • Publication number: 20020112049
    Abstract: A method, computer program product and apparatus are disclosed for generating response time data for a client accessing information from a network. In one of the embodiments first instructions are attached to a first block of information. The block of information is available for requesting by the client from the network. The first instructions are for causing the client to read a first reference time, responsive to the client initiating access to a second block of information from the network. Second instructions are attached to the second block of information. The second instructions are for causing the client to read a second reference time responsive to the client loading the second block of information, and for causing the client to retrieve the first reference time and compute a time difference between the first and second reference times.
    Type: Application
    Filed: December 14, 2000
    Publication date: August 15, 2002
    Applicant: International Business Machines Corporation
    Inventors: Elmootazbellah Nabil Elnozahy, Ramakrishnan Rajamony
  • Patent number: 6421701
    Abstract: A method and system are disclosed for enforcing consistency among replicas of a server through the reliable and ordered delivery of client requests via an ordering multicast protocol in association with a deterministic and pre-emptive scheduler in a computer network having at least one client connected to a replicated server. The scheduler enforces an execution order that conforms with the request ordering specified by the multicast protocol. The deterministic scheduler subdivides execution streams into instruction slices such that the number of instructions within each slice is pre-determined. An instruction counter is used to generate an interrupt at the expiration of an instruction slice. A thread is scheduled at the beginning of an instruction slice, such that all scheduling decisions are identical among all server replicas. Therefore, all scheduling decisions are identical everywhere, eliminating the nondeterminism due to time-based scheduling of traditional thread schedulers.
    Type: Grant
    Filed: January 29, 1999
    Date of Patent: July 16, 2002
    Assignee: International Business Machines Corporation
    Inventor: Elmootazbellah Nabil Elnozahy
  • Publication number: 20020077836
    Abstract: A method, apparatus and computer program product are disclosed to enable independent verification of service level agreement between two parties. In one embodiment, a first party contracts the hosting service of a second party to provide said first party with Web page and services on second party's equipment. Said contract contains a Service Level Agreement specifying performance parameters and guarantees for the response time experienced by users of said Web page and services. Independent verification by a third party of said agreement is done for a fee through several steps. In a first step, said third party inserts measuring and reporting instructions into blocks of information maintained on the server of said second party. The measuring instructions are for delivery to the client with the blocks of information. The delivery of the instructions occurs responsive to a request for the information by the client. Once they are delivered, the instructions are executed by the client.
    Type: Application
    Filed: December 14, 2000
    Publication date: June 20, 2002
    Applicant: International Business Machines Corporation
    Inventors: Elmootazbellah Nabil Elnozahy, Ramakrishnan Rajamony
  • Publication number: 20020078136
    Abstract: In one embodiment, an improved method for crawling a web site is provided. At least one page of the web site has a reference for executing by a browser to produce an address for a next page. The web site is crawled by the crawler program, which includes querying the web site server. The crawler parses such a reference from one of the web pages, and sends the reference to an applet running in the browser. The address for the next page is determined by the browser responsive to the reference. The address is then sent to the crawler. In an application of the improved crawler, the crawler is used for reducing dynamic data generation on the web site server. In this application, at least some of the web pages are dynamically generated responsive to the crawler queries. The server generated web pages are processed to generate corresponding processed versions of the web pages, so that the processed versions can be served in response to future queries, reducing dynamic generation of web pages by the server.
    Type: Application
    Filed: December 14, 2000
    Publication date: June 20, 2002
    Applicant: International Business Machines Corporation
    Inventors: Elizabeth Adleberg Brodsky, Elmootazbellah Nabil Elnozahy, Ramakrishnan Rajamony
  • Patent number: 6349394
    Abstract: A performance monitor for a computer system that includes an interface, a filter module, and an address mapping module. The interface is suitable for coupling to an interconnect network of the computer system. The interconnect network links a local node of the system with at least one remote node of the system. The interface is configured to extract physical address information from a transaction traversing the interconnect network. The filter module associates the physical address with one of several memory blocks, where each memory block comprises a contiguous portion of the system's physical address space. The address mapping module associates the identified memory block with at least one range of virtual addresses associated with at least one of a plurality of concurrently executing programs and increments each of a set of access counters. The association between the selected memory block and the access counters is facilitated by a pointer field corresponding to the memory block.
    Type: Grant
    Filed: March 31, 1999
    Date of Patent: February 19, 2002
    Assignee: International Business Machines Corporation
    Inventors: Bishop Chapman Brock, Eli Chiprout, Elmootazbellah Nabil Elnozahy, David Brian Glasco, Ramakrishnan Rajamony, Freeman Leigh Rawson, III, Ronald Lynn Rockhold
  • Patent number: 6178441
    Abstract: A method and system for reliably and consistently delivering client requests in a computer network having at least one client connectable to one or more servers among a group of servers, wherein each server among the group of servers replicates a particular network service to ensure that the particular network service remains uninterrupted in the event of a server failure. A particular server is designated among the group of servers to manage client requests which seek to update a particular network service state, prior to any receipt of a client request which seeks to update the particular network service state by any remaining servers among the group of servers.
    Type: Grant
    Filed: September 21, 1998
    Date of Patent: January 23, 2001
    Assignee: International Business Machines Corporation
    Inventor: Elmootazbellah Nabil Elnozahy
  • Patent number: 6014686
    Abstract: In the Distributed Computing Environment (DCE) standard, availability of directory services is increased by apparatus and methods using agents inserted between requesting clients and servers. By using agents, additional functions are carried out which are not performed in a typical DCE environment. Each agent inserts itself between the requesters and servers by writing over the pointer to the server with information pointing to the agent, thus redirecting requests to themselves. The agent then receives incoming requests and forwards them on to its associated server and other agents. The agent handling requests for the master server is called the "master" agent and the agents handling requests for replica servers are "replica" agents. The agents make sure requests are performed before replying to the original requester. Agents also monitor themselves. If a master agent crashes, the remaining agents elect a new master agent.
    Type: Grant
    Filed: June 20, 1997
    Date of Patent: January 11, 2000
    Assignee: Telcordia Technologies, Inc.
    Inventors: Elmootazbellah Nabil Elnozahy, Vivek Ratan, Mark Edward Segal