Patents by Inventor Brian Ward Thomson

Brian Ward Thomson 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: 9436952
    Abstract: A method for caching targeted webpage content is disclosed. In one embodiment, such a method includes dividing a cacheable content pertaining to a website into a static portion and a dynamic frame for displaying visitor targeted content. The method determines a result for one or more targeting rules applied to a visitor's activity on a portion of the website and provides the result to the visitor's browser. The method further includes loading the dynamic frame of the cacheable content with visitor targeted content based on the provided result. A corresponding apparatus and computer program product are also disclosed.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: September 6, 2016
    Assignee: International Business Machines Corporation
    Inventor: Brian Ward Thomson
  • Publication number: 20140012681
    Abstract: A method for caching targeted webpage content is disclosed. In one embodiment, such a method includes dividing a cacheable content pertaining to a website into a static portion and a dynamic frame for displaying visitor targeted content. The method determines a result for one or more targeting rules applied to a visitor's activity on a portion of the website and provides the result to the visitor's browser. The method further includes loading the dynamic frame of the cacheable content with visitor targeted content based on the provided result. A corresponding apparatus and computer program product are also disclosed.
    Type: Application
    Filed: March 15, 2013
    Publication date: January 9, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Brian Ward Thomson
  • Patent number: 6473773
    Abstract: Memory management to support calls between objects in language environments support automatic garbage collection and language environments requiring explicit control of object destruction is provided. Reference counting is used to automatically control the lifetime of objects requiring explicit destruction and that are to be accessible across the language boundary. A data structure is maintained in a runtime component for each object that is accessed over a language boundary. The reference count for each non-garbage collected object is incremented by the runtime in accordance with the number of cross-language references held to it. When the count reaches zero through decrements as the references are returned and destroyed, the non-garbage collected object can be safely and automatically destroyed. The runtime creates a strong reference to any garbage collected object accessed by a cross-language call.
    Type: Grant
    Filed: June 6, 1998
    Date of Patent: October 29, 2002
    Assignee: International Business Machines Corporation
    Inventors: Michael Cheng, Tim Scott Hanson, Kim Lawson Rochat, Simon Christopher Nash, Brian Ward Thomson
  • Patent number: 6226786
    Abstract: The invention provides a technique for generating minimal debugging type information in a distinguished compile unit while still supporting the debugging of classes for which the distinguished compile unit is not, in this module, being built or debugged, where the debugging information for the classes has been previously compiled into one or more object modules. On detecting a reference to a type in a program, the compiler inserts code into the module it is compiling to direct the linker where to locate the debugging information object module describing that type. Usually, the object module will be located in a separate link library, so the compiler directs the linker to add the debug library to the list of libraries from which it tries to resolve symbolic references, and to add a reference to an external linkage symbol defined in the object module describing the type. The linker will have to resolve this symbol by adding the debug library into the link.
    Type: Grant
    Filed: December 17, 1997
    Date of Patent: May 1, 2001
    Assignee: International Business Machines Corporation
    Inventors: Kevin Paul Hickman, Donald James McCrady, William Sarantakos, Kevin Alexander Stoodley, Brian Ward Thomson
  • Patent number: 6182155
    Abstract: Uniform access to and interchange between objects with use in any environment that supports interface composition through interface inheritance and implementation inheritance from a common base class is provided. Proxies are used to provide both cross-language and remote access to objects. The proxies and the local implementations for objects share a common set of interface base classes, so that the interface of a proxy for an object is indistinguishable from a similar interface of the actual implementation. Each proxy is taught how to deal with call paramters that are proxies of the other kind. A roster of language identifiers is developed, and a method is added to each object implementation which, when called, checks whether it matches the language that the object implementation is written in. If so, it returns a direct pointer to the object implementation. Common client coding can then be used to deal with both same language and cross-language calls.
    Type: Grant
    Filed: January 2, 1998
    Date of Patent: January 30, 2001
    Assignee: International Business Machines Corporation
    Inventors: Michael Cheng, Brian Ward Thomson
  • Patent number: 6182282
    Abstract: A system and method for accessing virtual functions from classes compiled with compilers using different virtual function table layouts and/or different function member call protocols. A hybrid virtual function table, incorporating entries created by both legacy and adjustor thunk methods, is disclosed. The hybrid virtual function table permits backwards compatibility with previously compiled classes, while taking advantage of the faster adjustor thunk implementation for new code.
    Type: Grant
    Filed: August 26, 1998
    Date of Patent: January 30, 2001
    Assignee: International Business Machines Corporation
    Inventors: Kevin Alexander Stoodley, Brian Ward Thomson
  • Patent number: 6182283
    Abstract: When compiling a program using an object oriented language and virtual functions addressed by virtual function tables, the program may include virtual functions that are defined but not used. The compiler identifies such functions by tagging each defined virtual function with a code identifying it as a member of related virtual functions. The compiler also tags each virtual function call to identify which group (or groups) of related virtual functions are candidates for invocation by the virtual function call at runtime. The linker combines the two codes to identify which defined virtual functions are not candidates for invocation by any virtual function call. The linker omits those non-candidate virtual functions from the link if all references to them were from virtual function tables.
    Type: Grant
    Filed: December 10, 1996
    Date of Patent: January 30, 2001
    Assignee: International Business Machines Corporation
    Inventor: Brian Ward Thomson
  • Patent number: 6178548
    Abstract: A binary class library is adapted to provide full debugging type information particularly for use during program compilation in a minimal debug-generation mode. The library includes, a compile unit that #includes all the include files describing the classes that a given class library implements and exports. The compile unit also includes code defining a symbol with an external linkage. The resulting object module is put into the binary class library or a separate debug library. An inclusion direction and an external linkage symbol to the debug library are added to all include files for the class library that are #included by any program using its classes. These additions cause the compiler to direct the linker to add the debug library to the list of libraries from which it tries to resolve symbolic references, and to add a reference to the external linkage symbol that the linker will have to resolve by adding the debug library into the link.
    Type: Grant
    Filed: December 17, 1997
    Date of Patent: January 23, 2001
    Assignee: International Business Machines Corporation
    Inventors: Kevin Paul Hickman, Donald James McCrady, William Sarantakos, Kevin Alexander Stoodley, Brian Ward Thomson
  • Patent number: 6154823
    Abstract: A method for recognizing fixed size objects and allocating and freeing fixed size data objects in a multiple heap system. The method utilizes a page based structure for allocating fixed size objects. A page or pool of pages is provided for each predetermined object size. Each page includes a reserved area for storing heap handle and object size information which is common to all the objects of the predetermined size for the page. Allocation and de-allocation requests are performed based on the object size. The reserved area in the page includes a recognizable sanity value and the object size for the page. The sanity value denotes a fixed size object. The reserved area also stores two pointers to keep track of a linked list of available and free objects. The remainder of the page is used for the objects. For a de-allocation request, the page containing the object is determined from the address of the object.
    Type: Grant
    Filed: April 28, 1998
    Date of Patent: November 28, 2000
    Assignee: International Business Machines Corporation
    Inventors: Jay William Benayon, Brian Ward Thomson
  • Patent number: 5809554
    Abstract: The present invention provides the user with the ability to control and administer the supply of memory managed in multiple heaps by a library heap management facility. The control data used by the heap management facility is located in the user-supplied memory. Heaps are created dynamically through calls from the application to the runtime library. Allocation within a heap is performed through calls to the runtime library that canvass the available heap memory for each allocation request. If no suitable block of heap memory is located, additional user supplied memory is requested for the application through a callback function. A second callback function notifies the user when a supplied unit of memory is no longer required by the heap and may be disposed of. The callback functions are specified separately for each heap. The invention also provides the user with means for setting the default heap in the runtime library for use by allocation requests from a vendor library that do not specify a heap.
    Type: Grant
    Filed: February 26, 1996
    Date of Patent: September 15, 1998
    Assignee: International Business Machines Corp.
    Inventors: Jay William Benayon, Brian Ward Thomson