Printed circuit boards are frequently used in manufacturing electronic systems. Components, such as integrated circuit chips and connectors, are attached to the boards. The printed circuit boards provide a mechanism to connect leads of these components.
A conventional approach to manufacturing printed circuit boards is to stack up sheets of insulative material on which metal has been deposited. For some of the sheets, the metal is patterned to form conductive traces, which act as wires that carry electrical signals or potentials. The sheets are then fused to form a solid substrate to which the components can be mounted. Other than metal formed on the outermost sheet, the metal is inside the substrate.
The traces, because they are formed as part of the sheets, run in planes parallel to the surface of the board. To make connections between traces in different planes or to make connections between traces interior to the board and components on the surface of the board, holes may be drilled partially or fully through the board, passing through portions of the traces. The interior of these holes are then be plated with more metal, which forms conducting “vias” between all of the traces on different layers through which the vias pass.
Various approaches are known to make connections between components and the vias. In surface mount manufacturing techniques, a conducting pad may be formed around a via, and a lead of a component may be soldered to the pad. In other attachment techniques, a portion of a lead may be inserted into the via. For some technologies, the lead may be soldered to the via. For press fit technologies, the portion of the lead may be compliant such that it is compressed as it is inserted into the via. Once inserted into the via, the compliant portion presses against the side of the walls of the via, making both an electrical and a mechanical connection between the lead of the component and the via.
Any suitable type of components may be mounted to the printed circuit board using these techniques. Though, designing a printed circuit board for attachment of an electrical connector can be particularly challenging. An electrical connector frequently has numerous conducting elements carrying signals in a relatively small area. As a result, many traces must run near each other in the area where the connector is attached to the printed circuit board, sometimes described as the connector “foot print.” In addition, many vias must exist in the connector footprint to enable connections between those traces and the conductors in the connector. These vias limit the areas in which traces can be run. Though, it is known to position the vias to leave space between columns or rows of vias. These spaces serve as “routing channels” for traces carrying signals to or from the vias connected to leads of the connector. To complete a connection between a via, which is in turn coupled to a lead of the connector, and a trace in a routing channel, a “breakout region” may be included. The breakout region includes a portion of the trace designed to connect to a corresponding via.
Various techniques are used in manufacturing printed circuit boards for high frequency signals. In some instances, to improve high frequency performance, signal carrying conducting elements, such as traces and vias, are routed in pairs, called “differential pairs.” Each differential pair carries one signal in a form called a “differential signal” in which the difference in voltage level between the conducting elements of the pair constitutes the signal. Differential signals are less susceptible to noise, which can interfere with reliable propagation of high speed signals through an interconnection system, than single-ended signals.
Another technique that improves high frequency performance is the incorporation of ground planes in the printed circuit board. A ground plane can be formed from the metal layer on a sheet of insulative material used to form the printed circuit board. Rather than forming a pattern of traces in that metal, substantially all of the metal may be left on a sheet. Some openings may be formed in the metal layer around vias that are not intended to be connected to the metal layer. However, these openings, sometimes called “anti-pads” or described as providing a ground clearance, still allow the metal layer, when connected to a voltage that operates as a reference potential to a high speed signal, to act as a large, planar ground.
The ground plane can shield traces on different layers of the printed circuit board, blocking signals propagating along traces on one layer from interfering with signals propagating along traces on a different layer. Additionally, the ground plane may be used to control the impedance of the traces to provide an impedance that matches an impedance with which circuits mounted to the board are intended to operate. This impedance control is achieved by controlling, among other parameters of the printed circuit board design, the spacing between signal traces and the ground planes. Accordingly, a high speed printed circuit board may have a ground plane between every layer of signal traces.
Back drilling is another approach that is used in high frequency printed circuit boards. Back drilling removes unnecessary portions of vias that can interfere with the propagation of high frequency signals. These unnecessary portions result from vias formed by drilling holes through a printed circuit board and then plating the inside of the hole. The plating is only needed on the portion of the via that runs between the layers of the printed circuit board to be connected by the via. The remainder of the plating can interfere with high frequency operation. By drilling partially through the thickness of the printed circuit board to enlarge the plated via, this additional plating is removed, thereby increasing high frequency performance.
An improved high frequency printed circuit board design is provided through the design of “breakout regions.” The breakout regions are configured to provide an impedance that avoids multiple impedance discontinuities in signal paths between vias and signal traces of the printed circuit board. One or more parameters of the breakout regions may be selected to limit the number of impedance discontinuities created.
Accordingly, in some aspects, the invention may relate to a method of designing a printed circuit board. As part of the method, values of parameters of the breakout region may be selected to provide a desired impedance profile across the breakout region.
In another aspect, the invention may relate to a method of manufacturing a printed circuit board. The method may entail selecting values of parameters defining the breakout region and then forming a design file capturing the parameters. The values may be selected to reduce a number of impedance discontinuities in signal paths through the breakout regions. The design file may be subsequently used to create masks or other patterning mechanism used in the manufacture of printed circuit boards including the selected parameter values.
In another aspect, the invention may relate to a tool for designing a printed circuit board. The tool may comprise computer-executable instructions encoded on a computer-readable storage medium that, when executed, control at least one processor to perform a method of determining values of one or more parameters of one or more breakout regions on a printed circuit board. The values may be selected to provide a desired impedance profile for providing improved high frequency performance. The values, for example, may be selected to provide a single impedance discontinuity across the breakout region. Such an impedance profile may be achieved by selecting values of parameters that provide traces within the breakout region that match the impedance of the via. In some embodiments, the method performed by the tool may include computing an impedance of a via associated with a breakout region and then selecting values of one or more design parameters of a breakout region based on that computed impedance.
In yet a further aspect, the invention may relate to a printed circuit board having breakout regions configured for high frequency performance. The breakout region may have structures with an impedance that provides a limited number of impedance discontinuities between vias and traces within the printed circuit board. Such structures may have values of design parameters that provide the desired impedance to each breakout region.
In some embodiments, the structures in the breakout regions may be adapted and configured to provide an impedance that is consistent with the impedance of corresponding vias. Providing consistent impedances may avoid discontinuities. In scenarios in which different vias have different impedances, different values of the design parameters may be used in different breakout regions. As a result, different breakout regions on a printed circuit board—possibly even within the same component footprint—may have different values for corresponding design parameters. In some embodiments, adjacent breakout regions in the same connector footprint may have different values of design parameters. As a specific example, breakout regions corresponding to vias that have been back drilled may have different parameter values than breakout regions corresponding to vias that have not been back drilled.
In some embodiments, parameters may be selected to provide an impedance through the breakout regions that is consistent with the impedance of the vias. Such an impedance may be achieved with an impedance in the breakout region that is more closely matched to the via than to the trace outside the breakout region. For example, the impedance of the via may be more than ten percent (10%) less than the impedance of traces outside the breakout region. The traces within the breakout region may have an impedance that is within 7% of the impedance of the via. As a specific example, traces outside the breakout region may have a nominal impedance of 85 Ohms. Vias may have a nominal impedance of 70 Ohms. The traces within the breakout region may have an impedance of 75 Ohms or less.
In some embodiments, high speed signals may be carried on differential pairs of traces and vias. In such scenarios, the impedances that are selected to be consistent may be differential impedances.
Also, in some embodiments, the parameters for which values are selected may include the width of the traces within the breakout region, an angle of the traces relative to an anti-pad, a length of trace passing over an anti-pad, the size of the anti-pad, a spacing between traces that form a differential pair and/or a thickness of the trace.
The foregoing is a non-limiting summary of the invention.
The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every drawing. In the drawings:
The inventor has recognized and appreciated that improved high frequency performance of a printed circuit board may be achieved by controlling the impedance of breakout regions within a footprint for a connector or other component to be mounted to a printed circuit board. The impedance may be controlled to reduce the number of impedance transitions in the signal paths that carry high speed signals through the printed circuit board. The inventor has recognized and appreciated that, though the breakout region may be a relatively small portion of the overall signal path through a via and along traces of the printed circuit board, impedance characteristics in the breakout region can have a significant impact on the integrity of signals propagating along that path.
Further, the inventor has recognized and appreciated that, at high frequencies, such as those associated with signals with data rates above 3 Gigabits per second (Gbps), patterns of changes in impedance can be significant. The pattern of impedance change in the breakout region may impact the “flatness” of the insertion loss profile as a function of frequency. The flatness of the insertion loss profile may in turn dictate the maximum frequency component of signals that can reliably pass along the signal path, thus limiting the data rate of signals that can pass along the signal path.
In embodiments in which the breakout region is part of a connector footprint in an interconnection system within an electronic assembly, insertion loss within the breakout region may be additive with insertion loss in other portions of the interconnection system. By limiting the insertion loss in the breakout region, the interconnection system can carry higher frequency signals, which may allow the electronic system to operate at higher data rates.
In some embodiments, providing a pattern of impedance change with a limited number of impedance discontinuities in the breakout region contributes to a more flat insertion loss profile. Reducing a number of impedance discontinuities in the breakout region may provide an improvement relative to designs in which the overall change in impedance between the via and a trace running within the printed circuit board is the same, but with more discontinuities. In some embodiments, a flat insertion loss profile is achieved by selecting values of design parameters in the breakout region to limit the number of impedance discontinuities. This result may be achieved, for portions of the breakout region, by selecting parameters for each of one or more portions of the signal path that result in an impedance that is consistent with an impedance of an adjacent portion.
In some embodiments, portions of the breakout region may be designed such that all or significant portions of the breakout region have an impedance consistent with the impedance of the via or the trace. Such an impedance profile may have a single impedance discontinuity in the signal path between the via and the traces running within the printed circuit board. In a presently preferred embodiment, the impedance of the breakout region is matched to the impedance of the via.
Though the breakout region may be a relatively small portion of the overall signal path, the inventor has recognized and appreciated that for high frequency signals, such as signals in excess of 6 Gbps, controlling the impedance profile reduces discontinuities, which can be a significant source of signal degradation. Accordingly, a high performance printed circuit board may be designed using techniques as described herein for carrying signals in excess of 6 Gbps. In some case, these printed circuit boards may be used in systems carrying signals at data rates in excess of 8 Gbps, 10 Gbps or in other embodiments in excess of 14 Gbps. In some embodiments, these techniques may be used at data rates up to 20 Gbps (or at any data rate less than that). Though, it should be appreciated that the specific data rates enabled by these techniques is not critical to the invention, as improvements in signal integrity may be obtained at many frequencies, including frequencies associated with data rates greater than 20 Gbps.
Any of a number of parameters of the design of the breakout region may be varied to provide a desired impedance profile across the breakout region. In some embodiments, values of parameters of the traces in the breakout region are different for portions of the breakout region overlying a ground plane versus a ground clearance. Values of these parameters may be selected to provide a consistent impedance for both portions of the trace in the breakout region. For example, the width of the trace may be different over a ground clearance than over a ground plane so as to avoid an impedance discontinuity at the interface between the ground clearance to the ground plane.
Though, values of any suitable parameters may be selected to provide a desired impedance profile. The following description provides examples of parameters for which values may be varied to provide a desired impedance. It should be appreciated that embodiments may be formed in which values for one or more of these parameters are selected in a single breakout region. Moreover, it should be appreciated that different values of these parameters could be provided for different breakout regions within the same electronic assembly, or possibly on the same printed circuit board, or possibly within the same component footprint. For example, in scenarios in which single-ended and differential signals are mixed, selecting values of parameters that reduce the number of impedance discontinuities across the breakout regions may result in different values of the same parameters for breakout regions associated with single ended versus differential signals. Though, even for breakout regions associated with the same signal format, different values of the same parameters may be selected for breakout regions associated with vias that connect to different layers within the printed circuit board. As another example, different values of the same parameters may be selected for breakout regions associated with vias that are back drilled versus those that are not.
In this example, layer 120A is shown to contain multiple vias, of which vias 122A, 122B, 124A and 124B are shown. In this example, vias 122A and 122 are ground vias, which are connected through vias to ground planes. Vias 124A and 124B are signal vias, which are connected through vias to signal traces. These vias may form a portion of a component footprint. For example, contact tails of an electrical connector (not shown) may be inserted into vias 122A, 122B, 124A and 124B.
Though not shown, printed circuit board 110 may contain multiple additional vias as part of such a component footprint. Those vias may be positioned to leave routing channels through which traces making connections to signal vias may be routed. In this example, traces 128A and 128B may represent traces in a routing channel. In this example, trace 128A is coupled to a conducting portion of a via 124A. Trace 128B is coupled to a conducting portion of via 124B. Traces 128A and 128B are coupled to vias 124A and 124B, respectively, through breakout trace portions 126A and 126B.
Layer 120B is here illustrated as providing a ground plane. Layer 120B has a metallized coating 132 on its surface. As can be seen in
Layer 120C represents a lower layer of the printed circuit board. Layer 120C may contain traces (not shown) connected to other vias (not shown). Layer 120C allows printed circuit board 110 to contain more traces than can be routed on layer 120A. If more signals are to be routed within back plane 120, further layers may be included. Additional layers may alternately provide a ground layer and a layer with signal traces. Though, any suitable construction technique may be used.
In this example, the ground vias 122A and 122B continue through layer 120C, and may continue through other layers if included in printed circuit board 110. The signal vias 124A and 124B may similarly continue through other layers of the printed circuit board. However, if no further connections are made to signal vias 124A and 124B at lower layer 120C or any layer below layer 120C, the conducting portions of the via need not be continued through those lower layers.
Rather, in some embodiments it may be desirable for the conducting portions of signal vias to not extend fully through printed circuit board 110. Printed circuit board construction techniques resulting in conducting portions of vias that do not extend fully through a printed circuit board are known. Any such construction technique may be used in forming a printed circuit board such as printed circuit board 110. As one example of such a technique, back drilling may be used. For back drilling, a larger diameter hole, such as holes 140A and 140B, may be drilled through a via. Drilling such a hole removes the conducting portion of the via. Though such a construction may be useful in constructing a high frequency printed circuit board, it is not a requirement of the invention that back drilling be used.
In a printed circuit board, the traces adapted for carrying signals are spaced from each other and from the ground planes to provide a nominal impedance. For differential pairs, the impedance may, for example, be in the range of 75 to 125 ohms. Though, a common configuration is for differential pairs to have a nominal differential impedance of 85 ohms or 100 ohms. Frequently, though, this nominal trace impedance is not maintained in the breakout region. As can be seen in
The vias may have a different impedance than the traces. Signal vias 224A and 224B, for example, may be formed with a different shape than the traces such that the impedance may be different than in the traces. For example, in a conventional printed circuit board, a via may conventionally have an impedance of 70 Ohms or less. The breakout trace portions 226A and 226B may have yet a further different impedance, creating multiple impedance discontinuities in the signal path between the vias 224A and 224B and the traces 228A and 228B.
In accordance with some embodiments of the invention, values for one or more parameters of the structures in the breakout region may be selected to reduce the number of impedance discontinuities.
An example of a parameter that may be varied is the width of a portion of a trace.
The subportions 340A2 and 340B2 of the breakout trace portions may be designed to have the same impedance as subportions 326A2 and 326B2. Alternatively, subportions 340A2 and 340B2 may be designed to have the same impedance as traces 328A2 and 328B2. In either event, the signal path between vias 324A2 and 324B2 and traces 328A2 and 328B2 may have a limited number of impedance discontinuities. Specifically in this example, the trace widths of subportions 340A2 and 340B2 are selected to provide matching impedance in comparison to subportions 326A2 and 326B2. The impedances of both subportions may be selected to match the impedance of either vias 324A2 and 324B2 or of traces 328A2 and 328B2. In this example, the differential impedances of both subportions are selected to match the differential impedance of vias 324A2 and 324B2. The widths for subportions 340A2 and 340B2, as with the selection of values for other perimeters in the design of the breakout region of a printed circuit board, may be selected using computerized simulation tools.
In this example, the widths of subportions 340A2 and 340B2 are selected to provide a consistent impedance between subportions 326A2 and 326B2, on the one hand, and subportions 340A2 and 340B2, on the other hand. In this way, no significant impedance discontinuity exists between the subportions of the breakout region. Accordingly, the signal path between vias 324A2 and 324B2 is generally free of impedance discontinuities until the signal path reaches traces 328A2 and 328B2. In this example, traces 328A2 and 328B2, which here are shown as running in an a routing channel, have a different impedance than in the breakout region. Though there is an impedance discontinuity between the breakout regions and signal traces 328A2 and 328B2, having one impedance discontinuity as illustrated in the example of
It should be appreciated that, though
In this example, subportions 340A3 and 340B3 may be designed to have an impedance that is consistent with the impedance of the signal path along traces 328A3 and 328B3 in a routing channel of the footprint. In this way, a single impedance discontinuity may exist in the breakout region. Though, in other embodiments, values for parameters of subportions 340A3 and 340B3 may be selected to provide an impedance consistent with the impedance in subportions 326A3 and 326B3. Either embodiment may result in a limited number of impedance discontinuity that provides a flat insertion loss profile that provides desirable high frequency performance of an interconnection system using a breakout region.
Any suitable criteria may be used to assess suitable flatness. Flatness may be expressed in terms of dB, and, for example, flatness of 5 dB, 10 dB, 15 dB or 20 dB may be acceptable in various embodiments. Likewise the frequency range over which flatness is measured may depend on operating characteristics for an electronic system in which a printed circuit board is used. The range, for example, may span frequency ranges of interest and may be, for example 10 GHz such as between 6 GHz and 16 GHz. Though, the range could be 8 GHz and be centered at any suitable frequency.
It should be appreciated at
As shown in
As a specific example, a tool may be configured to iteratively vary values of one or more design parameters in the breakout region and recompute the impedance profile of the breakout region. The process may be repeated iteratively until a set of values for the parameters yields a desired impedance profile. Though, any suitable computational technique may be used to identify appropriate values of the parameters. Output generated by such a tool may be captured in any suitable way. In some embodiments the output is captured in a printed circuit board design file of a known type. Such a design file may then be provided to a printed circuit board manufacturer. The manufacturer may use the design file to create masks to pattern layers of a printed circuit board such that, when the layers are fused into a board, the board has breakout regions, each with an impedance profile to provide improved high frequency performance.
The computing system environment 1500 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 1500 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 1500.
The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The computing environment may execute computer-executable instructions, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. 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 computer storage media including memory storage devices.
The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The computing environment may execute computer-executable instructions, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. 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 computer storage media including memory storage devices.
With reference to
Computer 1510 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 1510 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 1510. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
The system memory 1530 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 1531 and random access memory (RAM) 1532. A basic input/output system 1533 (BIOS), containing the basic routines that help to transfer information between elements within computer 1510, such as during start-up, is typically stored in ROM 1531. RAM 1532 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 1520. By way of example, and not limitation,
The computer 1510 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
The computer 1510 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 1580. The remote computer 1580 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 1510, although only a memory storage device 1581 has been illustrated in
When used in a LAN networking environment, the computer 1510 is connected to the LAN 1571 through a network interface or adapter 1570. When used in a WAN networking environment, the computer 1510 typically includes a modem 1572 or other means for establishing communications over the WAN 1573, such as the Internet. The modem 1572, which may be internal or external, may be connected to the system bus 1521 via the user input interface 1560, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 1510, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
Having thus described several aspects of at least one embodiment of this invention, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art.
For example, in some embodiments, a breakout region may be said to have an impedance “matched to” or “consistent with” another structure such as a via. It should be appreciated that these impedances need not be identical. To the contrary, impedances may be matched if, over some frequency range of interest, or at a nominal frequency of interest, the impedances differ by less than some threshold amount. The threshold may be specified as a relative value, such as a percentage difference. As an example, impedances in some embodiments may be considered matched if they differ by less than 5%. Though, in other embodiments, differences of up to 10%, 15% or 20% may be regarded as matched. The differences regarded as acceptable in any specific embodiment may depend on whether such a change in impedance creates a reflection large enough to be significant in impacting performance of an electronic device. Accordingly, it shall be appreciated that the specific threshold used in regarding impedances as “matched” or “consistent” is not critical to the invention.
In other embodiments, the threshold may be specified in terms of Ohms. For example, a difference of 50 Ohms or less may be regarded as matched. In other embodiments, differences of 10 Ohms, 15 Ohms or 20 Ohms may be regarded as “matched” or “consistent.”
In this context, a frequency of interest may be determined based on the data rate of signals to pass through a footprint. The frequency of interest may be the principal frequency of highest speed signal. Though, the range could span frequencies of one or more harmonics of such signals.
Further, it should be recognized that multiple parameters for which values may be selected have been described. Though not every combination of these parameters has been expressly illustrated, in some embodiments values for any one or more parameters may be selected to provide desired electrical properties. Accordingly, it should be appreciated that embodiments may encompass printed circuit boards, and design and manufacture techniques for such printed circuit boards, that entail selection of values for any combination of the above-described parameters.
Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and scope of the invention. Further, though advantages of the present invention are indicated, it should be appreciated that not every embodiment of the invention will include every described advantage. Some embodiments may not implement any features described as advantageous herein and in some instances. Accordingly, the foregoing description and drawings are by way of example only.
The above-described embodiments of the present invention can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers. Such processors may be implemented as integrated circuits, with one or more processors in an integrated circuit component. Though, a processor may be implemented using circuitry in any suitable format.
Further, it should be appreciated that a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer. Additionally, a computer may be embedded in a device not generally regarded as a computer but with suitable processing capabilities, including a Personal Digital Assistant (PDA), a smart phone or any other suitable portable or fixed electronic device.
Also, a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets. As another example, a computer may receive input information through speech recognition or in other audible format.
Such computers may be interconnected by one or more networks in any suitable form, including as a local area network or a wide area network, such as an enterprise network or the Internet. Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
Also, the various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine.
In this respect, the invention may be embodied as a computer readable storage medium (or multiple computer readable media) (e.g., a computer memory, one or more floppy discs, compact discs (CD), optical discs, digital video disks (DVD), magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other tangible computer storage medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement the various embodiments of the invention discussed above. As is apparent from the foregoing examples, a computer readable storage medium may retain information for a sufficient time to provide computer-executable instructions in a non-transitory form. Such a computer readable storage medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various aspects of the present invention as discussed above. As used herein, the term “computer-readable storage medium” encompasses only a computer-readable medium that can be considered to be a manufacture (i.e., article of manufacture) or a machine. Alternatively or additionally, the invention may be embodied as a computer readable medium other than a computer-readable storage medium, such as a propagating signal.
The terms “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects of the present invention as discussed above. Additionally, it should be appreciated that according to one aspect of this embodiment, one or more computer programs that when executed perform methods of the present invention need not reside on a single computer or processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present invention.
Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
Also, data structures may be stored in computer-readable media in any suitable form. For simplicity of illustration, data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a computer-readable medium that conveys relationship between the fields. However, any suitable mechanism may be used to establish a relationship between information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationship between data elements.
Various aspects of the present invention may be used alone, in combination, or in a variety of arrangements not specifically discussed in the embodiments described in the foregoing and is therefore not limited in its application to the details and arrangement of components set forth in the foregoing description or illustrated in the drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.
Also, the invention may be embodied as a method, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
Use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having,” “containing,” “involving,” and variations thereof herein, is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2012/052503 | 8/27/2012 | WO | 00 | 7/25/2014 |
Number | Date | Country | |
---|---|---|---|
61527565 | Aug 2011 | US |