Patents by Inventor Arun K. Iyengar

Arun K. Iyengar 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: 6654766
    Abstract: A system and method for managing cacheable sets of objects having explicit lifetime specifications, wherein a time-based cache manager maintains and updates one or more sets of objects stored in the cache. A cached set of objects comprises objects having start times and/or end times representing, respectively, times at which such objects become valid and expire. An update time is determined for a given cached set of objects based, in part, on the start times and end times of objects comprising the cached set of objects. When a request for the retrieval of an object from the given cached set of objects (or the entire cached set) is received, a determination is made if the cached set of objects is valid at the time of the request based on the update time. If the cached set of objects is not valid because, e.g.
    Type: Grant
    Filed: April 4, 2000
    Date of Patent: November 25, 2003
    Assignee: International Business Machines Corporation
    Inventors: Louis R. Degenaro, David L. Ehnebuske, Arun K. Iyengar, Barbara Jane Alspach McKee, Isabelle M. Rouvellou
  • Patent number: 6643754
    Abstract: A method for managing computer memory includes maintaining multiple sets of free blocks of memory wherein a free block is added to a set based on its size. In response to a request for a block of a request size, a set of blocks is searched for a free block which is at least as large as the request size but smaller than the request size plus a threshold. If such a block is found, the block is allocated in its entirety. If such a free block is not found, a block at least as large as the request size maybe split and the request satisfied with the resulting split block. Methods for managing a block of contiguous persistent memory or storage and for coalescing adjacent free blocks using header information are also described.
    Type: Grant
    Filed: February 15, 2000
    Date of Patent: November 4, 2003
    Assignee: International Business Machines Corporation
    Inventors: James R. H. Challenger, Arun K. Iyengar
  • Publication number: 20030191800
    Abstract: A method, a system, an apparatus, and a computer program product are presented for a fragment caching methodology. After a message is received at a computing device that contains a cache management unit, a fragment in the message body of the message is cached. Subsequent requests for the fragment at the cache management unit result in a cache hit. A FRAGMENTLINK tag is used to specify the location in a fragment for an included or linked fragment which is to be inserted into the fragment during fragment or page assembly or page rendering. A FRAGMENTLINK tag may include a FOREACH attribute that is interpreted as indicating that the FRAGMENTLINK tag should be replaced with multiple FRAGMENTLINK tags. The FOREACH attribute has an associated parameter that has multiple values that are used in identifying multiple fragments for the multiple FRAGMENTLINK tags.
    Type: Application
    Filed: December 19, 2001
    Publication date: October 9, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James R. H. Challenger, Michael H. Conner, George P. Copeland, Arun K. Iyengar
  • Publication number: 20030191812
    Abstract: A method, a system, an apparatus, and a computer program product are presented for a fragment caching methodology. After a message is received at a computing device, a fragment in the message body is cached. Cache ID rules from an origin server accompany a fragment to describe a method for forming a unique cache ID for the fragment such that dynamic content can be cached away from an origin server. A cache ID may be based on a URI and/or query parameters and/or cookies that are associated with a fragment. After user authentication, a cookie containing the user's role may be used in subsequent requests for role-specific fragments and in the cache identifier for role-specific fragments, thereby allowing requests from other users for role-specific fragments to be resolved in the cache when the users have the same role because these users would also have the same cookie.
    Type: Application
    Filed: December 19, 2001
    Publication date: October 9, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rajesh S. Agarwalla, James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Mark H. Linehan, Subbarao Meduri
  • Publication number: 20030188021
    Abstract: A method, a system, an apparatus, and a computer program product are presented for a fragment caching methodology. After receiving a message at a computing device that contains a cache management unit, a fragment in the message is cached. Subsequent requests for the fragment at the cache management unit result in a cache hit. A FRAGMENTLINK tag is used to specify the location in a fragment for an included or linked fragment to be inserted into the fragment during fragment or page assembly. Performance for processing fragments can be improved by obtaining multiple fragments in a single request message. A cache management unit is able to generate a request message for multiple fragments when multiple FRAGMENTLINK tags are found within a single fragment. A cache management unit is also able to response to a request message containing multiple requests for fragments that may be found within its cache.
    Type: Application
    Filed: December 19, 2001
    Publication date: October 2, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Mark H. Linehan
  • Publication number: 20030188016
    Abstract: A method, a system, an apparatus, and a computer program product are presented for a fragment caching methodology. Within the request path from a client to a server, a first computing device may attach to a request message a message header that indicates that the first computing device supports fragment processing; a second computing device within the request path processes this request message. When the second computing device receives a response message corresponding to the request message, it can check for a message header directive that indicates that it should cache the response message's fragment only if the response path does not have at least one computing device that supports the processing of fragments; if so, then it forwards the response message without caching its contained fragment.
    Type: Application
    Filed: December 19, 2001
    Publication date: October 2, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rajesh S. Agarwalla, James R.H. Challenger, George P. Copeland, Arun K. Iyengar, Subbarao Meduri
  • Publication number: 20030187935
    Abstract: A method, a system, an apparatus, and a computer program product are presented for fragment caching. After a message is received at a computing device that contains a cache management unit, a fragment in the message body of the message is cached. Subsequent requests for the fragment at the cache management unit result in a cache hit. The cache management unit operates equivalently in support of fragment caching operations without regard to whether the computing device acts as a client, a server, or a hub located throughout the network; in other words, the fragment caching technique is uniform throughout a network. Cache ID rules accompany a fragment from an origin server; the cache ID rules describe a method for forming a unique cache ID for the fragment such that dynamic content can be cached away from an origin server.
    Type: Application
    Filed: December 19, 2001
    Publication date: October 2, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rajesh S. Agarwalla, James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Mark H. Linehan, Subbarao Meduri
  • Publication number: 20030188009
    Abstract: A method, a system, an apparatus, and a computer program product are presented for a fragment caching methodology. After a message is received at a computing device that contains a cache management unit, a fragment in the message body of the message is cached. Subsequent requests for the fragment at the cache management unit result in a cache hit. A FRAGMENTLINK tag is used to specify the location in a fragment for an included or linked fragment which is to be inserted into the fragment during fragment or page assembly or page rendering. If a FRAGMENTLINK tag is present within the message body of a message, then the FRAGMENT message header for the message may indicate the presence of the FRAGMENTLINK tag with a directive for the FRAGMENT message header, e.g., using a “contains-fragment” directive.
    Type: Application
    Filed: December 19, 2001
    Publication date: October 2, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rajesh S. Agarwalla, James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Mark H. Linehan
  • Patent number: 6567893
    Abstract: A system and method for caching objects using a cost-based publish and subscribe paradigm, wherein a server computing node determines whether a given cache node should receive a cache update based on, e.g., the cost of sending the update. In one aspect, a method for maintaining objects in a cache comprises the steps of issuing a subscription for an object, maintaining a metric for the object; and determining, based on the metric, whether a cache is to receive an update message associated with the object. The metric is preferably correlated with one or more factors such as an importance factor of maintaining the cached copy of the object current, the cost of the sending the update message, and/or the estimated lifetime of the object.
    Type: Grant
    Filed: November 17, 2000
    Date of Patent: May 20, 2003
    Assignee: International Business Machines Corporation
    Inventors: James R. H. Challenger, Paul M. Dantzig, Daniel M. Dias, Nagui Halim, Arun K. Iyengar, Richard P. King
  • Publication number: 20030079178
    Abstract: A method, which may be implemented by employing a program storage device, for determining an order in which to construct objects, in accordance with the present invention, includes the steps of providing a plurality of objects, at least one of the objects including a relationship with another object in the plurality of objects, identifying at least one relationship between the plurality of objects, representing the at least one relationship between the plurality of objects using at least one graph, and traversing at least one graph to determine the order in which to construct objects in accordance with the at least one relationship and an update to at least one of the objects in the plurality of objects.
    Type: Application
    Filed: April 1, 1999
    Publication date: April 24, 2003
    Inventors: JAMES R. H. CHALLENGER, CAMERON FERSTAT, ARUN K. IYENGAR, PAUL REED, KAREN A. WITTING
  • Patent number: 6553411
    Abstract: A method, which may be implemented by a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for satisfying requests between a client and a server including the steps of providing a first entity with a directory of information about contents of a cache of a second entity, the first entity for receiving a request from a client, determining whether the directory of information indicates that the request is satisfied by the cache of the second entity by querying the directory of information on the first entity, sending the request to the second entity, if the directory indicates that the request is satisfied by the cache of the second entity, and otherwise, sending the request to be satisfied by another entity. A system is also included.
    Type: Grant
    Filed: May 18, 1999
    Date of Patent: April 22, 2003
    Assignee: International Business Machines Corporation
    Inventors: Daniel M. Dias, Arun K. Iyengar, Daniela Rosu, Renu Tewari
  • Publication number: 20030028740
    Abstract: A method for managing computer memory, in accordance with the present invention, includes maintaining multiple sets of free blocks of memory wherein a free block is added to a set based on its size. In response to a request for a block of a request size, a set of blocks is searched for a free block which is at least as large as the request size but smaller than the request size plus a threshold. If such a block is found, the block is allocated in its entirety.
    Type: Application
    Filed: September 30, 2002
    Publication date: February 6, 2003
    Applicant: International Business Machines Corporation
    Inventors: James R.H. Challenger, Arun K. Iyengar
  • Patent number: 6446183
    Abstract: A method for managing persistent storage in a memory storage system including a main memory and at least one disk memory device, in accordance with the invention, includes maintaining headers in persistent storage for a plurality of blocks wherein a header for each block includes a block size and an allocation status of the block and maintaining at least one data structure in main memory for allocating and deallocating persistent storage. A storage block is allocated by identifying the storage block by employing the at least one data structure in the main memory, modifying the at least one data structure in the main memory and assigning an allocation status for the block on disk. A storage block is deallocated by assigning an allocation status on disk for the block and modifying the at least one data structure in main memory.
    Type: Grant
    Filed: February 15, 2000
    Date of Patent: September 3, 2002
    Assignee: International Business Machines Corporation
    Inventors: James R. H. Challenger, Arun K. Iyengar
  • Patent number: 6256712
    Abstract: A determination can be made of how changes to underlying data affect the value of objects. Examples of applications are: caching dynamic Web pages; client-server applications whereby a server sending objects (which are changing all the time) to multiple clients can track which versions are sent to which clients and how obsolete the versions are; and any situation where it is necessary to maintain and uniquely identify several versions of objects, update obsolete objects, quantitatively assess how different two versions of the same object are, and/or maintain consistency among a set of objects. A directed graph called an object dependence graph, may be used to represent the data dependencies between objects. Another aspect is constructing and maintaining objects to associate changes in remote data with cached objects. If data in a remote data source changes, database change notifications are used to “trigger” a dynamic rebuild of associated objects.
    Type: Grant
    Filed: August 1, 1997
    Date of Patent: July 3, 2001
    Assignee: International Business Machines Corporation
    Inventors: James Robert Harold Challenger, Paul Michael Dantzig, Arun K. Iyengar, Gerald A. Spivak
  • Patent number: 6216212
    Abstract: A determination can be made of bow changes to underlying data affect the value of objects. Examples of applications are: caching dynamic Web pages; client-server applications whereby a server sending objects (which are changing all the time) to multiple clients can track which versions are sent to which clients and how obsolete the versions are; and any situation where it is necessary to maintain and uniquely identify several versions of objects, update obsolete objects, quantitatively assess how different two versions of the same object are, and/or maintain consistency among a set of objects. A directed graph called an object dependence graph, may be used to represent the data dependencies between objects. Another aspect is constructing and maintaining objects to associate changes in remote data with cached objects. If data in a remote data source changes, database change notifications are used to “trigger” a dynamic rebuild of associated objects.
    Type: Grant
    Filed: August 18, 1999
    Date of Patent: April 10, 2001
    Assignee: International Business Machines Corporation
    Inventors: James Robert Harold Challenger, Paul Michael Dantzig, Arun K. Iyengar, Gerald A. Spivak
  • Patent number: 6091896
    Abstract: A software development system with improved facilities for debugging optimized code. Certain parts of the operations specified by source statements are categorized as "data change points". A compiler 102 identifies the correspondence between the machine instructions that perform data change point operations and the source statements from which these machine instructions were derived and stores this mapping data 110 for use by a debugger program 104. This source code/machine instruction mapping data is used by the debugger to permit users to specify machine instruction locations (such as for setting breakpoints) by identifying a source statement and specifying that the debugger use the data change point of that statement; as another example, the step command includes an option that permits a user to continue execution until the next data change point instruction is reached. The debugger's source code display (FIGS.
    Type: Grant
    Filed: December 22, 1995
    Date of Patent: July 18, 2000
    Assignee: Hewlett-Packard Company
    Inventors: Donald L. Curreri, Arun K. Iyengar, Russell A. Biesele, Michelle A. Ruscetta
  • Patent number: 6026413
    Abstract: A determination can be made of how changes to underlying data affect the value of objects. Examples of applications include: caching dynamic Web pages; client-server applications whereby a server sending objects (which are changing all the time) to multiple clients can track which versions are sent to which clients and how obsolete the versions are; and any situation where it is necessary to maintain and uniquely identify several versions of objects, update obsolete objects, quantitatively assess how different two versions of the same object are, and/or maintain consistency among a set of objects. A directed graph, called an object dependence graph, may be used to represent the data dependencies between objects. Another aspect is constructing and maintaining objects to associate changes in remote data with cached objects. If data in a remote data source changes, database change notifications are used to "trigger" a dynamic rebuild of associated objects.
    Type: Grant
    Filed: August 1, 1997
    Date of Patent: February 15, 2000
    Assignee: International Business Machines Corporation
    Inventors: James Robert Harold Challenger, Paul Michael Dantzig, Arun K. Iyengar, Gerald A. Spivak
  • Patent number: 5961601
    Abstract: A method and system for preserving state in computers communicating over networks, such as the World Wide Web (WWW) using stateless protocols, e.g., HTTP. State is preserved in a conversation between a client requesting services from a served by performing the service and identifying all continuations (hyperlinks) in an output from the service; recursively embedding the state information in all identified continuations in the output sent to the client. The state information may be embedded and communicated by the server to the client. Alternatively, dynamically downloadable program code may be used to embed the state information at the client. Additional features enable the filtering and/or addition of hyperlinks and data output from the services according to predetermined criteria. State information may be embedded by modifying an identified continuation which is a request for an HTML file, to invoke a CGI converter program with the identified continuation and the state information passed as arguments.
    Type: Grant
    Filed: June 7, 1996
    Date of Patent: October 5, 1999
    Assignee: International Business Machines Corporation
    Inventor: Arun K. Iyengar