Patents by Inventor Matthew Dale McClain

Matthew Dale McClain 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: 7266766
    Abstract: A method for simplifying the development, testing and maintenance of code objects that may be used, for example, to generate custom web page content. According to the invention, a developer isolates a given task, generates code for the task, and then provides a means by which a page-generating Java servlet can access that code at request time. The code may be generated at any time, and the servlet preferably is generated at translation time, i.e. when a request for the page is first made at a server. In a preferred embodiment, the code for the task is supported within a given method of a Java tagbean.
    Type: Grant
    Filed: September 30, 1999
    Date of Patent: September 4, 2007
    Assignee: International Business Machines Corporation
    Inventors: Christopher Shane Claussen, Matthew Dale McClain
  • Patent number: 6981212
    Abstract: A method for serving a web page uses eXtensible Markup Language (XML) server pages. The first time a page is accessed, a given flat file is parsed into an XML Document Object Model (DOM), and required tag libraries are loaded. The DOM tree is then traversed, preferably in a depth-first, inside-out manner to locate custom tags. Upon locating a custom tag, if the tag is registered as a Java object, the object is loaded. A process method is then called on the object, passing the custom tag's tree node. The Java object then examines the custom tag and replaces it with an object, e.g., script code. Alternatively, if the tag is registered as an XSL stylesheet, the stylesheet is loaded and passed, together with the DOM, to an XSL processor. The processor applies the template to the custom tag and replaces it with given script code. Once all custom tags are reduced to HTML and script code, the DOM is compiled into a Java servlet to service the client request.
    Type: Grant
    Filed: September 30, 1999
    Date of Patent: December 27, 2005
    Assignee: International Business Machines Corporation
    Inventors: Christopher Shane Claussen, Michael Haden Conner, Matthew Dale McClain, Benjamin Charles ZumBrunnen
  • Patent number: 6981211
    Abstract: A method of processing a document object model (DOM) tree having at least one tag located at a given node in the tree. The tag serves as a marker that initiates the invocation of a tag handler that, in turn, performs a simple macro substitution or a more complex algorithmic reorganization and manipulation of the tree. Upon encountering the tag, given information is passed to a method. In a first embodiment, the given information is a text representation of XML in the DOM tree at the given node and any child nodes of the given node. In an alternate embodiment, the given information is the given node of the DOM tree itself. The method generates an XML string, which is then parsed into a new DOM tree having a root node. The given node and any child nodes are then replaced by the new DOM tree, with the root node of the new DOM tree being positioned at the given node in the original DOM tree. The process may then be repeated for any additional tags.
    Type: Grant
    Filed: September 30, 1999
    Date of Patent: December 27, 2005
    Assignee: International Business Machines Corporation
    Inventors: Christopher Shane Claussen, Matthew Dale McClain, Benjamin Charles ZumBrunnen
  • Patent number: 6981105
    Abstract: A data processing system comprising a cache memory, wherein a cache entry containing data is stored in the cache memory. A cache coordinator, wherein the cache coordinator invalidates one or more cache entries in response to a signal. An ID-based invalidation process, wherein a cache entry is associated with an ID that uniquely identifies the cache entry and can optionally be associated with one or more data ids that represent the underlying data contained in the cache entry, and the ID-based invalidation process sends a signal to the cache coordinator to invalidate all cache entries that either have that cache entry ID or have been associated with a data ID when the data that the ID represents changes. A time-limit-based invalidation process, wherein a cache entry can be associated with a time limit, and the time-limit-based invalidation process sends a signal to the cache coordinator to invalidate a cache entry whose time limit has expired.
    Type: Grant
    Filed: January 27, 2003
    Date of Patent: December 27, 2005
    Assignee: International Business Machines Corporation
    Inventors: Donald A. Bourne, Christopher Shane Claussen, George Prentice Copeland, Matthew Dale McClain
  • Patent number: 6889359
    Abstract: A table format object is used to format a dynamic HTML table at a web server. To facilitate the development of a dynamic server page for use in serving the dynamic table, first and second representations are created and made available for display to a page developer, e.g., in a web browser. The first representation illustrates how the HTML table will appear when formatted on a page by the table format object. The first representation includes given table attribute elements. The second representation is preferably online documentation for the table format object that includes, for each table attribute element, a set of methods that are available on the table format object. According to the invention, a given table attribute in the first representation is bidirectionally linked to its corresponding set of methods in the second representation to enable the developer to easily identify how given attributes in the table behave and how to resolve potential conflicts between these attributes.
    Type: Grant
    Filed: October 7, 1999
    Date of Patent: May 3, 2005
    Assignee: International Business Machines Corporation
    Inventors: Michael Haden Conner, Matthew Dale McClain, Lin Xu
  • Patent number: 6851088
    Abstract: A method operative at a server for generating a table having dynamic data. According to the method, a page developer may specify a given table cell in the table for conditional treatment. In response to a request for the table received from a client browser, the table is populated with dynamic data, preferably by instantiating a table format object. If the dynamic data in the table cell meets a given condition, the table cell is highlighted. Using this technique, the page developer may conditionally highlight a particular cell based on the characteristics of the dynamic data to be presented in the cell.
    Type: Grant
    Filed: December 7, 1999
    Date of Patent: February 1, 2005
    Assignee: International Business Machines Corporation
    Inventors: Michael Haden Conner, Matthew Dale McClain, Lin Xu
  • Patent number: 6779152
    Abstract: A method, operative at a web server, for generating an HTML table having dynamic data, wherein the table can be oriented in any horizontal or vertical orientation. The method preferably utilizes a table format page object to format the table. To facilitate selective rotation of the dynamic table, the method begins by associating together given attribute characteristics of each individual cell in the table. The page developer then sets a table style rotation property on the table format page object. In response to a client request, the table format page object is then instantiated with the dynamic data. The table style rotation property is applied to the table to control the table's orientation. The resulting table is then served back to the requesting client browser.
    Type: Grant
    Filed: December 7, 1999
    Date of Patent: August 17, 2004
    Assignee: International Business Machines Corporation
    Inventors: Michael Haden Conner, Matthew Dale McClain, Lin Xu
  • Patent number: 6732330
    Abstract: Different scripting languages may reside side-by-side or nested within each other on the same web page. Thus, a new author may add code to the page, and he or she is not tied to any given subset of languages supported by the web server. Multiple scripting languages are supported by identifying a start and an end of each scripting language code block authored into the web page markup language. When the web page is later compiled into an XML Document Object Model (DOM) tree, the routine examines the DOM to identify any nodes that identify a given code block. Upon encountering a node that identifies a given code block, the DOM is adjusted to account for the script code within the given code block.
    Type: Grant
    Filed: September 30, 1999
    Date of Patent: May 4, 2004
    Assignee: International Business Machines Corporation
    Inventors: Christopher Shane Claussen, Michael Haden Conner, Matthew Dale McClain, Benjamin Charles ZumBrunnen
  • Patent number: 6718515
    Abstract: A method operative at a server in response to a client browser request for generating a table having dynamic data. The method begins by instantiating a table format object with dynamic data extracted from one of a set of data objects through a common interface. The common interface enables page developers to author customized data getter objects that are used to access data in the set of data objects. The dynamic data extracted from the given data object through the common interface is formatted into the table according to the table format object. The resulting table with dynamic data is then served back to the requesting client browser.
    Type: Grant
    Filed: December 7, 1999
    Date of Patent: April 6, 2004
    Assignee: International Business Machines Corporation
    Inventors: Michael Haden Conner, Matthew Dale McClain, Lin Xu
  • Patent number: 6718516
    Abstract: A method for processing a Document Object Model (DOM) tree to verify context between multiple related XML tags. One or more of these related XML tags are custom tags. According to the invention, contextual relationships between the related XML tags are verified using the DOM itself to indicate state. In a preferred embodiment, the inventive method begins during the processing of the DOM tree with a current element being processed replacing itself with a placeholder element. The placeholder element includes attributes indicating its state. If a clean-up element does not already exist for the element being processed, the current element creates a clean-up element and adds it to the DOM, for example, as a child node to the root position. When the clean-up element is later encountered, this element scans the entire DOM for all the related tags (now placeholders) of interest. The clean-up element loads the state information from each and processes the state information accordingly.
    Type: Grant
    Filed: September 30, 1999
    Date of Patent: April 6, 2004
    Assignee: International Business Machines Corporation
    Inventors: Christopher Shane Claussen, Gregory Alan Flurry, Matthew Dale McClain, Lin Xu, Benjamin Charles ZumBrunnen
  • Patent number: 6675354
    Abstract: A method for processing custom tags in a document object model (DOM) representation irrespective of the case in which the tags are authored. In an illustrative embodiment, a document object model (DOM) tree is processed to identify custom tags. Upon encountering a custom tag, an appropriate tag handler (e.g., a Java object, an XSL stylesheet, or the like) is invoked. According to the invention, a tag recognition routine is used for recognizing and handling case-insensitive custom tags. As a servlet engine is examining a tag name, if the name does not match one of the registered tags, the routine converts the name to neutral case. If the tag recognition routine recognizes the name as one of the case-insensitive tags, it converts the attributes to the appropriate case, and hands the resulting element off to a correct tag handler for processing.
    Type: Grant
    Filed: November 18, 1999
    Date of Patent: January 6, 2004
    Assignee: International Business Machines Corporation
    Inventors: Christopher Shane Claussen, Matthew Dale McClain, Lin Xu, Benjamin Charles ZumBrunnen
  • Patent number: 6615235
    Abstract: A method and apparatus in a data processing system for coordinating caches for a plurality of web application server address spaces. These address spaces may be, for example, located in a Java virtual machine. A request for a page is received at a web application server address space within the plurality of web application server address spaces. Responsive to an absence of information for the page being located in a cache within the web application server address space, a request is sent to a coordinating address space for the information. Responsive to an absence of the information being located in the coordinating address space, a storage device associated with the data processing system is accessed for the information. This information is returned to the coordinating address space for use in processing requests for this information from other web application server address spaces within the plurality of web application server address spaces.
    Type: Grant
    Filed: July 22, 1999
    Date of Patent: September 2, 2003
    Assignee: International Business Machines Corporation
    Inventors: George Prentice Copeland, Matthew Dale McClain
  • Publication number: 20030120875
    Abstract: A data processing system comprising a cache memory, wherein a cache entry containing data is stored in the cache memory. A cache coordinator, wherein the cache coordinator invalidates one or more cache entries in response to a signal. An ID-based invalidation process, wherein a cache entry is associated with an ID that uniquely identifies the cache entry and can optionally be associated with one or more data ids that represent the underlying data contained in the cache entry, and the ID-based invalidation process sends a signal to the cache coordinator to invalidate all cache entries that either have that cache entry ID or have been associated with a data ID when the data that the ID represents changes. A time-limit-based invalidation process, wherein a cache entry can be associated with a time limit, and the time-limit-based invalidation process sends a signal to the cache coordinator to invalidate a cache entry whose time limit has expired.
    Type: Application
    Filed: January 27, 2003
    Publication date: June 26, 2003
    Inventors: Donald A. Bourne, Christopher Shane Claussen, George Prentice Copeland, Matthew Dale McClain
  • Patent number: 6584548
    Abstract: A data processing system comprising a cache memory, wherein a cache entry containing data is stored in the cache memory. A cache coordinator, wherein the cache coordinator invalidates one or more cache entries in response to a signal. An ID-based invalidation process, wherein a cache entry is associated with an ID that uniquely identifies the cache entry and can optionally be associated with one or more data ids that represent the underlying data contained in the cache entry, and the ID-based invalidation process sends a signal to the cache coordinator to invalidate all cache entries that either have that cache entry ID or have been associated with a data ID when the data that the ID represents changes. A time-limit-based invalidation process, wherein a cache entry can be associated with a time limit, and the time-limit-based invalidation process sends a signal to the cache coordinator to invalidate a cache entry whose time limit has expired.
    Type: Grant
    Filed: July 22, 1999
    Date of Patent: June 24, 2003
    Assignee: International Business Machines Corporation
    Inventors: Donald A. Bourne, Christopher Shane Claussen, George Prentice Copeland, Matthew Dale McClain
  • Patent number: 6574715
    Abstract: A method and apparatus in a data processing system for caching data in an internal cache and in an external cache A set of fragments is received for caching. A location is identified to store each fragment within the plurality of fragments based on a rate of change of data in each fragment. The set of fragments is stored in the internal cache and the external cache using the location identified for each fragment within the plurality of fragments.
    Type: Grant
    Filed: May 29, 2002
    Date of Patent: June 3, 2003
    Assignee: International Business Machines Corporation
    Inventors: James R. H. Challenger, George Prentice Copeland, Paul Michael Dantzig, Arun Kwangil Iyengar, Matthew Dale McClain
  • Patent number: 6557038
    Abstract: A method in a data processing system for maintaining a session through a stateless protocol. A page is received from a source through the stateless protocol. Responsive to a display of the page in the data processing system, an indication is sent to the source through the connectionless protocol in response to a periodic event, wherein the indication prevents a termination of the session at the source.
    Type: Grant
    Filed: June 30, 1999
    Date of Patent: April 29, 2003
    Assignee: International Business Machines Corporation
    Inventors: Craig Henry Becker, Matthew Dale McClain
  • Patent number: 6557076
    Abstract: A method and apparatus for processing data stored in a memory. Responsive to data being invalidated in the memory, a determination is made as to whether an indicator is associated with the data. Responsive to the indicator being associated with the data, the data is retrieved from a source. The data is refreshed in the memory without requiring an external request for the data. Servers typically operate with enough spare capacity so that peek loads can be handled. Aggressive rerendering allows this spare capacity to be used to refresh pages in the cache when they have been invalidated.
    Type: Grant
    Filed: July 22, 1999
    Date of Patent: April 29, 2003
    Assignee: International Business Machines Corporation
    Inventors: George Prentice Copeland, Matthew Dale McClain
  • Patent number: 6507891
    Abstract: A method and apparatus in a data processing system for caching data in an internal cache and in an external cache. A set of fragments is received for caching. A location is identified to store each fragment within the plurality of fragments based on a rate of change of data in each fragment. The set of fragments is stored in the internal cache and the external cache using the location identified for each fragment within the plurality of fragments.
    Type: Grant
    Filed: July 22, 1999
    Date of Patent: January 14, 2003
    Assignee: International Business Machines Corporation
    Inventors: James R. H. Challenger, George Prentice Copeland, Paul Michael Dantzig, Arun Kwangil Iyengar, Matthew Dale McClain
  • Publication number: 20020143868
    Abstract: A method and apparatus in a data processing system for caching data in an internal cache and in an external cache A set of fragments is received for caching. A location is identified to store each fragment within the plurality of fragments based on a rate of change of data in each fragment. The set of fragments is stored in the internal cache and the external cache using the location identified for each fragment within the plurality of fragments.
    Type: Application
    Filed: May 29, 2002
    Publication date: October 3, 2002
    Inventors: James R.H. Challenger, George Prentice Copeland, Paul Michael Dantzig, Arun Kwangil Iyengar, Matthew Dale McClain
  • Patent number: 6457103
    Abstract: A method and apparatus in a data processing system for caching a page containing dynamic content. Dynamic content in a page is divided into a plurality of objects. Each object is stored within the plurality of objects in a cache, wherein an object within the plurality of objects is selectively stored in the cache based on a rate change in data of the object.
    Type: Grant
    Filed: July 22, 1999
    Date of Patent: September 24, 2002
    Assignee: International Business Machines Corporation
    Inventors: James R. H. Challenger, Christopher Shane Claussen, George Prentice Copeland, Paul Michael Dantziq, Arun Kwangil Iyengar, Matthew Dale McClain