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 or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
The present invention relates to technology for deploying and synchronizing data.
2. Description of the Related Art
Web-based software applications have emerged as powerful tools which provide valuable services to vendors and customers alike. E-business web applications can be configured to operate in accordance with business logic to implement a variety of processes which facilitate electronic commerce. Such applications may also provide services which interact with remote Internet clients and/or applications.
The JAVA™2 Platform Enterprise Edition (J2EE), available from Sun Microsystems, Inc. of Santa Clara, Calif., facilitates the development of electronic business web applications that run within the context of multi-tier enterprise applications. The operation of such web applications is governed by the data (“application data”) used to configure the web applications. As a result, the functionality provided by web applications can be modified by updating the application data associated with the applications.
Unfortunately, the deployment and synchronization of new or updated application data to J2EE web applications can be a cumbersome process. Newly-authored application data is often stored in a database in accordance with a particular schema used by the database. If a developer seeks to deploy such application data to a running production server, the data must be extracted from the database before being converted into a form suitable for transmission to the server. Scripts are often necessary to export the application data from a database into a file system. Scripts may also be necessary to import the application data to a running server. For these reasons, maintaining different versions of application data can also be an awkward and unwieldy endeavor.
Moreover, before new application data can be moved to a running production server, it may be necessary to deploy the application data to multiple servers to comply with a multi-stage testing process. This transfer of application data can be a cumbersome manual process which becomes increasingly error-prone as application data is transferred from server to server and more persons are involved. Thus, prior techniques of deploying and synchronizing application data in the context of the J2EE platform can be largely ad-hoc and undesirable.
The present invention, roughly described, is directed to synchronizing application data used by enterprise applications running on one or more servers. For example, in one embodiment, application data is received and synchronized with a database and data repository. In another embodiment, an application data deployment method is provided allowing application data to be authored, submitted to a source control system, and sent to a remote server where a data repository of the server is synchronized with the data.
In another embodiment, application data is synchronized between enterprise applications through the use of proxy data repositories. In another embodiment, application data is synchronized between data repositories through the polling of one data repository by another.
Systems and computer readable media are also provided for implementing portions of, and variations of, these methods. Many other embodiments are also possible, as set forth in the present disclosure.
In order to produce the application data, author 110 can interface with various software tools, such as control center 120. In one embodiment, control center 120 is an E-Business Control Center tool available from BEA Systems, Inc. of San Jose, Calif. The data created by author 110 using control center 120 can be stored in a local hierarchical file system as a set of application data files.
Application data files 130 produced by the interaction of author 110 with control center 120 can be checked into source control system 140. Source control system 140 allows different versions of the application data files 130 to be easily recalled for testing, deployment, synchronization, and/or other purposes. For example, if faulty application data is deployed to a web application, the source control system 140 allows author 110 to recall a previous version of the application data and re-deploy the data to the web application. The use of source control system 140 can also prevent multiple authors from overwriting each other's files when application data is being authored concurrently. In one embodiment, source control system 140 is any suitable source control system known in the art.
After application data has been created, it will typically be subject to a multi-stage approval process to test the interaction of the newly-authored application data with other data and/or applications created by other authors. For example, before application data is deployed to a production server, it may be subject to separate development and quality assurance stages. These stages help ensure that the web applications running on live production servers will operate reliably.
During this collaborative development of web applications, it can become desirable for software developers to synchronize application data across enterprise application boundaries to remote servers. Various data synchronization processes further described herein leverage the advantages provided by HTTP to facilitate the synchronization of application data on remote servers accessible via the Internet. In accordance with certain embodiments of the present invention, newly-created application data can be synchronized with one or more remote running servers. By identifying the URL associated with a server, application data can be remotely synchronized to any server accessible over the Internet via HTTP.
Each server of
Server tools 260 and database tools 265 are also illustrated in
Data sync web application 330 also runs within enterprise application 320 and is responsible for performing data synchronization operations in accordance with the present invention. As indicated by
Data sync application 330 can intercept incoming synchronization requests sent from author system 220 over network 210. In one embodiment, these synchronization requests are sent as XML over HTTP in accordance with a remote protocol. When data sync application 330 receives a synchronization request from author system 220, it channels application data received from author system 220 to master data repository 340 which is a runtime representation of the application data. The data sync application 330 also channels the application data received to database 380 which is a persistent storage location for the application data. In one embodiment, data repository 340 stores incoming application data as Enterprise Java Beans (EJBs). In another embodiment, database 380 is a relational database management system.
In one embodiment, data sync application 330 includes a set of JSPs that are capable of reporting: the contents of master data repository 340, data repositories that are successfully synchronized with master data repository 340, and the contents of each data repository in enterprise application 320.
The service data repositories of
Each time the master data repository 340 is synchronized, it notifies data repositories 370 and 375. These data repositories then synchronize their data subsets with the data in the master. In one embodiment, application data is communicated between the components of enterprise application 320 in accordance with a binary protocol. Multiple enterprise applications (not shown) running on server 310 can also be synchronized using a separate data sync application running in each enterprise application. Proxy data repositories can be used to facilitate such synchronizations.
In some cases, the master data repository 340 does not directly synchronize data with a data repository. Rather, a notification chain can be employed using multiple data repositories. Referring to
In various embodiments of the present invention, different synchronization modes can be employed. In a refresh-from-client mode, all application data for a given application is synchronized. Using this mode, all data is cleared from the data repositories and then all relevant application data files are sent from the author's local file system to a data sync web application. This mode can be helpful to synchronize in-memory data with persisted data, or to recover from a synchronization error. In a one-way-from-client mode, only those application data files that have been removed, updated, or created on the author's local file are updated. Thus, the amount of data transmitted between an author system and a server to be synchronized can be minimized.
Upon initiation of the synchronization process in step 410, application data to be synchronized will be sent from author system 220 to server 310 over network 210 (step 420). In one embodiment, the application data is sent as XML files over HTTP using a POST command. The application data is received by data sync application 330. Data sync application 330 then synchronizes database 380 and master data repository 340 with the newly-received application data (step 430). As a result of step 430, database 380 contains the updated application data stored in a database format for persistent storage, and master data repository 340 contains the updated application data stored in an EJB runtime format.
As previously described herein, the various applications and services of
Service data repositories 370 and/or 375 can also poll master data repository 340 periodically to check whether application data has been updated. If updated data is detected, then application data maintained in master data repository 340 can be synchronized with service data repositories 370 and/or 375.
Master data repository 340 maintains a log that describes each update and includes a description of which data repositories were successfully updated, and which were not. Data sync application 330 can return a status message to author system 220 via HTTP or a Java command shell to identify which application data files were successfully synchronized. Each data repository of
As illustrated in
Data sync web application 680 is an instance of a data sync application that runs on remote server 650. However, rather than receiving updates directly from an author system 220 (similar to data sync application 330 of
In operation, master data repository 630 receives updated application data from a data sync web application in communication with an author system (not shown) such as author system 220 of
When the updated application data is received by data sync application 680, the data sync application 650 proceeds to update remote master data repository 670 with the updated application data. A persistent storage database (not shown in
Thus, by subscribing proxy data repositories to receive updates from a master data repository, application data within enterprise applications running on remote servers can be synchronized with application data received by the master data repository. Proxies can also be used to synchronize data across different enterprise applications running on the same server. Moreover, by linking remote servers to additional remote servers through proxies, chains of multiple servers can be synchronized. These principles can be further applied to the synchronizing application data across clusters of servers as set forth in
Where applicable, the present invention can be implemented using hardware, software, or combinations of hardware and software. Software in accordance with the present invention, such as program code and/or data, can stored on one or more computer readable mediums. Also where applicable, the various hardware components and/or software components set forth herein can be combined into composite components comprising software, hardware, or both without departing from the spirit of the present invention. Similarly, where applicable, the various hardware components and/or software components set forth herein can be dissected into sub-components comprising software, hardware, or both without departing from the spirit of the present invention. In addition, where applicable, it is contemplated that software components can be implemented as hardware components, and vice-versa. Furthermore, where applicable, the various steps set forth herein can be combined into composite steps and/or dissected into sub-steps. It is also contemplated that software components set forth herein can be implemented using one or more general purpose or specific purpose computers and/or computer systems, networked and/or otherwise.
The foregoing disclosure is not intended to limit the present invention to the precise forms or particular fields of use disclosed. It is contemplated that various alternate embodiments and/or modifications to the present invention are possible in light of the disclosure.
This application is a continuation of U.S. patent application Ser. No. 10/279,450 entitled “Data Synchronization” filed Oct. 24, 2002; which claims priority to U.S. Provisional Patent Application No. 60/386,487 entitled “Data Synchronization”, filed Oct. 24, 2001.
Number | Name | Date | Kind |
---|---|---|---|
5237614 | Weiss | Aug 1993 | A |
5347653 | Flynn et al. | Sep 1994 | A |
5355474 | Thuraisingham et al. | Oct 1994 | A |
5369702 | Shanton | Nov 1994 | A |
5426747 | Weinreb et al. | Jun 1995 | A |
5544322 | Cheng et al. | Aug 1996 | A |
5557747 | Rogers et al. | Sep 1996 | A |
5627886 | Bowman | May 1997 | A |
5649195 | Scott et al. | Jul 1997 | A |
5757669 | Christie et al. | May 1998 | A |
5758355 | Buchanan | May 1998 | A |
5797128 | Birnbaum | Aug 1998 | A |
5825883 | Archibald et al. | Oct 1998 | A |
5826000 | Hamilton | Oct 1998 | A |
5838909 | Roy et al. | Nov 1998 | A |
5848396 | Gerace | Dec 1998 | A |
5867667 | Butman et al. | Feb 1999 | A |
5884325 | Bauer | Mar 1999 | A |
5889953 | Thebaut et al. | Mar 1999 | A |
5918210 | Rosenthal et al. | Jun 1999 | A |
5926816 | Bauer | Jul 1999 | A |
5950195 | Stockwell et al. | Sep 1999 | A |
5954798 | Shelton et al. | Sep 1999 | A |
5956400 | Chaum et al. | Sep 1999 | A |
5956719 | Kudo et al. | Sep 1999 | A |
5966707 | Van Huben et al. | Oct 1999 | A |
5987469 | Lewis et al. | Nov 1999 | A |
5987611 | Freund | Nov 1999 | A |
5991735 | Gerace | Nov 1999 | A |
6006194 | Merel | Dec 1999 | A |
6006265 | Rangan et al. | Dec 1999 | A |
6009410 | LeMole et al. | Dec 1999 | A |
6026433 | D'Arlach et al. | Feb 2000 | A |
6029144 | Barrett et al. | Feb 2000 | A |
6029182 | Nehab et al. | Feb 2000 | A |
6054910 | Tada et al. | Apr 2000 | A |
6055515 | Consentino et al. | Apr 2000 | A |
6055637 | Hudson et al. | Apr 2000 | A |
6058392 | Sampson et al. | May 2000 | A |
6081829 | Sidana | Jun 2000 | A |
6083276 | Davidson et al. | Jul 2000 | A |
6092083 | Brodersen et al. | Jul 2000 | A |
6098173 | Elgressy et al. | Aug 2000 | A |
6105027 | Schneider et al. | Aug 2000 | A |
6108687 | Craig | Aug 2000 | A |
6112192 | Capek | Aug 2000 | A |
6122647 | Horowitz et al. | Sep 2000 | A |
6128663 | Thomas | Oct 2000 | A |
6133915 | Arcuri et al. | Oct 2000 | A |
6141010 | Hoyle | Oct 2000 | A |
6141686 | Jackowski et al. | Oct 2000 | A |
6148333 | Guedalia et al. | Nov 2000 | A |
6154844 | Touboul et al. | Nov 2000 | A |
6157924 | Austin | Dec 2000 | A |
6158010 | Moriconi et al. | Dec 2000 | A |
6161139 | Win et al. | Dec 2000 | A |
6167407 | Nachenberg et al. | Dec 2000 | A |
6167445 | Gai et al. | Dec 2000 | A |
6167448 | Hemphill et al. | Dec 2000 | A |
6169794 | Oshimi et al. | Jan 2001 | B1 |
6170009 | Mandal et al. | Jan 2001 | B1 |
6178172 | Rochberger | Jan 2001 | B1 |
6182142 | Win et al. | Jan 2001 | B1 |
6182226 | Reid et al. | Jan 2001 | B1 |
6182277 | DeGroot et al. | Jan 2001 | B1 |
6185587 | Bernardo et al. | Feb 2001 | B1 |
6188399 | Voas et al. | Feb 2001 | B1 |
6195696 | Baber et al. | Feb 2001 | B1 |
6202066 | Barkley et al. | Mar 2001 | B1 |
6202157 | Brownlie et al. | Mar 2001 | B1 |
6202207 | Donohue | Mar 2001 | B1 |
6205466 | Karp et al. | Mar 2001 | B1 |
6209101 | Mitchem et al. | Mar 2001 | B1 |
6216231 | Stubblebine | Apr 2001 | B1 |
6226745 | Wiederhold | May 2001 | B1 |
6233576 | Lewis | May 2001 | B1 |
6236991 | Frauenhofer et al. | May 2001 | B1 |
6237628 | Miller et al. | May 2001 | B1 |
6241608 | Torango | Jun 2001 | B1 |
6249795 | Douglis | Jun 2001 | B1 |
6253321 | Nikander et al. | Jun 2001 | B1 |
6260050 | Yost et al. | Jul 2001 | B1 |
6269393 | Yost et al. | Jul 2001 | B1 |
6269456 | Hodges et al. | Jul 2001 | B1 |
6275941 | Saito et al. | Aug 2001 | B1 |
6285366 | Ng et al. | Sep 2001 | B1 |
6285983 | Jenkins | Sep 2001 | B1 |
6285985 | Horstmann | Sep 2001 | B1 |
6292900 | Ngo et al. | Sep 2001 | B1 |
6295607 | Johnson | Sep 2001 | B1 |
6301613 | Ahlstrom et al. | Oct 2001 | B1 |
6304881 | Halim et al. | Oct 2001 | B1 |
6308163 | Du et al. | Oct 2001 | B1 |
6317868 | Grimm et al. | Nov 2001 | B1 |
6327594 | Van Huben et al. | Dec 2001 | B1 |
6327618 | Ahlstrom et al. | Dec 2001 | B1 |
6336073 | Ihara et al. | Jan 2002 | B1 |
6339423 | Sampson et al. | Jan 2002 | B1 |
6339826 | Hayes, Jr. et al. | Jan 2002 | B2 |
6341352 | Child et al. | Jan 2002 | B1 |
6353886 | Howard et al. | Mar 2002 | B1 |
6360363 | Moser et al. | Mar 2002 | B1 |
6377973 | Gideon | Apr 2002 | B2 |
6381579 | Gervais et al. | Apr 2002 | B1 |
6385627 | Cragun | May 2002 | B1 |
6393474 | Eichert et al. | May 2002 | B1 |
6397222 | Zellweger | May 2002 | B1 |
6397231 | Salisbury et al. | May 2002 | B1 |
6412070 | Van Dyke et al. | Jun 2002 | B1 |
6412077 | Roden et al. | Jun 2002 | B1 |
6418448 | Sarkar | Jul 2002 | B1 |
6418452 | Kraft | Jul 2002 | B1 |
6430556 | Goldberg et al. | Aug 2002 | B1 |
6438563 | Kawagoe | Aug 2002 | B1 |
6449638 | Wecker et al. | Sep 2002 | B1 |
6457007 | Kikuchi et al. | Sep 2002 | B1 |
6460084 | Van Horne et al. | Oct 2002 | B1 |
6460141 | Olden | Oct 2002 | B1 |
6463440 | Hind et al. | Oct 2002 | B1 |
6466239 | Ishikawa | Oct 2002 | B2 |
6466949 | Yang et al. | Oct 2002 | B2 |
6473791 | Al-Ghosein et al. | Oct 2002 | B1 |
6477543 | Huang et al. | Nov 2002 | B1 |
6477575 | Koeppel et al. | Nov 2002 | B1 |
6484177 | Van Huben et al. | Nov 2002 | B1 |
6484261 | Wiegel | Nov 2002 | B1 |
6487594 | Bahlmann | Nov 2002 | B1 |
6510513 | Danieli | Jan 2003 | B1 |
6519647 | Howard et al. | Feb 2003 | B1 |
6530024 | Proctor | Mar 2003 | B1 |
6539375 | Kawasaki | Mar 2003 | B2 |
6571247 | Danno et al. | May 2003 | B1 |
6581071 | Gustman et al. | Jun 2003 | B1 |
6584454 | Hummel et al. | Jun 2003 | B1 |
6587849 | Mason et al. | Jul 2003 | B1 |
6587876 | Mahon et al. | Jul 2003 | B1 |
6598077 | Primak et al. | Jul 2003 | B2 |
6615218 | Mandal et al. | Sep 2003 | B2 |
6618806 | Brown et al. | Sep 2003 | B1 |
6633538 | Tanaka et al. | Oct 2003 | B1 |
6654747 | Van Huben et al. | Nov 2003 | B1 |
6665677 | Wotring et al. | Dec 2003 | B1 |
6668354 | Chen et al. | Dec 2003 | B1 |
6684369 | Bernardo et al. | Jan 2004 | B1 |
6697805 | Choquier et al. | Feb 2004 | B1 |
6721888 | Liu et al. | Apr 2004 | B1 |
6725446 | Hahn et al. | Apr 2004 | B1 |
6732144 | Kizu et al. | May 2004 | B1 |
6735586 | Timmons | May 2004 | B2 |
6735701 | Jacobson | May 2004 | B1 |
6738789 | Multer et al. | May 2004 | B2 |
6751659 | Fenger et al. | Jun 2004 | B1 |
6754672 | McLauchlin | Jun 2004 | B1 |
6757698 | McBride et al. | Jun 2004 | B2 |
6769095 | Brassard et al. | Jul 2004 | B1 |
6769118 | Garrison et al. | Jul 2004 | B2 |
6779002 | Mwaura | Aug 2004 | B1 |
6785721 | Immerman | Aug 2004 | B1 |
6789202 | Ko et al. | Sep 2004 | B1 |
6801949 | Bruck et al. | Oct 2004 | B1 |
6834284 | Acker et al. | Dec 2004 | B2 |
6856999 | Flanagin et al. | Feb 2005 | B2 |
6857012 | Sim et al. | Feb 2005 | B2 |
6865549 | Connor | Mar 2005 | B1 |
6880005 | Bell et al. | Apr 2005 | B1 |
6889222 | Zhao | May 2005 | B1 |
6901403 | Bata et al. | May 2005 | B1 |
6904454 | Stickler | Jun 2005 | B2 |
6915482 | Jellum | Jul 2005 | B2 |
6920457 | Pressmar | Jul 2005 | B2 |
6922695 | Skufca et al. | Jul 2005 | B2 |
6934934 | Osborne et al. | Aug 2005 | B1 |
6957261 | Lortz | Oct 2005 | B2 |
6961897 | Peel et al. | Nov 2005 | B1 |
6965999 | Fox et al. | Nov 2005 | B2 |
6970876 | Hotti et al. | Nov 2005 | B2 |
6978379 | Goh et al. | Dec 2005 | B1 |
6985915 | Somalwar et al. | Jan 2006 | B2 |
6988138 | Alcorn et al. | Jan 2006 | B1 |
7003578 | Kanada et al. | Feb 2006 | B2 |
7035879 | Shi et al. | Apr 2006 | B2 |
7035944 | Fletcher et al. | Apr 2006 | B2 |
7047522 | Dixon, III et al. | May 2006 | B1 |
7054910 | Nordin et al. | May 2006 | B1 |
7062490 | Adya et al. | Jun 2006 | B2 |
7062511 | Poulsen | Jun 2006 | B1 |
7080000 | Cambridge | Jul 2006 | B1 |
7085755 | Bluhm et al. | Aug 2006 | B2 |
7089584 | Sharma | Aug 2006 | B1 |
7093200 | Schreiber et al. | Aug 2006 | B2 |
7096224 | Murthy et al. | Aug 2006 | B2 |
7174563 | Brownlie et al. | Feb 2007 | B1 |
7181731 | Pace | Feb 2007 | B2 |
7290015 | Singhal et al. | Oct 2007 | B1 |
20010009016 | Hofmann et al. | Jul 2001 | A1 |
20010032128 | Kepecs | Oct 2001 | A1 |
20010034771 | Hutsch et al. | Oct 2001 | A1 |
20010039586 | Primak | Nov 2001 | A1 |
20010044810 | Timmons | Nov 2001 | A1 |
20020005867 | Gvily | Jan 2002 | A1 |
20020019827 | Shiman et al. | Feb 2002 | A1 |
20020029296 | Anuff et al. | Mar 2002 | A1 |
20020046286 | Caldwell | Apr 2002 | A1 |
20020059394 | Sanders | May 2002 | A1 |
20020062451 | Scheidt et al. | May 2002 | A1 |
20020067370 | Forney et al. | Jun 2002 | A1 |
20020069261 | Bellare et al. | Jun 2002 | A1 |
20020087571 | Stapel et al. | Jul 2002 | A1 |
20020103818 | Amberden | Aug 2002 | A1 |
20020104071 | Charisius et al. | Aug 2002 | A1 |
20020107913 | Rivera et al. | Aug 2002 | A1 |
20020107920 | Hotti | Aug 2002 | A1 |
20020111998 | Kim | Aug 2002 | A1 |
20020112171 | Ginter et al. | Aug 2002 | A1 |
20020120685 | Srivastava et al. | Aug 2002 | A1 |
20020124053 | Adams et al. | Sep 2002 | A1 |
20020135617 | Samid | Sep 2002 | A1 |
20020143819 | Han et al. | Oct 2002 | A1 |
20020147645 | Alao et al. | Oct 2002 | A1 |
20020147696 | Acker et al. | Oct 2002 | A1 |
20020152267 | Lennon | Oct 2002 | A1 |
20020152279 | Sollenberger et al. | Oct 2002 | A1 |
20020161903 | Besaw | Oct 2002 | A1 |
20020169893 | Chen et al. | Nov 2002 | A1 |
20020173971 | Stirpe et al. | Nov 2002 | A1 |
20020178119 | Griffin et al. | Nov 2002 | A1 |
20020194267 | Flesner et al. | Dec 2002 | A1 |
20030014442 | Shiigi et al. | Jan 2003 | A1 |
20030032409 | Hutcheson et al. | Feb 2003 | A1 |
20030065721 | Roskind | Apr 2003 | A1 |
20030069874 | Hertzog | Apr 2003 | A1 |
20030078959 | Yeung et al. | Apr 2003 | A1 |
20030078972 | Tapissier et al. | Apr 2003 | A1 |
20030088617 | Clark et al. | May 2003 | A1 |
20030105974 | Griffin et al. | Jun 2003 | A1 |
20030110448 | Haute et al. | Jun 2003 | A1 |
20030115292 | Griffin et al. | Jun 2003 | A1 |
20030117437 | Cook et al. | Jun 2003 | A1 |
20030120686 | Kim et al. | Jun 2003 | A1 |
20030126464 | McDaniel et al. | Jul 2003 | A1 |
20030126558 | Griffin | Jul 2003 | A1 |
20030131113 | Reeves et al. | Jul 2003 | A1 |
20030135490 | Barrett et al. | Jul 2003 | A1 |
20030145275 | Qian et al. | Jul 2003 | A1 |
20030146937 | Lee | Aug 2003 | A1 |
20030149722 | Jolley et al. | Aug 2003 | A1 |
20030167315 | Chowdhry et al. | Sep 2003 | A1 |
20030167455 | Iborra et al. | Sep 2003 | A1 |
20030187956 | Belt et al. | Oct 2003 | A1 |
20030204481 | Lau | Oct 2003 | A1 |
20030212766 | Giles et al. | Nov 2003 | A1 |
20030216938 | Shour | Nov 2003 | A1 |
20030220913 | Doganata et al. | Nov 2003 | A1 |
20030220963 | Golovinsky et al. | Nov 2003 | A1 |
20030229623 | Chang et al. | Dec 2003 | A1 |
20040019650 | Auvenshire | Jan 2004 | A1 |
20040024812 | Park et al. | Feb 2004 | A1 |
20040030744 | Rubin et al. | Feb 2004 | A1 |
20040030795 | Hesmer et al. | Feb 2004 | A1 |
20040078371 | Worrall et al. | Apr 2004 | A1 |
20040098467 | Dewey et al. | May 2004 | A1 |
20040167880 | Smith | Aug 2004 | A1 |
20040167899 | Patadia et al. | Aug 2004 | A1 |
20040205473 | Fisher et al. | Oct 2004 | A1 |
20040205557 | Bahrs et al. | Oct 2004 | A1 |
20040230546 | Rogers | Nov 2004 | A1 |
20040243824 | Jones | Dec 2004 | A1 |
20050021502 | Chen et al. | Jan 2005 | A1 |
20050050184 | Boden et al. | Mar 2005 | A1 |
20050060324 | Johnson et al. | Mar 2005 | A1 |
20050086206 | Balasubramanian et al. | Apr 2005 | A1 |
20050097008 | Ehring et al. | May 2005 | A1 |
20050198617 | Kim et al. | Sep 2005 | A1 |
20060059107 | Elmore et al. | Mar 2006 | A1 |
20060085412 | Johnson et al. | Apr 2006 | A1 |
20060122882 | Brown et al. | Jun 2006 | A1 |
20070083484 | McVeigh et al. | Apr 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20050187986 A1 | Aug 2005 | US |
Number | Date | Country | |
---|---|---|---|
60386487 | Oct 2001 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10279450 | Oct 2002 | US |
Child | 11112440 | US |