System and method for providing namespace related information

Information

  • Patent Grant
  • 7392479
  • Patent Number
    7,392,479
  • Date Filed
    Thursday, June 27, 2002
    22 years ago
  • Date Issued
    Tuesday, June 24, 2008
    16 years ago
Abstract
A system and method for providing namespace related information. A namespace library operating in a computer provides a central source of namespace related information for handling XML documents. The namespace related information may be used by other computer application programs operating in the computer. The namespace related information provided by the namespace library is indexed by namespace. Many types of namespace related information may be associated with each namespace. The computer application programs may obtain namespace related information by querying the namespace library using a particular namespace.
Description
BACKGROUND OF THE INVENTION

Extensible Markup Language (XML) has attained wide popularity in recent years. XML is a universal language that provides a way to identify, exchange, and process various kinds of data. For example, XML is used to create documents that can be utilized by a variety of application programs on computer of different manufacture.


To ensure that computer application programs understand the content of an XML document, an XML schema may be used to define the structure, content, and semantics of the XML document. Typically, the XML schema is identified in the XML document by a namespace, which is a unique identifier of the XML document's type. A namespace is typically identified by a Uniform Resource Identifier (URI).


With conventional systems, when a computer application program attempts to open a new or an existing XML document that is identified by a URI, the computer application program must somehow determine how it should handle the document. For example, the computer application program must decide how the XML document should be displayed, what types of behaviors the document should have, and where the XML schema associated with the document is located so that it can ensure the document's validity. In order to locate resources for handling the XML document in the conventional systems, the computer application program may look for pointers in the document, or prompting the user for information. These extra steps create delays and require undue effort by the user. Furthermore, the steps would likely have to be repeated when the computer application program encounters another document of the same type or when documents of the same type are encountered by another computer application program running on the same computer. Moreover, unsophisticated user may be confused when prompted for resources such as an XML schema.


SUMMARY OF THE INVENTION

Briefly stated, this invention is directed to a system and method for centrally providing namespace related information to application programs executing on a computer. A namespace library is configured to provide namespace related information to application programs executing on a computer. The application programs are configured to open new or existing XML documents. When one of the application programs is opening an XML document that contains a namespace, the application program queries the namespace library using the namespace to obtain namespace related information. In one aspect, the namespace related information may include a location identifier associated with a solution that enables the application program to handle the XML document.


In another aspect, the invention is directed to a data structure having a namespace data field and an information data field. The namespace data field includes namespaces and serves as an index to the information data field. The information data field includes namespace related information associated with the corresponding namespace. The namespace related information may include a solution.


In yet another aspect, the invention is directed to a method for obtaining namespace related information to handle an XML document. The method determines a namespace in the XML document and uses the namespace to query a namespace library. If an entry for the namespace exists in the namespace library, the method retrieves namespace related information associated with the namespace. If a solution for the namespace exists, the method obtains the solution and applies the solution to handle the XML document.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows an exemplary computing environment in which this invention may be implemented.



FIG. 2 is a schematic diagram of namespace related information provided by an Namespace library.



FIG. 3 is a schematic diagram of solutions associated with a namespace.



FIG. 4 is a schematic diagram of element features associated with a namespace.



FIG. 5 is a schematic diagram of a manifest collection.



FIG. 6 is a screenshot of an exemplary user interface for managing a schema library.



FIG. 7 is an operational flow diagram generally illustrating a process that may be used by an application program to obtain namespace related information.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Briefly stated, this invention is directed to a system and method for providing namespace related information. A namespace library operating in a computer provides a central source of namespace related information for handling XML documents. The namespace related information may be used by other computer application programs operating in the computer. The namespace related information provided by the namespace library is indexed by namespace. Many types of namespace related information may be associated with each namespace. For example, the namespace related information may include XML schemas and Extensible Style Language Transform (XSLT) that are associated with the namespace. The computer application programs may obtain namespace related information by querying the namespace library using a particular namespace.



FIG. 1 and the following discussion are intended to provide a brief general description of a suitable computing environment in which the invention may be implemented. Although not required, this invention will be described in the general context of computer-executable instructions, such as program modules, being executed by a personal computer. Generally, program modules include routines, programs, objects, components, data structures and the like that perform particular tasks or implement particular abstract data types.


Moreover, those skilled in the art will appreciate that this invention may be practiced with other computer system configurations, including hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.



FIG. 1 shows an exemplary computing environment in which this invention may be implemented. Computer 110 offers a computing environment in which computer executable components, such as application programs 115A-B, Namespace library 150, and namespace library user interface 157, may operate. Computer 110 also allows application programs 115A-B and namespace library 150 to interact with other computers, such as remote computers 120A-C, through a network 130.


Application programs 115A-B are configured to open new or existing XML documents, such as XML documents 117A-C. Each of XML documents 117A-C is associated with at least one namespace. Application programs 115A-B are also configured to query namespace library 150 to identify information related to one or more namespaces associated with XML documents 117A-C. The information enables application programs 115A-B to handle XML documents 117A-C.


Local storage 155 may include one or more permanent mass storage devices, such as hard disk drive, tape drive, optical drive, floppy disk drive, and the like. Local storage 155 provides a medium for storing data in computer 110. These data may include information used by application programs 115A-B and namespace library 150, such as the several XML documents 117 and XML schemas, and the like. Network 130 may be any network capable of connecting computers. Examples of network 130 include a local area network (LAN) and a wide area network (WAN), such as the Internet.


Remote computers 120A-C are connected to network 130 and are configured to interact with other computers through network 130. One type of interaction is to provide information to the other computers. Accordingly, one of the functions performed by computers 120A-C is to serve as a repository of information. As shown in the figure, computers 120A-C may include schema repository 133, XSLT repository 135, and other repository 137. Schema repository 133 is a collection of XML schemas. Each of the schemas is identified by a particular namespace. Likewise, XSLT repository 135 is a collection of XSLTs, each being identified by a particular namespace. Other repository 137 is a collection of other information related to namespaces. In the figure, schema repository 133, XSLT repository 135, and other repository 137 are each stored in a separate computer. It is to be appreciated that multiple types of repositories may be stored on the same computer.


Namespace library 150 is a component of computer 110 that provides namespace related information to application programs. In one embodiment of the invention, namespace library 150 is implemented in the registry of computer 110's operating system. Namespace related information provided by namespace library 150 will be discussed in more details in conjunction with FIG. 2. Briefly stared, namespace related information is information related to creating, editing, viewing, or using XML documents. In namespace library 150, namespace related information is indexed by namespace.


User interface 157 is a computer/user interface that allows users to interact with namespace library 150. User interface 157 will be discussed in more detail in conjunction with FIG. 6. Briefly stated, user interface 157 enables a user to add, edit, and remove namespace related information provided by namespace library 150.



FIG. 2 is a schematic diagram of namespace related information 210 provided by a namespace library 150. As illustrated in the figure, the namespace related information 210 contains a plurality of namespaces 220A-N. Associated with each namespace is namespace related information indexed to the namespaces 220A-N. Manifest collection 230 contains both indexing namespaces and information related to namespaces.


Namespaces 220A-N are namespaces on which namespace library 150 may provide namespace related information 210. As shown in the figure, namespace related information 210 may include many more namespaces than those shown in the figure. Namespaces are typically identified by Uniform Resource Identifiers (URIs). Information related to namespace 220B is shown in the figure for the purposes of illustration and includes element features 240, schema location 242, alias 244, and solutions 246.


Schema location 242 is an identifier that indicates where the primary schema associated with namespace 220B is located. In this implementation, each of the namespaces 220A-N is associated with at least one primary schema. Other schemas may be identified in solutions 246. Schema location 242 may indicate a location in local storage or a persistent location at a remote storage address.


Element features 240 contain information about the elements associated with the primary schema. Element features will be discussed in detail in conjunction with FIG. 4. Briefly stated element features 240 may include a list of all the elements that are specified in the primary schema as well as features associated with each of the specified elements.


Alias 244 is a friendly name of the namespace that may be used by an application program when presenting the namespace and the primary schema to the user. As discussed above, the namespace is typically identified by a URI, which is typically a very complicated and long string. Alias 244 enables the application program to present the namespace and the primary schema to the user in a user-friendly manner.


Solutions 246 are namespace related information that identifies resources which enable an application program to properly and effectively handle an XML document associated with namespace 220B. Solutions 246 will be discussed in conjunction with FIG. 3. Briefly stated, solutions 246 include information on other schemas, and files that are associated with a namespace and are available for use by application programs or users.


Manifest collection 230 is a collection of information regarding schema manifests. Manifest collection 230 will be discussed in more detail in conjunction with FIG. 5. Briefly stated, manifest collection 230 makes the namespace library 150 aware of information related to many namespaces without locally storing the actual information. Manifest collection 230 may contain the location of individual schema manifests. Each schema manifest is associated with a particular namespace and contains information related to the namespace.



FIG. 3 is a schematic diagram of solutions 246 associated with a namespace 220B. Solutions 246 identify resources, such as files, programs, and other data, that may be used by application programs to provide a content-rich and user-friendly experience for the user in creating, editing, viewing, or using an XML document. As shown in the figure, solutions 246 include a plurality of application program identifiers 301-303, each identifying a particular application program. Application program identifiers 301-303 may be a namespace, a program identification, or the like. A variety of solutions may be indexed to each of application program identifiers 301-303. For illustrative purposes, solution 310, solution manifest 320, and default solution 340 for application program identifiers 302 are shown in the figure. It is to be understood that solutions 246 may identify many more resources and solution manifests of the types illustrated in FIG. 3 as well as other types of similar solutions.


Solution 310 is a typical solution that may be associated with namespace 220B and application program identifier 302. Solution 310 may refer to many different types of files that can be used by the application program in conjunction with the XML document. Examples of these files include XML schema, XSLT, and the like.


Solution 310 may also contain multiple properties that may enhance the value of the solution to the application program and the user. As illustrated, the properties of solution 310 may include solution alias 312, solution location 314, solution type 316, and additional properties 318.


Solution alias 312 is a friendly name of the solution that may be used by an application program when presenting the solution to the user. The friendly name may be descriptive of the actions to be performed by the application program using the solution or the results of the actions. Solution location 314 is an identifier that indicates where the solution is located. Solution location 314 may indicate a location in local storage or a persistent location at a remote storage address. Solution type 316 is an identifier that indicates the particular type of solution 310, such as transforms, schema, etc. Additional properties 318 include other properties that may similarly enhance the value of solution 310 to the application program and the user.


Solution manifest 320 is an XML file that defines where the application program should go to obtain solution related infonnarion. Solution manifest 320 makes the namespace library to be aware of many solutions without locally storing the solutions. Solution manifest 320 may include many properties, such as solution alias 322, solution type 326, and version 328. Solution alias 322 is a friendly name of solution manifest 320. Solution type 326 indicates the particular type of solution that is defined by solution manifest 320. Manifest location 324 is the persistent storage location of solution manifest 320. Version 328 indicates the version of solution manifest 320, which may be shown to the user by the application program.


Default solution 340 identifies the solution that is used if no solution or solution manifest is associated with namespace 220B and application identifier 302. The solution identified by default solution 340 is specific to the application program associated with application program identifier 302. Default solution 340 may contain solution location 342, which is a property of default solution 340 that indicates its location. Default solution 340 is typically stored in local storage.



FIG. 4 is a schematic diagram of element features 240 associated with a namespace 220B. An application program using a primary schema that is identified by namespace 220B may use element features 240 to further identify elements specified by the primary schema.


As shown in the figure, element features 240 include a list of elements 410A-N, which are specified by the primary schema. The application program may allow elements 410A-N to be used in accordance with the primary schema and the features that are available to elements 410A-N. As an example, the features of element 410B include element alias 420 and element likeness 430.


Element alias 420 is a friendly name of element 410B that may be used by an application program when presenting the element to the user for inclusion in an XML document. The friendly name may be descriptive of the type content in element 410B. Element likeness 430 may contain instructions that direct the application program to treat element 410B and offer features associated with it as if it is another element with which the application program is familiar. It is to be understood that the features shown are just for illustration and that many more similar element features may be included in element features 240, such as styles used by a word processor for displaying elements.



FIG. 5 is a schematic diagram of a manifest collection 230. As illustrated in the figure, manifest collection 230 is organized on two separated levels: the index level and the information level. The index level contains a plurality of namespaces 520A-N. The information level contains manifest information indexed to namespaces 520A-N. As illustrated in the figure, manifest information includes manifest location 530A-N, which are the locations of the manifests associated with namespaces 520A-N. However, the manifest information may include other information, such as version information, aliases, file type, and the like.


As an example, the figure illustrates the actual schema manifest 540 at manifest location 530B. Manifest 540 contains information related to namespace 530B as well as other information. Alias 552 is a friendly name for namespace 520B or the primary schema associated with manifest 540. Schema location 554 is the location where the primary schema is found. Typically, schema location 554 indicates a persistent location. Version 556 is the version of schema manifest 540.



FIG. 6 is a screenshot of an exemplary user interface 157 for managing a namespace library. User interface 157 allows a user of the namespace library to view and manipulate namespace related information.


Schema display field 610 displays namespaces and the names of XML schemas associated with the namespace library. As illustrated in the figure, the aliases of the namespaces and the schemas are displayed to enhance user-friendliness. The “Resume” namespace is highlighted. Namespace display field 620 shows the URI of the namespace associated with the “Resume” namespace. Schema location field 622 shows the location of the “Resume” schema. The location shown in this exemplary user-interface shows a persistent storage location at a remote internet address within the “microsoft.com” domain. Namespace command buttons 630A-C allow the user to issue commands to the namespace library for adding, editing or removing namespaces.


Solution display field 640 displays solutions associated with a particular namespace in the namespace library. Somewhat similar to schema display field 610, solution display field 640 displays aliases of solutions to enhance the user experience. These solutions are specific to a particular application program, which is identified and selected at an application program identifier field 626. As shown in the figure, the solutions are specific to the “WORD” application program. Four different solutions are available for the “Resume” namespace and “WORD.” The “Contemporary” solution is highlighted. Solution location field 642 shows that the persistent storage location of the “contemporary” schema is at a remote internet address at the “microsoft.com” domain. The type of the “Contemporary” solution is shown in solution type field 644 as an XSLT. Default solution field 646 allows a user to select a default solution for the “WORD” application. Solution command buttons 650A-C allow the user to issue commands to the namespace library for adding, editing or removing solutions.



FIG. 7 is an operational flow diagram generally illustrating a process 700 that may be used by an application program to obtain namespace related information for opening an XML document. Process 700 begins when the application program is opening an XML document. Moving from a start block, at block 710, the application program determines namespaces for querying a namespace library. For example, the XML document may include a tag that references a schema by a URI. Several namespaces may be determined from one XML document. For the purpose of illustration, process 700 is shown with one determined namespace.


At decision block 720, a determination is made whether an entry for the namespace exists in the namespace library. If so, process 700 moves to decision block 740, described later. If not, the process moves to block 722 where a manifest collection identified in the namespace library is located. Then, the process goes to decision block 724 where a determination is made whether an entry for the namespace exists in the manifest collection. If an entry exists in the manifest collection, process 700 goes to block 730 where the manifest is installed. The process then continues at block 740. Otherwise, process 700 moves to block 728 where the XML document is opened without a solution in the namespace library. It is to be understood that the application program may apply its own solution (such as a universal transform) to open the XML document. Then, the process ends.


Returning to decision block 740, a determination is made whether at least one solution exists in the namespace library associated with the entry for the namespace and the application program. If so, process 700 moves to optional block 744 (indicated by the dash lines) where if more than one solution exists, the user is prompted to select one of the solutions. Also, one of the solutions may be designated as a default solution, which may be applied automatically. The process then continues at block 748 where the selected solution is applied by the application program for opening the XML document. It is to be understood that the application program may be required to install a solution manifest. The XML document is then opened with the solution and the process ends.


Returning again to block 740, if a solution for the namespace and the application program does not exist, the process continues at block 728 where the XML document is opened without a solution in the namespace library and process 700 ends.


The above specification, examples and data provide a complete description of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.

Claims
  • 1. A computer-readable storage medium encoded with computer-executable components, comprising: a namespace library configured to provide namespace related information to the computer-executable components on a computer, wherein the namespace related information is indexed by a plurality of namespaces, and wherein the namespace related information includes information that describes how an XML document is to be handled; andan application program configured to open the XML document, wherein:the XML document refers to at least one of the namespaces,the application program is further configured to query the namespace library to identify namespace related information associated with the namespace,the namespace related information is retrieved from the namespace library when an entry for the namespace exists in the namespace library,the namespace related information is retrieved from a manifest collection that is identified in the namespace library when an entry for the namespace does not exist in the namespace library and when an entry for the namespace exists in the manifest collection,the application program uses the namespace related information to open the XML document when namespace related information exists in the namespace library or the manifest collection,the application program applies a universal solution associated with the application program to open the XML document when an entry for the namespace does not exist in the namespace library and the manifest collection; andthe application program opens the XML document without the namespace related information when an entry for the namespace does not exist in the namespace library and the manifest collection and no universal solution is associated with the application program.
  • 2. The computer-readable medium of claim 1, wherein the namespace related information includes at least one location identifier for a primary XML schema associated with the namespace.
  • 3. The computer-readable medium of claim 1, wherein the namespace related information includes at least one location identifier for a solution associated with the namespace and one of a plurality of application programs.
  • 4. The computer-readable medium of claim 3, wherein the location identifier indicates a location on a local storage unit where the solution associated with the namespace is stored.
  • 5. The computer-readable medium of claim 3, wherein the solution associated with the namespace is contained in a repository on another computer, and wherein the location of the solution in the repository is indicated by the location identifier.
  • 6. The computer-readable medium of claim 5, wherein the application program associated with the solution associated with the namespace is configured to interact with the repository in the other computer through a network, and wherein the application program retrieves the solution associated with the namespace from the repository using the location identifier.
  • 7. The computer-readable medium of claim 3, wherein the solution associated with the namespace includes an XML schema.
  • 8. The computer-readable medium of claim 3, wherein the namespace related information further includes at least one property associated with the solution associated with the namespace.
  • 9. The computer-readable medium of claim 1, wherein the namespace related information includes a location identifier for at least one manifest collection.
  • 10. The computer-readable medium of claim 9, wherein the namespace related information further includes at least one property associated with the manifest collection.
  • 11. The computer-readable medium of claim 1, wherein the namespace related information includes a location identifier of at least one default solution associated with the namespace and the application programs.
  • 12. The computer-readable medium of claim 1, wherein the namespace related information includes a list of elements associated with the namespace.
  • 13. The computer-readable medium of claim 12, wherein the namespace related information further includes at least one feature associated with one of the listed elements.
  • 14. A method for obtaining information to handle an XML document containing a namespace, comprising: querying a namespace library using the namespace;when the namespace library contains an entry for the namespace, retrieving namespace related information associated with the namespace;when the namespace library does not include an entry for the namespace and when an entry for the namespace exists in a manifest collection, retrieving the namespace related information from the manifest collection that is identified in the namespace library, wherein the namespace related information includes information that describes how the XML document is to be handled;using the namespace related information to handle the XML document when namespace related information exists in the namespace library or the manifest collection;if the namespace library does not contain at least one entry for the namespace in the namespace library and manifest collection, applying a universal solution associated with an application program to open the XML document; andopening the XML document without the namespace related information when an entry for the namespace does not exist in the namespace library and the manifest collection and no universal solution is associated with the application program.
  • 15. The method of claim 14, further comprising if the namespace library contains a location identifier for a solution associated with the namespace, retrieving the solution using the location identifier and applying the solution to open the XML document.
  • 16. The method of claim 14, further comprising if the namespace library contains at least two location identifiers associated with two solutions associated with the namespace, prompting a user to select one of the solutions, retrieving the solution using the location identifier, and applying the selected solution to open the XML document.
  • 17. The method of claim 14, further comprising installing the manifest collection.
US Referenced Citations (260)
Number Name Date Kind
4674065 Lange et al. Jun 1987 A
4868750 Kucera et al. Sep 1989 A
5020019 Ogawa May 1991 A
5128865 Sadler Jul 1992 A
5159552 van Gasteren et al. Oct 1992 A
5267155 Buchanan et al. Nov 1993 A
5297039 Kanaegami et al. Mar 1994 A
5317546 Balch et al. May 1994 A
5337233 Hofert et al. Aug 1994 A
5341293 Vertelney et al. Aug 1994 A
5351190 Kondo Sep 1994 A
5386564 Shearer et al. Jan 1995 A
5392386 Chalas Feb 1995 A
5418902 West et al. May 1995 A
5446891 Kaplan et al. Aug 1995 A
5541836 Church et al. Jul 1996 A
5596700 Darnell et al. Jan 1997 A
5617565 Augenbraun et al. Apr 1997 A
5625783 Ezekiel et al. Apr 1997 A
5627958 Potts et al. May 1997 A
5634019 Koppolu et al. May 1997 A
5640560 Smith Jun 1997 A
5657259 Davis et al. Aug 1997 A
5685000 Cox Nov 1997 A
5708825 Sotomayor Jan 1998 A
5717923 Dedrick Feb 1998 A
5752022 Chiu et al. May 1998 A
5761689 Rayson et al. Jun 1998 A
5765156 Guzak et al. Jun 1998 A
5781189 Holleran et al. Jul 1998 A
5781904 Oren et al. Jul 1998 A
5794257 Liu et al. Aug 1998 A
5802253 Gross et al. Sep 1998 A
5802262 Van De Vanter Sep 1998 A
5802299 Logan et al. Sep 1998 A
5802530 van Hoff Sep 1998 A
5805911 Miller Sep 1998 A
5809318 Rivette et al. Sep 1998 A
5815830 Anthony Sep 1998 A
5818447 Wolf et al. Oct 1998 A
5821931 Berquist et al. Oct 1998 A
5822539 van Hoff Oct 1998 A
5826025 Gramlich Oct 1998 A
5845077 Fawcett Dec 1998 A
5855007 Jovicic et al. Dec 1998 A
5859636 Pandit Jan 1999 A
5872973 Mitchell et al. Feb 1999 A
5875443 Nielsen Feb 1999 A
5877757 Baldwin et al. Mar 1999 A
5892919 Nielsen Apr 1999 A
5893073 Kasso et al. Apr 1999 A
5895461 De La Huerga et al. Apr 1999 A
5896321 Miller et al. Apr 1999 A
5900004 Gipson May 1999 A
5907852 Yamada May 1999 A
5913214 Madnick et al. Jun 1999 A
5920859 Li Jul 1999 A
5924099 Guzak et al. Jul 1999 A
5933498 Schneck et al. Aug 1999 A
5944787 Zoken Aug 1999 A
5946647 Miller et al. Aug 1999 A
5948061 Merriman et al. Sep 1999 A
5956681 Yamakita Sep 1999 A
5974413 Beauregard et al. Oct 1999 A
5987480 Donohue et al. Nov 1999 A
5991719 Yazaki et al. Nov 1999 A
5995756 Herrmann Nov 1999 A
6006265 Rangan et al. Dec 1999 A
6006279 Hayes Dec 1999 A
6014616 Kim Jan 2000 A
6018761 Uomini Jan 2000 A
6028605 Conrad et al. Feb 2000 A
6052531 Waldin et al. Apr 2000 A
6061516 Yoshikawa et al. May 2000 A
6067087 Krauss et al. May 2000 A
6085201 Tso Jul 2000 A
6088711 Fein et al. Jul 2000 A
6092074 Rodkin et al. Jul 2000 A
6108640 Slotznick Aug 2000 A
6108674 Murakami et al. Aug 2000 A
6112209 Gusack Aug 2000 A
6121968 Arcuri et al. Sep 2000 A
6122647 Horowitz et al. Sep 2000 A
6126306 Ando Oct 2000 A
6137911 Zhilyaev Oct 2000 A
6141005 Hetherington et al. Oct 2000 A
6151643 Cheng et al. Nov 2000 A
6154738 Call Nov 2000 A
6167523 Strong Dec 2000 A
6167568 Gandel et al. Dec 2000 A
6173316 De Boor et al. Jan 2001 B1
6182029 Friedman Jan 2001 B1
6185550 Snow et al. Feb 2001 B1
6185576 McIntosh Feb 2001 B1
6199046 Heinzle et al. Mar 2001 B1
6199081 Meyerzon et al. Mar 2001 B1
6208338 Fischer et al. Mar 2001 B1
6219698 Iannucci et al. Apr 2001 B1
6262728 Alexander Jul 2001 B1
6272074 Winner Aug 2001 B1
6272505 De La Huerga Aug 2001 B1
6292768 Chan Sep 2001 B1
6295061 Park et al. Sep 2001 B1
6297822 Feldman Oct 2001 B1
6300950 Clark et al. Oct 2001 B1
6308171 De La Huerga Oct 2001 B1
6311177 Dauerer et al. Oct 2001 B1
6311194 Sheth et al. Oct 2001 B1
6323853 Hedloy Nov 2001 B1
6336125 Noda et al. Jan 2002 B2
6336131 Wolfe et al. Jan 2002 B1
6338059 Fields et al. Jan 2002 B1
6339436 Amro et al. Jan 2002 B1
6339755 Hetherington et al. Jan 2002 B1
6347398 Parthasarathy et al. Feb 2002 B1
6349295 Tedesco et al. Feb 2002 B1
6353926 Parthesarathy et al. Mar 2002 B1
6381742 Forbes et al. Apr 2002 B2
6401067 Lewis et al. Jun 2002 B2
6408323 Kobayashi et al. Jun 2002 B1
6413100 Dickmeyer et al. Jul 2002 B1
6424979 Livingston et al. Jul 2002 B1
6434567 De La Huerga Aug 2002 B1
6438545 Beauregard et al. Aug 2002 B1
6477510 Johnson Nov 2002 B1
6480860 Monday Nov 2002 B1
6493006 Gourdol et al. Dec 2002 B1
6516321 De La Huerga Feb 2003 B1
6519557 Emens et al. Feb 2003 B1
6519603 Bays et al. Feb 2003 B1
6546433 Matheson Apr 2003 B1
6553385 Johnson et al. Apr 2003 B2
6556972 Bakis et al. Apr 2003 B1
6556984 Zien Apr 2003 B1
6564264 Creswell et al. May 2003 B1
6571241 Nosohara May 2003 B1
6571253 Thompson et al. May 2003 B1
6601075 Huang et al. Jul 2003 B1
6615131 Rennard et al. Sep 2003 B1
6618733 White et al. Sep 2003 B1
6622140 Kantrowitz Sep 2003 B1
6623527 Hamzy Sep 2003 B1
6625581 Perkowski Sep 2003 B1
6629079 Spiegel et al. Sep 2003 B1
6631519 Nicholson et al. Oct 2003 B1
6636880 Bera Oct 2003 B1
6654932 Bahrs et al. Nov 2003 B1
6658623 Schilit et al. Dec 2003 B1
6687485 Hopkins et al. Feb 2004 B2
6694307 Julien Feb 2004 B2
6697824 Bowman-Amuah Feb 2004 B1
6697837 Rodov Feb 2004 B1
6708189 Fitzsimons et al. Mar 2004 B1
6715144 Daynes et al. Mar 2004 B2
6717593 Jennings Apr 2004 B1
6718516 Claussen et al. Apr 2004 B1
6728679 Strubbe et al. Apr 2004 B1
6732090 Shanahan et al. May 2004 B2
6732361 Andreoli et al. May 2004 B1
6741994 Kang et al. May 2004 B1
6742054 Upton, IV May 2004 B1
6745208 Berg et al. Jun 2004 B2
6795808 Strubbe et al. Sep 2004 B1
6802061 Parthasarathy et al. Oct 2004 B1
6826726 Hsing et al. Nov 2004 B2
6868525 Szabo Mar 2005 B1
6874143 Murray et al. Mar 2005 B1
6880129 Lee et al. Apr 2005 B1
6883137 Girardot et al. Apr 2005 B1
6925457 Britton et al. Aug 2005 B2
6925470 Sangudi et al. Aug 2005 B1
6944857 Glaser et al. Sep 2005 B1
6948133 Haley Sep 2005 B2
6950831 Haley Sep 2005 B2
6950982 Dourish Sep 2005 B1
6957385 Chan et al. Oct 2005 B2
6964010 Sharp Nov 2005 B1
6976090 Ben-Shaul et al. Dec 2005 B2
6976209 Storisteanu et al. Dec 2005 B1
6986104 Green et al. Jan 2006 B2
6990654 Carroll, Jr. Jan 2006 B2
7013289 Horn et al. Mar 2006 B2
7051076 Tsuchiya May 2006 B2
7082392 Butler et al. Jul 2006 B1
7113976 Watanabe Sep 2006 B2
7216351 Maes May 2007 B1
20010029605 Forbes et al. Oct 2001 A1
20010041328 Fisher Nov 2001 A1
20010056461 Kampe et al. Dec 2001 A1
20020002590 King et al. Jan 2002 A1
20020003898 Wu Jan 2002 A1
20020004803 Serebrennikov Jan 2002 A1
20020007309 Reynar Jan 2002 A1
20020023136 Silver et al. Feb 2002 A1
20020026450 Kuramochi Feb 2002 A1
20020029304 Reynar et al. Mar 2002 A1
20020035581 Reynar et al. Mar 2002 A1
20020065110 Enns et al. May 2002 A1
20020065891 Malik May 2002 A1
20020066073 Lienhard et al. May 2002 A1
20020078222 Compas et al. Jun 2002 A1
20020091803 Imamura et al. Jul 2002 A1
20020100036 Moshir et al. Jul 2002 A1
20020103829 Manning et al. Aug 2002 A1
20020104080 Woodard et al. Aug 2002 A1
20020110225 Cullis Aug 2002 A1
20020120685 Srivastava et al. Aug 2002 A1
20020129107 Loughran et al. Sep 2002 A1
20020133523 Ambler et al. Sep 2002 A1
20020149601 Rajarajan et al. Oct 2002 A1
20020156792 Gombocz et al. Oct 2002 A1
20020169802 Brewer et al. Nov 2002 A1
20020178008 Reynar Nov 2002 A1
20020178182 Wang et al. Nov 2002 A1
20020184247 Jokela et al. Dec 2002 A1
20020188941 Cicciarelli et al. Dec 2002 A1
20020196281 Audleman et al. Dec 2002 A1
20020198909 Huynh et al. Dec 2002 A1
20030002391 Biggs Jan 2003 A1
20030005411 Gerken Jan 2003 A1
20030009489 Griffin Jan 2003 A1
20030014745 Mah et al. Jan 2003 A1
20030025728 Ebbo et al. Feb 2003 A1
20030046316 Gergic et al. Mar 2003 A1
20030051236 Pace et al. Mar 2003 A1
20030056207 Fischer et al. Mar 2003 A1
20030081791 Erickson et al. May 2003 A1
20030084138 Tavis et al. May 2003 A1
20030097318 Yu et al. May 2003 A1
20030101204 Watson May 2003 A1
20030101416 McInnes et al. May 2003 A1
20030106040 Rubin et al. Jun 2003 A1
20030115039 Wang Jun 2003 A1
20030121033 Peev et al. Jun 2003 A1
20030126136 Omoigui Jul 2003 A1
20030140308 Murthy et al. Jul 2003 A1
20030154144 Pokorny et al. Aug 2003 A1
20030158841 Britton et al. Aug 2003 A1
20030158851 Britton et al. Aug 2003 A1
20030172343 Leymaster et al. Sep 2003 A1
20030192040 Vaughan Oct 2003 A1
20030195937 Kircher et al. Oct 2003 A1
20030212527 Moore et al. Nov 2003 A1
20030220795 Araysantiparb et al. Nov 2003 A1
20030229593 Raley et al. Dec 2003 A1
20030233330 Raley et al. Dec 2003 A1
20040003389 Reynar et al. Jan 2004 A1
20040006741 Radja et al. Jan 2004 A1
20040039990 Bakar et al. Feb 2004 A1
20040133846 Khoshatefeh et al. Jul 2004 A1
20040165007 Shafron Aug 2004 A1
20040199861 Lucovsky Oct 2004 A1
20040201867 Katano Oct 2004 A1
20040236717 Demartini et al. Nov 2004 A1
20050050164 Burd et al. Mar 2005 A1
20050055330 Britton et al. Mar 2005 A1
20050094850 Nakao May 2005 A1
20050120313 Rudd et al. Jun 2005 A1
20050187926 Britton et al. Aug 2005 A1
20060173674 Nakajima et al. Aug 2006 A1
Foreign Referenced Citations (24)
Number Date Country
0 364 180 Apr 1990 EP
0481784 Apr 1992 EP
0598511 May 1994 EP
0810520 Dec 1998 EP
1093058 Apr 2001 EP
1280068 Jan 2003 EP
1361523 Nov 2003 EP
1376392 Jan 2004 EP
64-88771 Apr 1989 JP
05-174013 Jul 1993 JP
09-138636 May 1997 JP
2001-125994 May 2001 JP
2002163250 Jun 2002 JP
WO 9507510 Mar 1995 WO
WO 9917240 Apr 1999 WO
WO 0054174 Sep 2000 WO
WO 0067117 Nov 2000 WO
WO 0073949 Dec 2000 WO
WO 0118687 Mar 2001 WO
WO 0137170 May 2001 WO
WO 0186390 Nov 2001 WO
WO 0299627 Jan 2002 WO
WO 0215518 Feb 2002 WO
WO 2004012099 Feb 2004 WO
Related Publications (1)
Number Date Country
20040002937 A1 Jan 2004 US