Patents by Inventor William John Gallagher

William John Gallagher 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: 8881099
    Abstract: A system and method for dynamically generating proxy classes in order to enforce call-by-value semantics between clients and EJBs collocated with a virtual machine. The virtual machine can be a Java virtual machine (JVM) or some other type of virtual machine. The proxy classes are dynamically generated at runtime using dynamic byte code generation. Generated proxies are then interposed between a client and an EJB. The interposition of the generated proxies allows the proxies to intercept communication between the client and the EJB. The dynamically generated wrapper classes may be used in any system wherein a first entity invokes a second entity, wherein the second entity has an interface that can be retrieved or introspected and utilizes call-by-value semantics.
    Type: Grant
    Filed: September 10, 2004
    Date of Patent: November 4, 2014
    Assignee: Oracle International Corporation
    Inventor: William John Gallagher
  • Patent number: 8094669
    Abstract: The present invention enables a store-and-forward service providing an efficient and reliable forwarding of messages stored in a message queue to a distributed destination. It provides customers with high availability and scalability for applications such as JMS queues and topics. It achieves load balancing and failover amongst all individual members of the distributed destination while ensuring that each message is delivered exactly once.
    Type: Grant
    Filed: April 24, 2008
    Date of Patent: January 10, 2012
    Assignee: Oracle International Corporation
    Inventors: Thomas E. Barnes, William John Gallagher
  • Patent number: 7536675
    Abstract: A system for high level dynamic hot code generation. A class file container object is first created. Methods and code are then added to the class file container object. Byte code is then generated from the populated class file container object. From the byte code, instances of the new class object can by generated. The program code generator is configured to generate code at a programming language construct level, thereby working at a level of program language statements, expressions, variables, and other constructs.
    Type: Grant
    Filed: November 12, 2003
    Date of Patent: May 19, 2009
    Assignee: BEA Systems, Inc.
    Inventor: William John Gallagher
  • Patent number: 7523256
    Abstract: A system and a method for scheduling disk writes for use with an application server, transactional system, or other server. The disk scheduler and method is independent of the underlying operating system and the disk hardware. This allows it to be used without porting to the various settings in which application server might be deployed. In some embodiments, a high-performance, transactional filestore is also provided to minimize the latency of small, synchronous writes to disk. The implementation uses a log-structured file system combined with disk scheduling. By relaxing the requirement that log records be physically contiguous, every modification to the disk can be scheduled.
    Type: Grant
    Filed: January 30, 2006
    Date of Patent: April 21, 2009
    Assignee: BEA Systems, Inc.
    Inventors: William John Gallagher, Dean Bernard Jacobs, Anno R. Langen
  • Patent number: 7472400
    Abstract: Dynamically generating a wrapper object to intercept transmissions between a vendor object and an application program and performs server side tasks. To dynamically generate the wrapper at runtime in memory, the application server receives a vendor class, performs reflection on the vendor class, generates a wrapper class, and creates an instance of the wrapper class. In operation, the dynamically generated wrapper object receives a call placed to a method of the wrapped object, initiates pre-processing tasks to be performed, calls the method on the wrapped object, receives a result from the method invocation against the wrapped object, initiates post-processing tasks to be performed, and transmits the wrapped result back to the application program. The pre-processing tasks may include execution of a pre-invocation handler. The post-processing tasks may include execution of a post-invocation handler.
    Type: Grant
    Filed: November 12, 2003
    Date of Patent: December 30, 2008
    Assignee: BEA Systems, Inc.
    Inventors: Fei Luo, Alexander J. Somogyi, William John Gallagher, Rahul Srivastava
  • Patent number: 7472401
    Abstract: A dynamic generated wrapper object to intercept transmissions between a vendor object and an application program and performs server side tasks. To dynamically generate the wrapper at runtime in memory, the application server receives a vendor class, performs reflection on the vendor class, generates a wrapper class, and creates an instance of the wrapper class. In operation, the dynamically generated wrapper object receives a call placed to a method of the wrapped object, initiates pre-processing tasks to be performed, calls the method on the wrapped object, receives a result from the method invocation against the wrapped object, initiates post-processing tasks to be performed, and transmits the wrapped result back to the application program. The pre-processing tasks may include execution of a pre-invocation handler. The post-processing tasks may include execution of a post-invocation handler.
    Type: Grant
    Filed: November 12, 2003
    Date of Patent: December 30, 2008
    Assignee: BEA Systems, Inc.
    Inventors: Fei Luo, Alexander Somogyi, William John Gallagher, Rahul Srivastava
  • Publication number: 20080267209
    Abstract: The present invention enables a store-and-forward service providing an efficient and reliable forwarding of messages stored in a message queue to a distributed destination. It provides customers with high availability and scalability for applications such as JMS queues and topics. It achieves load balancing and failover amongst all individual members of the distributed destination while ensuring that each message is delivered exactly once.
    Type: Application
    Filed: April 24, 2008
    Publication date: October 30, 2008
    Applicant: BEA SYSTEMS, INC.
    Inventors: William John Gallagher, Thomas E. Barnes
  • Publication number: 20040172639
    Abstract: Dynamically generating a wrapper object to intercept transmissions between a vendor object and an application program and performs server side tasks. To dynamically generate the wrapper at runtime in memory, the application server receives a vendor class, performs reflection on the vendor class, generates a wrapper class, and creates an instance of the wrapper class. In operation, the dynamically generated wrapper object receives a call placed to a method of the wrapped object, initiates pre-processing tasks to be performed, calls the method on the wrapped object, receives a result from the method invocation against the wrapped object, initiates post-processing tasks to be performed, and transmits the wrapped result back to the application program. The pre-processing tasks may include execution of a pre-invocation handler. The post-processing tasks may include execution of a post-invocation handler.
    Type: Application
    Filed: November 12, 2003
    Publication date: September 2, 2004
    Applicant: BEA SYSTEMS, INC.
    Inventors: Fei Luo, Alexander J. Somogyi, William John Gallagher, Rahul Srivastava
  • Publication number: 20040172640
    Abstract: A dynamic generated wrapper object to intercept transmissions between a vendor object and an application program and performs server side tasks. To dynamically generate the wrapper at runtime in memory, the application server receives a vendor class, performs reflection on the vendor class, generates a wrapper class, and creates an instance of the wrapper class. In operation, the dynamically generated wrapper object receives a call placed to a method of the wrapped object, initiates pre-processing tasks to be performed, calls the method on the wrapped object, receives a result from the method invocation against the wrapped object, initiates post-processing tasks to be performed, and transmits the wrapped result back to the application program. The pre-processing tasks may include execution of a pre-invocation handler. The post-processing tasks may include execution of a post-invocation handler.
    Type: Application
    Filed: November 12, 2003
    Publication date: September 2, 2004
    Applicant: BEA SYSTEMS, INC.
    Inventors: Fei Luo, Alexander J. Somogyi, William John Gallagher, Rahul Srivastava
  • Publication number: 20040172614
    Abstract: A method for high level dynamic hot code generation. A class file container object is first created. Methods and code are then added to the class file container object. Byte code is then generated from the populated class file container object. From the byte code, instances of the new class object can by generated. The program code generator is configured to generate code at a programming language construct level, thereby working at a level of program language statements, expressions, variables, and other constructs.
    Type: Application
    Filed: November 12, 2003
    Publication date: September 2, 2004
    Applicant: BEA SYSTEMS, INC.
    Inventor: William John Gallagher
  • Publication number: 20040172613
    Abstract: A system for high level dynamic hot code generation. A class file container object is first created. Methods and code are then added to the class file container object. Byte code is then generated from the populated class file container object. From the byte code, instances of the new class object can by generated. The program code generator is configured to generate code at a programming language construct level, thereby working at a level of program language statements, expressions, variables, and other constructs.
    Type: Application
    Filed: November 12, 2003
    Publication date: September 2, 2004
    Applicant: BEA SYSTEMS, INC.
    Inventor: William John Gallagher