Systems and methods for application view transactions

Information

  • Patent Grant
  • 7676538
  • Patent Number
    7,676,538
  • Date Filed
    Friday, March 28, 2003
    22 years ago
  • Date Issued
    Tuesday, March 9, 2010
    15 years ago
Abstract
Local transactions are supported by an application view instance that can switch from a stateless session bean to a stateful session bean in order to open a connection for a local transaction. The state that the stateful session bean holds is ten the connection. The stateful session bean can hold the connection open across multiple requests in the local transaction interface allows a user to manage the transaction in the application view, and to switch the application view between a stateless session bean and a stateful session bean. A local transaction interface can contain a local transaction management contract, which enables an application server to provide an infrastructure and run-time environment for management of the transaction.
Description
COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document of the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.


CROSS-REFERENCED CASES

The following applications are cross-referenced and incorporated herein by reference:


U.S. Provisional Application No. 60/377,322 entitled “Shared Common Connection Factory,” by Timothy Potter et al., filed May 2, 2002.


U.S. Provisional Application No. 60/377,303 entitled “Adapter Deployment Without Recycle,” by Timothy Potter et al., filed May 2, 2002.


U.S. Provisional Application No. 60/377,354 entitled “Modular Deployment of Components,” by Timothy Potter et al., filed May 2, 2002.


U.S. patent application Ser. No. 10/271,194 entitled “Application View,” by Mitch Upton et al., filed Oct. 15, 2002.


FIELD OF THE INVENTION

The present invention relates to supporting transactions in application integration.


BACKGROUND

In existing application integration (AI) systems, users are unable to capitalize on the full extent of resource adapter functionality. One main area of functionality that is not exploited involves local transaction support. In order to manage a local transaction, a user must acquire a local transaction from a connection object. There is presently no way to do this through an application view component or application view layer. While a Java connector, or at least a Common-Client Interface (CCI)-based Java connector, can support a local transaction, this functionality has not been implemented with regard to an application view layer.


BRIEF SUMMARY

Systems and methods in accordance with embodiments of the present invention can overcome deficiencies in existing integration systems by providing a way to support a local transaction through an application view instance. An application view can switch from a stateless session bean to a stateful session bean in order to open a connection for a local transaction. A state being held by a stateful session bean can be the connection. A stateful session bean can hold a connection open across multiple requests in a local transaction, and can maintain the connection open for the duration of the local transaction.


A local transaction interface can allow a user to manage a local transaction in an application view, and can allow the user to switch the application view between a stateless session bean and a stateful session bean. A Common Client Interface (CCI) class can be used to expose a local transaction interface to a resource adapter client. A transaction manager can be used to obtain a resource for any open connection. The local transaction interface can contain a local transaction management contract, which can enable an application server to provide an infrastructure and run-time environment for management of the transaction.


Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a diagram of a system in accordance with one embodiment of the present invention.



FIG. 2 is a flowchart showing a method that can be used with the system of FIG. 1.





DETAILED DESCRIPTION

Systems and methods in accordance with embodiments of the present invention can enable an application view to support local transactions against a resource adapter. An application view can provide a layer of abstraction between an adapter and Enterprise Information System (EIS) functions exposed by that adapter. Instead of accessing an EIS by direct programming, a user can simply edit the adapter's application views, create new application views, or delete obsolete application views. This layer of abstraction, formed by application views, helps non-programmers easily maintain services and events exposed by the adapter. Each application view can be adapter-specific, and can define a set of business functions on the adapter's EIS. Such application views can provide a view of the application capabilities exposed by an adapter.


As shown in the exemplary method of FIG. 2, if a client of an application view decides to open a local transaction against an Enterprise Information System (EIS), the application view can switch from a stateless session Enterprise JavaBean (EJB) to a stateful session EJB 200. Since the state that the application view holds is the connection itself, the application view can hold the same local transaction open across multiple service requests 202. A local transaction interface can allow a user to manage a local transaction in an application view 204, and can allow the user to switch the application view between a stateless session bean and a stateful session bean. A Common Client Interface (CCI) class can be used to expose a local transaction interface to a resource adapter client 206.


An example of one such system is shown in FIG. 1. As shown in the Figure, an integration adapter 110 can allow a user to browse documents or interfaces in an EIS system 100, such as an SAP system, through a Web browser 116. A resource adapter 114 can be used to send requests to, and receive requests from, the EIS 100. The resource adapter 114 can also be used to implement a connector specification 118. An event router 104, which can also be a Web application, can be used to route messages from the EIS 100 to an application view 108 for the application integration component 106.


When an event occurs in the EIS 100, an event generator 102 can detect the event and determine whether anyone should receive this event. To do this, the event generator 102 can check the types of events that have subscriptions, which can be maintained by the event router 104. The event router can create an event object containing pertinent data about the event, and can send the event to the event router 104. The event router 104 can send the event object to an instance of an application view 108 that is subscribed to the type of event object received from the event generator 102. The application view 108 receives the event object and can notify any listener 112 registered for that type of event. Listeners can include integration process flow or custom business logic flow, for example. A listener 112 can process the event object and determine whether a service should be invoked in response to the event.


If a local transaction needs to be opened against the EIS 100, the application view 108 can switch from a stateless session EJB to a stateful session EJB, such that the application view 108 instance can hold the connection with the EIS 100 as state. A transaction interface 128 can manage the transaction for the application view 108. The application view 108 can combine data from the event object with data held by the application view, such as in state variables, and can make a service invocation on a resource adapter 114. The application view can accept the service request and determine which interaction to request on the resource adapter 114. This mapping from service name to adapter interaction can allow the service to be business-centric and not system-function centric. The resource adapter 114 can carry out the request interaction with the EIS 100 and pass the data received from the application view 108. This data can then be viewed, such as through a Web browser 116, through the integration adapter 110.


An integration adapter 110, a resource adapter 114, and an event router 104 are three components that can conform to the J2EE standard. Since these components can be part of the same adapter, they can have many components shared between them. A class loader 122 can be used, such as from an application server 120, which can allow for the use of shared classes at the root of an Enterprise archive (EAR) file 124. An EAR file can be deployed from a server console 126.


Multiple actions against an EIS for a local transaction can be grouped into a logical unit of work. A customer can be unaware of any such grouping. If a customer needs to do local transaction work, the work can be interfaced with a stateful session EJB instead of a stateless session EJB.


A local transaction interface can be exposed to resource adapter clients through a Common Client Interface (CCI) connection class. Presently, the application view interface does not utilize the CCI local transaction interface. By adding the ability to manage a local transaction in the application view, there is no need to use two interfaces to process local transactions.


In order to retain some control over the use of a local transaction interface, the local transaction interface may not be directly exposed. Instead, the functionality of the local transaction can be provided on the application view interface. The application view can provide methods to support the use of local transactions, including methods such as begin( ), commit( ), and rollback( ). In order to provide a client with local transaction functionality, state can be provided in the application view bean. An application view bean can retain a connection for the duration of a single transaction. In order to provide state, the application view bean can be deployed as both a stateful and stateless bean. The client can manage which bean is used, based on calls to the transaction services.


A local transaction management contract can occur whenever an adapter implements a local transaction interface, such as a javax.resource.spi.LocalTransaction interface, to provide support for local transactions performed on the underlying resource manager. These contracts can enable an application server to provide the infrastructure and run-time environment for transaction management. Application components can rely on this transaction infrastructure to support their component-level transaction model.


The methods that are added to the application view interface to support local transactions do not need to be exposed to the user in an application integration (AI) Plug-in. There can be several approaches to supporting application view local transactions within an AI Plug-in.


In one such approach, a connector supports only local transactions with user-defined transaction demarcation. A connector supporting only local transactions can be similar to a TX_REQUIRES_NEW for EJB transactions.


One simple approach, from a user perspective, to supporting application view local transactions is to create a new plug-in action that performs a transaction method for a particular application view instance. In order to use the local transaction plug-in action, additional plug-in actions can be created. Specifically, additional actions can be created that can generate a new application view instance and invoke a service within the local transaction of an application view instance.


Since the demarcation of a local transaction can be represented as separate actions within business process management (BPM), the transaction that is active in BPM may need to be suspended when an application view local transaction ‘begin’ action is encountered. The BPM transaction can be resumed once a local transaction ‘commit’ or ‘rollback’ action is executed. While functionality can be added to the plug-in to reduce the amount of work for a user by catching exceptions between the begin and commit actions, and rolling back the transaction, the begin/suspend and commit/rollback/resume are separate actions in BPM and the potential for problems in user workflows that use application view local transactions increases dramatically. This could result in support problems, mainly due to migration.


In a second scenario, a connector supports only local transactions with transaction demarcation being more transparent and atomic. Such a scenario can be similar to a TX_REQUIRES_NEW for EJB transactions. This scenario can require the development of a base class to perform certain functions. These functions can include suspending a BPM transaction, caching an application view instance for use by user code, and invoking the user's implementation of an abstract method. Other functions can include catching any exceptions from the user's implementation and performing a rollback on the application view instance, then resuming the BPM transaction. On a normal return from the user's implementation, a commit can also be performed on the application view local transaction and the BPM transaction resumed.


In another scenario, a connector supports only local transactions with no user-defined transaction demarcation. Once again, this scenario is similar to a TX_REQUIRES_NEW for EJB transactions because the connector can only support local transactions. In this scenario, the BPM designer does not explicitly demarcate the start and end of a local transaction. The system can allow the connector to participate in the global transaction by providing an XA wrapper around the local transaction object. The XA wrapper can no-opt all methods on the XAResource interface that cannot be delegated to the local transaction instance. The system can allow only one non-XA resource in the transaction chain. A user can then only have one application view local transaction within a workflow.


In another scenario, a connector can support XA transactions. In this case, there may be no support for calling application view services within a local transaction. Each service invocation can automatically be enlisted into the global XA transaction because the resource adapter supports XA.


An XA resource-based contract can occur between a transaction manager and a resource manager in a distributed transaction processing (DTP) environment. An “XAResource” interface can be a Java mapping of an industry standard XA interface. Such an interface can be used with a javax.transaction.xa package, which can provide an API to define the contract between the transaction manager and the resource manager. This contract can allow the transaction manager to enlist and delist resource objects, which can be supplied by the resource manager driver, in Java Transaction API (JTA) transactions. A driver vendor for a specific resource manager can provide the implementation of this API. A JDBC driver or JMS provider can implement this interface to support an association between a global transaction and a database or message service connection. An XAResource interface can be supported by any transactional resource intended for use by application programs. This can be accomplished in an environment where transactions are controlled by an external transaction manager. An example of such an environment includes a database management system where an application accesses data through multiple database connections. Each database connection is enlisted with the transaction manager as a transactional resource. The transaction manager obtains an XAResource for each connection participating in a global transaction. The transaction manager uses a start( ) method to associate the global transaction with the resource. The transaction manager uses an end( ) method to disassociate the transaction from the resource. The resource manager can associate the global transaction to all work performed on its data between the start( ) and end( ) method invocation.


At transaction commit time, the transaction manager can inform the resource managers to prepare, commit, or rollback a transaction according to the two-phase commit protocol.


The foregoing description of preferred embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations will be apparent to one of ordinary skill in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention for various embodiments and with various modifications that are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalence.

Claims
  • 1. A system for supporting a local transaction with an application view, comprising: a computer including one or more processors;an application view provided at the computer, wherein the application view switches from a stateless session bean to a stateful session bean, opening a connection from a client to an enterprise information system (EIS) for a local transaction, wherein the stateful session bean holds open the connection to the EIS across multiple requests in the local transaction, wherein the stateful session bean stores the connection to the EIS as state information, wherein the application view abstracts specific services and events of the EIS as a set of business functions, and wherein the application view is used by the client to manage the local transaction, thereby bypassing the use of a separate connection class by the client for processing local transactions; anda local transaction interface managing the local transaction at the EIS, for use with the application view; and whereinthe local transaction functionality is not directly exposed, instead the functionality of the local transaction is provided on an application view interface, the application view providing method functions to support the use of local transactions, including the methods to begin, commit, roll-back, and update the state information for the local transaction, providing the client with local transaction functionality, wherein state is provided in an application view bean, and the application view bean retains a connection for the duration of a single transaction, wherein the application view bean is deployed as both the stateful session bean and the stateless session bean, the client managing which bean is used, andwherein the local transaction interface uses the state information to manage the local transaction at the EIS.
  • 2. A system according to claim 1, further comprising: a Common Client Interface class through which the local transaction interface can be exposed to a resource adapter client.
  • 3. A system according to claim 1, wherein: the application view is capable of opening a database connection for a local transaction.
  • 4. A system according to claim 1, further comprising: a transaction manager adapted to obtain a resource for any connection open for a local transaction.
  • 5. A system according to claim 1, wherein: the local transaction interface further contains a local transaction management contract.
  • 6. A system according to claim 1, wherein: the local transaction interface further contains a local transaction management contract adapted to enable an application server to provide an infrastructure and run-time environment for management of the transaction.
  • 7. A system according to claim 1, further comprising: a plug-in capable of performing a transaction method for the application view.
  • 8. A system according to claim 1, further comprising: a plug-in capable of creating a new instance of the application view.
  • 9. A system according to claim 1, further comprising: a plug-in capable of invoking a service within the local transaction.
  • 10. A system according to claim 1, wherein: the application view is capable of opening a connection for a local transaction against a resource adapter.
  • 11. A method for supporting a local transaction with an application view, comprising: opening a connection from a client to an Enterprise Information System (EIS) for a local transaction by switching an application view from a stateless session bean to a stateful session bean, the stateful session bean holding the connection to the EIS open across multiple requests in the local transaction, wherein the stateful session bean stores the connection to the EIS as state information, wherein the application view abstracts specific services and events of the EIS as a set of business functions, and wherein the application view is used by the client to manage the local transaction, thereby bypassing the use of a separate connection class by the client for processing local transactions; andenabling management of the local transaction in the EIS by using the application view through a local transaction interface;wherein the local transaction functionality is not directly exposed, instead the functionality of the local transaction is provided on an application view interface, the application view providing a set of method functions to support the use of local transactions, including the methods to begin, commit, roll-back, and update the state information for the local transaction, thereby providing the client with local transaction functionality, wherein state is provided in an application view bean, and the application view bean retains a connection for the duration of a single transaction, wherein the application view bean is deployed as both the stateful session bean and the stateless session bean, the client managing which bean is used; andusing the state information by the local transaction interface to manage the local transaction at the EIS.
  • 12. A method according to claim 11, further comprising: holding the connection open for the duration of the local transaction.
  • 13. A method according to claim 11, further comprising: exposing a local transaction interface to a resource adapter client.
  • 14. A system for supporting a local transaction with an application view, comprising: means for opening a connection from a client to an Enterprise Information System (EIS) for a local transaction by switching an application view from a stateless session bean to a stateful session bean, the stateful session bean holding the connection to the EIS open across multiple requests in the local transaction, wherein the stateful session bean stores the connection to the EIS as state information, wherein the application view abstracts specific services and events of the EIS as a set of business functions, and wherein the application view is used by the client to manage the local transaction, thereby bypassing the use of a separate connection class by the client for processing local transactions; andmeans for enabling management of the local transaction in the EIS by using the application view through a local transaction interface;wherein the local transaction functionality is not directly exposed, instead the functionality of the local transaction is provided on an application view interface, the application view providing a set of method functions to support the use of local transactions, including the methods to begin, commit, roll-back, and update the state information for the local transaction, thereby providing the client with local transaction functionality, wherein state is provided in an application view bean, and the application view bean retains a connection for the duration of a single transaction, wherein the application view bean is deployed as both the stateful session bean and the stateless session bean, the client managing which bean is used; andmeans for using the state information by the local transaction interface to manage the local transaction at the EIS.
  • 15. A computer-readable storage medium, comprising: means for opening a connection from a client to an Enterprise Information System (EIS) for a local transaction by switching an application view from a stateless session bean to a stateful session bean, the stateful session bean holding the connection to the EIS open across multiple requests in the local transaction, wherein the stateful session bean stores the connection to the EIS as state information, wherein the application view abstracts specific services and events of the EIS as a set of business functions, and wherein the application view is used by the client to manage the local transaction, thereby bypassing the use of a separate connection class by the client for processing local transactions; andmeans for enabling management of the local transaction in the EIS by using the application view through a local transaction interface;wherein the local transaction functionality is not directly exposed, instead the functionality of the local transaction is provided on an application view interface, the application view providing a set of method functions to support the use of local transactions, including the methods to begin, commit, roll-back, and update the state information for the local transaction, thereby providing the client with local transaction functionality, wherein state is provided in an application view bean, and the application view bean retains a connection for the duration of a single transaction, wherein the application view bean is deployed as both the stateful session bean and the stateless session bean, the client managing which bean is used; andmeans for using the state information by the local transaction interface to manage the local transaction at the EIS.
  • 16. A computer program product for execution by a server computer for supporting a local transaction with an application view, comprising: computer code for opening a connection from a client to an Enterprise Information System (EIS) for a local transaction by switching an application view from a stateless session bean to a stateful session bean, the stateful session bean holding the connection to the EIS open across multiple requests in the local transaction, wherein the stateful session bean stores the connection to the EIS as state information, wherein the application view abstracts specific services and events of the EIS as a set of business functions, and wherein the application view is used by the client to manage the local transaction, thereby bypassing the use of a separate connection class by the client for processing local transactions; andcomputer code for enabling management of the local transaction in the EIS by using the application view through a local transaction interface;wherein the local transaction functionality is not directly exposed, instead the functionality of the local transaction is provided on an application view interface, the application view providing a set of method functions to support the use of local transactions, including the methods to begin, commit, roll-back, and update the state information for the local transaction, thereby providing the client with local transaction functionality, wherein state is provided in an application view bean, and the application view bean retains a connection for the duration of a single transaction, wherein the application view bean is deployed as both the stateful session bean and the stateless session bean, the client managing which bean is used; andcomputer code for using the state information by the local transaction interface to manage the local transaction at the EIS.
  • 17. A computer system comprising: a processor; object code executed by said processor, said object code configured to:open a connection from a client to an Enterprise Information System (EIS) for a local transaction by switching an application view from a stateless session bean to a stateful session bean, the stateful session bean holding the connection to the EIS open across multiple requests in the local transaction, wherein the stateful session bean stores the connection to the EIS as state information, wherein the application view abstracts specific services and events of the EIS as a set of business functions, and wherein the application view is used by the client to manage the local transaction, thereby bypassing the use of a separate connection class by the client for processing local transactions; andenable management of the local transaction in the EIS by using the application view through a local transaction interface; andwherein the local transaction functionality is not directly exposed, instead the functionality of the local transaction is provided on an application view interface, the application view providing a set of method functions to support the use of local transactions, including the methods to begin, commit, roll-back, and update the state information for the local transaction, thereby providing the client with local transaction functionality, wherein state is provided in an application view bean, and the application view bean retains a connection for the duration of a single transaction, wherein the application view bean is deployed as both the stateful session bean and the stateless session bean, the client managing which bean is used; anduse the state information by the local transaction interface to manage the local transaction at the EIS.
  • 18. A computer-readable storage medium, comprising: a code segment including instructions to open a connection from a client to an Enterprise Information System (EIS) for a local transaction by switching an application view from a stateless session bean to a stateful session bean, the stateful session bean holding the connection to the EIS open across multiple requests in the local transaction, wherein the stateful session bean stores the connection to the EIS as state information, wherein the application view abstracts specific services and events of the EIS as a set of business functions, and wherein the application view is used by the client to manage the local transaction, thereby bypassing the use of a separate connection class by the client for processing local transactions; anda code segment including instructions to enable management of the local transaction in the EIS by using the application view through a local transaction interface;wherein the local transaction functionality is not directly exposed, instead the functionality of the local transaction is provided on an application view interface, the application view providing a set of method functions to support the use of local transactions, including the methods to begin, commit, roll-back, and update the state information for the local transaction, thereby providing the client with local transaction functionality, wherein state is provided in an application view bean, and the application view bean retains a connection for the duration of a single transaction, wherein the application view bean is deployed as both the stateful session bean and the stateless session bean, the client managing which bean is used; anda code segment including instructions to use the state information by the local transaction interface to manage the local transaction at the EIS.
  • 19. The method of claim 11, wherein: multiple actions against an EIS for a local transaction are grouped together into a logical unit of work.
  • 20. The method of claim 11, wherein: a client manages whether the stateless or the stateful bean is used, the client accessing an application view that provides methods including begin ( ), commit ( ) and rollback ( ) for local transaction final use the stateful bean.
  • 21. The system of claim 1, further comprising: a process management component that invokes the application view, said process management component including an associated transaction,wherein when the application view begin method is encountered, the transaction associated with the process management component is suspended, andthe transaction associated with the process management component is resumed when the application view commit or rollback method is executed.
  • 22. The system of claim 1, further comprising: a connector adapted to connect to the EIS, wherein said connector supports one of the following: only local transactions with user-defined transaction demarcation; oronly local transactions with transparent and atomic transaction demarcation; oronly local transactions with no user-defined transaction demarcation.
CLAIM OF PRIORITY

This application claims priority from U.S. provisional patent Application No. 60/377,322 entitled “APPLICATION VIEW TRANSACTIONS”, filed May 2, 2002, incorporated herein by reference.

US Referenced Citations (209)
Number Name Date Kind
5321841 East et al. Jun 1994 A
5469562 Saether Nov 1995 A
5604860 McLaughlin et al. Feb 1997 A
5630131 Palevich et al. May 1997 A
5748975 Van De Vanter May 1998 A
5801958 Dangelo et al. Sep 1998 A
5835769 Jervis et al. Nov 1998 A
5836014 Faiman, Jr. Nov 1998 A
5862327 Kwang et al. Jan 1999 A
5867822 Sankar Feb 1999 A
5933838 Lomet Aug 1999 A
5944794 Okamoto et al. Aug 1999 A
5950010 Hesse et al. Sep 1999 A
5961593 Gabber et al. Oct 1999 A
5966535 Bendikt et al. Oct 1999 A
6012083 Savitzky et al. Jan 2000 A
6016495 McKeehan et al. Jan 2000 A
6018730 Nichols et al. Jan 2000 A
6023578 Birsan et al. Feb 2000 A
6023722 Colyer Feb 2000 A
6028997 Leymann et al. Feb 2000 A
6029000 Woolsey et al. Feb 2000 A
6044217 Brealey et al. Mar 2000 A
6067548 Cheng May 2000 A
6067623 Blakley, III et al. May 2000 A
6070184 Blount et al. May 2000 A
6085030 Whitehead et al. Jul 2000 A
6092102 Wagner Jul 2000 A
6119149 Notani Sep 2000 A
6141686 Jackowski et al. Oct 2000 A
6141701 Whitney Oct 2000 A
6148336 Thomas et al. Nov 2000 A
6185734 Saboff et al. Feb 2001 B1
6212546 Starkovich et al. Apr 2001 B1
6222533 Notani et al. Apr 2001 B1
6226675 Meltzer et al. May 2001 B1
6230287 Pinard et al. May 2001 B1
6230309 Turner et al. May 2001 B1
6237135 Timbol May 2001 B1
6243737 Flanagan et al. Jun 2001 B1
6256676 Taylor et al. Jul 2001 B1
6282561 Jones et al. Aug 2001 B1
6282711 Halpern et al. Aug 2001 B1
6292932 Baisley et al. Sep 2001 B1
6311327 O'Brien et al. Oct 2001 B1
6324681 Sebesta et al. Nov 2001 B1
6330569 Baisley et al. Dec 2001 B1
6334114 Jacobs et al. Dec 2001 B1
6336122 Lee et al. Jan 2002 B1
6338064 Ault et al. Jan 2002 B1
6343265 Glebov et al. Jan 2002 B1
6349408 Smith Feb 2002 B1
6353923 Bogle et al. Mar 2002 B1
6360358 Elsbree et al. Mar 2002 B1
6367068 Vaidyanathan et al. Apr 2002 B1
6377939 Young Apr 2002 B1
6393605 Loomans May 2002 B1
6408311 Baisley et al. Jun 2002 B1
6411698 Bauer et al. Jun 2002 B1
6445711 Scheel et al. Sep 2002 B1
6463503 Jones et al. Oct 2002 B1
6470364 Prinzing Oct 2002 B1
6516322 Meredith Feb 2003 B1
6549949 Bowman-Amuah Apr 2003 B1
6560636 Cohen et al. May 2003 B2
6560769 Moore et al. May 2003 B1
6567738 Gopp et al. May 2003 B2
6584454 Hummel et al. Jun 2003 B1
6594693 Borwankar Jul 2003 B1
6594700 Graham et al. Jul 2003 B1
6601113 Koistinen et al. Jul 2003 B1
6604198 Beckman et al. Aug 2003 B1
6609115 Mehring et al. Aug 2003 B1
6615258 Barry et al. Sep 2003 B1
6636491 Kari et al. Oct 2003 B1
6637020 Hammond Oct 2003 B1
6643652 Helgeson et al. Nov 2003 B2
6654932 Bahrs et al. Nov 2003 B1
6662357 Bowman-Amuah Dec 2003 B1
6678518 Eerola Jan 2004 B2
6684388 Gupta et al. Jan 2004 B1
6687702 Vaitheeswaran et al. Feb 2004 B2
6687848 Najmi Feb 2004 B1
6721740 Skinner et al. Apr 2004 B1
6721779 Maffeis Apr 2004 B1
6732237 Jacobs et al. May 2004 B1
6748420 Quatrano et al. Jun 2004 B1
6754884 Lucas et al. Jun 2004 B1
6757689 Battas et al. Jun 2004 B2
6789054 Makhlouf Sep 2004 B1
6795967 Evans et al. Sep 2004 B1
6799718 Chan et al. Oct 2004 B2
6802000 Greene et al. Oct 2004 B1
6804686 Stone et al. Oct 2004 B1
6823495 Vedula et al. Nov 2004 B1
6832238 Sharma et al. Dec 2004 B1
6836883 Abrams et al. Dec 2004 B1
6847981 Song et al. Jan 2005 B2
6850979 Saulpaugh et al. Feb 2005 B1
6859180 Rivera Feb 2005 B1
6874143 Murray et al. Mar 2005 B1
6889244 Gaither et al. May 2005 B1
6915519 Williamson et al. Jul 2005 B2
6918084 Slaughter et al. Jul 2005 B1
6922827 Vasilik et al. Jul 2005 B2
6950872 Todd, II Sep 2005 B2
6959307 Apte Oct 2005 B2
6963914 Breitbart et al. Nov 2005 B1
6971096 Ankireddipally et al. Nov 2005 B1
6976061 Sharma Dec 2005 B1
6976086 Sadeghi et al. Dec 2005 B2
7000219 Barrett et al. Feb 2006 B2
7017146 Dellarocas et al. Mar 2006 B2
7043722 Bau, III May 2006 B2
7051072 Stewart et al. May 2006 B2
7051316 Charisius et al. May 2006 B2
7054858 Sutherland May 2006 B2
7062718 Kodosky et al. Jun 2006 B2
7069507 Alcazar et al. Jun 2006 B1
7072934 Helgeson et al. Jul 2006 B2
7073167 Iwashita Jul 2006 B2
7076772 Zatloukal Jul 2006 B2
7089568 Yoshida Aug 2006 B2
7089584 Sharma Aug 2006 B1
7096422 Rothschiller et al. Aug 2006 B2
7107578 Alpern Sep 2006 B1
7111243 Ballard et al. Sep 2006 B1
7117504 Smith et al. Oct 2006 B2
7127704 Van De Vanter et al. Oct 2006 B2
7143186 Stewart et al. Nov 2006 B2
7146422 Marlatt et al. Dec 2006 B1
7155705 Hershberg et al. Dec 2006 B1
7165041 Guheen et al. Jan 2007 B1
7181731 Pace et al. Feb 2007 B2
7184967 Mital et al. Feb 2007 B1
7240331 Vion-Dury et al. Jul 2007 B2
7260599 Bauch et al. Aug 2007 B2
7260818 Iterum et al. Aug 2007 B1
20020004848 Sudarshan et al. Jan 2002 A1
20020010781 Tuatini Jan 2002 A1
20020010803 Oberstein et al. Jan 2002 A1
20020016759 Macready et al. Feb 2002 A1
20020049788 Lipkin et al. Apr 2002 A1
20020073080 Lipkin Jun 2002 A1
20020073236 Helgeson et al. Jun 2002 A1
20020073396 Crupi et al. Jun 2002 A1
20020078255 Narayan Jun 2002 A1
20020083075 Brummel et al. Jun 2002 A1
20020111922 Young et al. Aug 2002 A1
20020116454 Dyla et al. Aug 2002 A1
20020120685 Srivastava et al. Aug 2002 A1
20020138556 Smithline et al. Sep 2002 A1
20020143960 Goren et al. Oct 2002 A1
20020152106 Stoxen et al. Oct 2002 A1
20020161826 Arteaga et al. Oct 2002 A1
20020165936 Alston et al. Nov 2002 A1
20020169644 Greene Nov 2002 A1
20020174178 Stawikowski Nov 2002 A1
20020174241 Beged-Dov et al. Nov 2002 A1
20020184610 Chong et al. Dec 2002 A1
20020188486 Gil et al. Dec 2002 A1
20020194244 Raventos Dec 2002 A1
20020194267 Flesner et al. Dec 2002 A1
20020194495 Gladstone et al. Dec 2002 A1
20030004746 Kheirolomoom et al. Jan 2003 A1
20030005181 Bau, III et al. Jan 2003 A1
20030014439 Boughannam Jan 2003 A1
20030014526 Pullara et al. Jan 2003 A1
20030018661 Darugar Jan 2003 A1
20030018665 Dovin et al. Jan 2003 A1
20030018832 Amirisetty et al. Jan 2003 A1
20030018963 Ashworth et al. Jan 2003 A1
20030023957 Bau et al. Jan 2003 A1
20030028579 Kulkarni et al. Feb 2003 A1
20030043191 Tinsley et al. Mar 2003 A1
20030046266 Mullins et al. Mar 2003 A1
20030046591 Asghari-Kamrani et al. Mar 2003 A1
20030051066 Pace et al. Mar 2003 A1
20030055868 Fletcher et al. Mar 2003 A1
20030055878 Fletcher et al. Mar 2003 A1
20030074217 Beisiegel et al. Apr 2003 A1
20030079029 Garimella et al. Apr 2003 A1
20030093575 Upton May 2003 A1
20030110117 Saidenbereg et al. Jun 2003 A1
20030110446 Nemer Jun 2003 A1
20030126136 Omoigui Jul 2003 A1
20030135850 Miloushev et al. Jul 2003 A1
20030149791 Kane et al. Aug 2003 A1
20030167358 Marvin et al. Sep 2003 A1
20030196168 Hu Oct 2003 A1
20030212987 Demuth et al. Nov 2003 A1
20030233631 Curry et al. Dec 2003 A1
20040019645 Goodman et al. Jan 2004 A1
20040040011 Bosworth et al. Feb 2004 A1
20040068568 Griffin et al. Apr 2004 A1
20040078373 Ghoneimy et al. Apr 2004 A1
20040103406 Patel May 2004 A1
20040133660 Junghuber et al. Jul 2004 A1
20040148336 Hubbard et al. Jul 2004 A1
20040204976 Oyama et al. Oct 2004 A1
20040216086 Bau Oct 2004 A1
20040225995 Marvin et al. Nov 2004 A1
20040260715 Mongeon Dec 2004 A1
20050050068 Vaschillo et al. Mar 2005 A1
20050278585 Spencer Dec 2005 A1
20060059107 Elmore et al. Mar 2006 A1
20060206856 Breeden et al. Sep 2006 A1
20060234678 Juitt et al. Oct 2006 A1
20070038500 Hammitt et al. Feb 2007 A1
Foreign Referenced Citations (3)
Number Date Country
2248634 Mar 2000 CA
WO 0029924 May 2000 WO
WO 0190884 Nov 2001 WO
Related Publications (1)
Number Date Country
20040019684 A1 Jan 2004 US
Provisional Applications (1)
Number Date Country
60377322 May 2002 US