Patents Represented by Attorney, Agent or Law Firm A. Bruce Clay
  • Patent number: 7237242
    Abstract: Thread pools in a multithreaded server are programmatically adjusted, based on observed statistics from the server's inbound workload. In a multithreaded server environment, response time to end users is improved while increasing the efficiency of software execution and resource usage. Execution time and wait/queued time are tracked, for various types of requests being serviced by a server. Multiple logical pools of threads are used to service these requests, and inbound requests are directed to a selected one of these pools such that requests of similar execution-time requirements are serviced by the threads in that pool. The number and size of thread pools may be adjusted programmatically, and the distribution calculation (i.e., determining which inbound requests should be assigned to which pools) is a programmatic determination. In preferred embodiments, only one of these variables is adjusted at a time, and the results are monitored to determine whether the effect was positive or negative.
    Type: Grant
    Filed: December 31, 2002
    Date of Patent: June 26, 2007
    Assignee: International Business Machines Corporation
    Inventors: Christopher James Blythe, Gennaro A. Cuomo, Erik A. Daughtrey, Matt R. Hogstrom
  • Patent number: 7219341
    Abstract: A method, system and apparatus for performing selective data processing based upon a static analysis of the code of a compiled object. A compiled object, for example an enterprise bean, can be analyzed to determine how individual methods in the enterprise bean access specific objects. Those specific objects can include, for instance, data members of a class, or class objects passed into one or more individual methods of the enterprise bean. Where the individual methods of the enterprise bean do not mutate or otherwise change the state of the specific objects, those objects can be accessed by reference only. Importantly, where the specific objects are data fields linked to a table in a database as managed by a container managed persistence (CMP) bean, an update to the table will not be required when the static analysis of the enterprise bean otherwise indicates that the data fields are merely accessed, but not updated.
    Type: Grant
    Filed: October 31, 2002
    Date of Patent: May 15, 2007
    Assignee: International Business Machines Corporation
    Inventors: Ann Eleanor Dalton, David Granshaw, Matt Richard Hogstrom, Aaron Stephen Jay Kershenbaum, Lawrence Koved, Bert Laonipon, Simon Christopher Nash, Marco Pistola
  • Patent number: 7207043
    Abstract: Workload is programmatically distributed across a set of execution resources. In a multithreaded server environment, response time to end users is improved while increasing the efficiency of software execution and resource usage. Execution time and wait/queued time are tracked, for various types of requests being serviced by a server. Multiple logical pools of threads are used to service these requests, and inbound requests are directed to a selected one of these pools such that requests of similar execution-time requirements are serviced by the threads in that pool. The number and size of thread pools may be adjusted programmatically, and the distribution calculation (i.e., determining which inbound requests should be assigned to which pools) is a programmatic determination. In preferred embodiments, only one of these variables is adjusted at a time, and the results are monitored to determine whether the effect was positive or negative.
    Type: Grant
    Filed: December 31, 2002
    Date of Patent: April 17, 2007
    Assignee: International Business Machines Corporation
    Inventors: Christopher James Blythe, Gennaro A. Cuomo, Erik A. Daughtrey, Matt R. Hogstrom
  • Patent number: 7124192
    Abstract: Methods, systems, and computer program products are disclosed for protecting the security of resources in distributed computing environments. The disclosed techniques improve administration and enforcement of security policies. Allowed actions on resources, also called permissions, (such as invocations of particular methods, read or write access of a particular row or perhaps a particular column in a database table, and so forth) are grouped, and each group of permissions is associated with a role name. A particular action on a particular resource may be specified in more than one group, and therefore may be associated with more than one role. Each role is administered as a security object. Users and/or user groups may be associated with one or more roles. At run-time, access to a resource is protected by determining whether the invoking user has been associated with (granted) at least one of the roles required for this type of access on this resource.
    Type: Grant
    Filed: August 30, 2001
    Date of Patent: October 17, 2006
    Assignee: International Business Machines Corporation
    Inventors: Robert Howard High, Jr., Anthony Joseph Nadalin, Nataraj Nagaratnam
  • Patent number: 7012528
    Abstract: Techniques are disclosed for detecting shoplifting or theft, particularly in a retail environment, using radio-frequency identification (“RFID”). Preferred embodiments leverage RFID tags on merchandise and RFID data that is written at the point of sale on the merchandise-borne RFID tags themselves, on the customer's receipt, or both. Some embodiments also leverage RFID tags on customer identification or “loyalty” cards. After writing RFID data on the merchandise-borne tags and/or receipt, a matching operation is performed at an RFID reader when the shopper and his merchandise exit the premises, in order to determine whether the shopper has paid for the items in his possession.
    Type: Grant
    Filed: September 19, 2003
    Date of Patent: March 14, 2006
    Assignee: International Business Machines Corporation
    Inventors: James M. Mathewson, II, Marcia L. Stockton
  • Patent number: 6996622
    Abstract: A server issues a virtual directory name at the beginning of a session, and a client redirects to a page at or below the virtual directory name. The server changes the virtual directory name to a physical name during the tracking in the session, and implements a method to a resource specified by the physical directory name. If necessary, the server identifies the user having an access under the virtual directory name when implementing the method. When the user moves within the physical directory structured to be present at or below the virtual directory (that is, during the session management), the user moves from one link to another by a relative path.
    Type: Grant
    Filed: July 11, 2002
    Date of Patent: February 7, 2006
    Assignee: International Business Machines Corporation
    Inventor: Takashi Itoh
  • Patent number: 6948002
    Abstract: A system method of interfacing a computer system executing commercial transactions initiated from communication devices, each communication device having a display, with custom display parameters, is provided. For the system and method, at the computer system, for each device, a command is received and translated into a common format command. The common format command is executed and results therefrom are received. A database is accessed having elements identifying sets of display parameters, one set of the sets is for use with the custom display parameters. One set of display parameters is retrieved from the database.
    Type: Grant
    Filed: December 7, 2001
    Date of Patent: September 20, 2005
    Assignee: International Business Machines Corporation
    Inventors: Victor Chan, Kit Yin Madelaine Fok, Mark W. Hubbard
  • Patent number: 6886166
    Abstract: Methods are provided for parsing, in a message parser P1, P2 of a message processing system 1, a plurality of messages comprising respective corresponding sets of data fields arranged in a predetermined format, to extract a corresponding data field from each message. The format is defined by format information which is stored in the system 1 and which indicates a name for each data field in a said set. In response to a handle request, which indicates the name of a required data field, received from a component 2, 3, 6 of the system, the format information is accessed to determine the location of the required data field in a said message. A handle, indicative of this location, is then supplied to the component. In response to subsequent parsing requests, each comprising the handle and a said message, from the component, the required data field is extracted from the message in each parsing request according to the location indicated by the handle.
    Type: Grant
    Filed: August 21, 2001
    Date of Patent: April 26, 2005
    Assignee: International Business Machines Corporation
    Inventors: Roy B Harrison, Stephen James Todd
  • Patent number: 6882353
    Abstract: A locale identification triplet is provided and a related computer implemented method, computer system and computer program for making practical use of the locale identification triplet. The identifier includes a table identifier, locale version identifier and a locale token. The locale token is the only mandatory identifier in the triplet and addresses the need to uniquely identify desired localization specifications through a concise unambiguous hexadecimal format. The locale version identifier addresses the need to allow multiple variations of the locale specification defined for a given “root” locale, and the table identifier addresses the need to provide a mechanism to identify and distinguish a particular instance of a locale with regards to an environment (such as a system) or reference to an installation/application/user provided reference table.
    Type: Grant
    Filed: March 22, 2002
    Date of Patent: April 19, 2005
    Assignee: International Business Machines Corporation
    Inventors: William B. Nettles, Daniel A. Rose, Baldev S. Soor
  • Patent number: 6823494
    Abstract: A window display enables a user to easily identify a window to which a selected object belongs. A computer system displays a plurality of windows, each of which includes one or a plurality of objects, and which displays a window to which a selected object belongs. The window field to which a selected object belongs is, in response to the selection of the object, displayed with an attribute, e.g., with a domain (background) color, that differs from that of other window fields. In this manner, it is possible for a user to easily identify the window of the selected object.
    Type: Grant
    Filed: October 11, 2001
    Date of Patent: November 23, 2004
    Assignee: International Business Machines Corporation
    Inventors: Tadaaki Minoura, Toru Tachibana, Yugo Tanabe
  • Patent number: 6823515
    Abstract: A technique, system, and computer program for enhancing performance of a computer running a multithreaded server application. A scheduling heuristic is defined for optimizing the number of available threads. This heuristic alleviates over-scheduling of worker threads by defining a technique to wait to assign an incoming request to a currently-executing thread (upon completion of the thread's current work), instead of awakening a blocked thread for the incoming request. Provision is made to ensure no thread waits too long. Two stages are associated with a passive socket, so that a connection is only bound to a worker thread when work arrives for that connection. A new type of socket is defined, for merging input from more than one source and making that merged input available for scheduling. A giveback function is defined, for optimizing assignment of threads to incoming requests when persistent connections are used. Threads that go idle are put onto an idle queue, releasing them from a worker thread.
    Type: Grant
    Filed: May 10, 2001
    Date of Patent: November 23, 2004
    Assignee: International Business Machines Corporation
    Inventor: Patrick Michael LiVecchi
  • Patent number: 6823358
    Abstract: Provided are a method, apparatus and a computer program product which address the problem of differentiating between processes which appear to a server process to have the same process ID associated with them, for example processes which run within a common process such as a single Java Virtual Machine (JVM). A server process which relies on the process ID to differentiate between sender client processes cannot determine the source of a request. This problem can lead to conflicts between requests which are sent by different client processes running under the same process ID. The problem is solved by creating a set of dispatcher processes and associating one with each requester process. Then requests which are sent to a server process for processing are sent via the respective dispatcher process and its unique process ID is attached to the request. The server process can now use the dispatcher process ID to differentiate between requester clients.
    Type: Grant
    Filed: September 29, 2000
    Date of Patent: November 23, 2004
    Assignee: International Business Machines Corporation
    Inventor: Adrian William Spender
  • Patent number: 6813630
    Abstract: Disclosed are a system, apparatus, method and computer program for communicating information content using wireless means between a host and a client in a communications system, wherein the client is adapted to transmit pointer movement signals and selection signals to a host. The host is adapted to receive pointer movement signals and selection signals and to display a pointer and a selection boundary, and is further adapted to transmit data to the client. The client is adapted to receive and store in storage the data thus acquired. Preferably the client is further adapted to transmit to a host pointer movement and insertion point selection signals and to transmit selected data from its storage to the host. The host is adapted to receive these signals and data, and to respond by displaying the data according to the insertion point selection signal.
    Type: Grant
    Filed: February 22, 2000
    Date of Patent: November 2, 2004
    Assignee: International Business Machines Corporation
    Inventor: Mohammad Ali Sanamrad
  • Patent number: 6792596
    Abstract: It is one object of the present invention to edit a Java program by effectively utilizing the access control using a name scope, so that a program that controls a resource and is to be protected can be prevented from being called by a malevolent program. According to the present invention, a Java program development method comprises: a package name replacement step (101) of replacing, with a single package name, package names of packages to which classes that constitute a program belong; a name scope changing step (102) of changing, to package scopes, name scopes of internal fields in the classes that are not to be referred to by sources outside the application program; and a digital signing step (105) of digitally signing the program obtained through the package name replacement and the name scope changing.
    Type: Grant
    Filed: March 23, 2001
    Date of Patent: September 14, 2004
    Assignee: International Business Machines Corporation
    Inventors: Hiroshi Maruyama, Hisashi Kojima
  • Patent number: 6781611
    Abstract: A user may easily switch between multiple open windows in multiple applications on a computer desktop. A visual indicator is provided on an application button. The indicator is linked to a list of open windows within an application represented by the application button. By interacting with the visual indicator, a desired selection from the list of open windows can be surfaced. The visual indicator may comprise an arrow positioned within the application button. Interaction with the visual indicator may comprise positioning a pointer of a pointing device over the visual indicator on the application button. A user then clicks and holds on the visual indicator with the pointing device. A pop-up menu is surfaced containing the list of open windows within the application represented by the application button. By releasing the pointing device over a desired selection on the list of open windows, the desired selection is presented to the user.
    Type: Grant
    Filed: June 28, 2000
    Date of Patent: August 24, 2004
    Assignee: International Business Machines Corporation
    Inventor: Christian James Richard
  • Patent number: 6782528
    Abstract: Application software is visually programmed with a relational diagram that is structured in a left-to-right format. Parts/beans of a software application are placed onto the relational diagram to illustrate an inherent visual flow of the application's logic. The relational diagram is further structured by providing a three column workspace for display of the parts/beans of the software application. The three column workspace can be further structured with a center column for placement of a main part/bean. A left most column is also provided for placement of others of the parts/beans which provide input to the main part/bean in the center column. In addition, a right most column is provided for placement of other parts/beans which receive output from the main part/bean in the center column. The application logic can be modified when a user adds at least one of the parts/beans directly to any one of the three columns in the workspace.
    Type: Grant
    Filed: June 16, 2000
    Date of Patent: August 24, 2004
    Assignee: International Business Machines Corporation
    Inventors: Laura Johnson Bennett, Scott Michael Consolatti, Christopher Joseph Paul
  • Patent number: 6779017
    Abstract: Load balancing of client transactions, for the duration of a client session, in a Web site is implemented by a cluster of servers. An initial request in each client session is sent to the site load balancer, thus, greatly enhancing the capability of the site to accept new session requests. All subsequent requests from a client are forwarded directly to the server first selected so that the sessions cannot be later broken by the load balancer.
    Type: Grant
    Filed: December 29, 1999
    Date of Patent: August 17, 2004
    Assignee: International Business Machines Corporation
    Inventors: Marc Lamberton, Eric Levy-Abegnoli, Eric Montagnon, Pascal Thubert
  • Patent number: 6775687
    Abstract: A method, system, and computer program product for exchanging supplemental information fields between a client and server. This supplemental information can then be used by the server to complete a client's request for content stored at a particular location. For example, the supplemental information may be used to provide a customized response, or for access control to sensitive data. Preferably, the REDIRECT message of the Hypertext Transfer Protocol (HTTP) or the Wireless Session Protocol (WSP) is used to request the supplemental information, encoding a comma-separated list of attribute names in a request header for the desired supplemental information. This solution is designed to be backward-compatible.
    Type: Grant
    Filed: October 12, 1999
    Date of Patent: August 10, 2004
    Assignee: International Business Machines Corporation
    Inventors: Carl Binding, Stefan Georg Hild, Luke James O'Connor, Sandeep K. Singhal
  • Patent number: 6775772
    Abstract: A method, system, and computer program product for establishing security parameters that are used to exchange data on a secure connection. A piggy-backed key exchange protocol is defined, with which these security parameters are advantageously exchanged. By piggy-backing the key exchange onto other already-required messages (such as a client's HTTP GET request, or the server's response thereto), the overhead associated with setting up a secure browser-to-server connection is minimized. This technique is defined for a number of different scenarios, where the client and server may or may not share an encoding scheme, and is designed to maintain the integrity of application layer communication protocols. In one scenario, a client and a server exchange secure messages using a trusted third party.
    Type: Grant
    Filed: October 12, 1999
    Date of Patent: August 10, 2004
    Assignee: International Business Machines Corporation
    Inventors: Carl Binding, Stefan Georg Hild, Luke James O'Connor, Sandeep K. Singhal, Victor John Shoup, Michael Steiner
  • Patent number: 6760886
    Abstract: A method of performing distributed development of a computer software application by using a WebDAV (Web Distributed Authoring and Versioning) client, to access a WebDAV server, ensures that referential integrity is maintained when checking in documents from the client top the server.
    Type: Grant
    Filed: October 6, 2000
    Date of Patent: July 6, 2004
    Assignee: International Business Machines Corporation
    Inventors: Gaetan Nadon, Dirk Alexander Seelemann, Michael Starkey