English:
[0001] Computer networks typically require that each device attached to the network have a uniquely identifying communication equipment identification number to use as an electronic address. For example, a widely-used communication equipment identification address is a media access control (MAC) address. MAC address numbers are assigned to equipment manufacturers in blocks, leaving the assignment methods used by the manufacturers unspecified. Computing devices, such as personal computers (PCs), may have multiple devices using a MAC address. For example, a PC may use a network interface controller (NIC) to manage network traffic when a user is using the PC and an administrative network interface for allowing a network administrator to update and otherwise manage the PC even after the user has turned the PC "off." Both the NIC and the administrative network interface have their own MAC address. Thus, the manufacturer and network administrator have the burden of not only managing a longer listing of MAC addresses, but also correlating the multiple MAC addresses for a single PC, each of which is time-consuming and administratively difficult.
[0003] FIGURE 1 is a diagram illustrating an embodiment of a media access control (MAC) address management system;
[0004] FIGURE 2 is a flow diagram illustrating an embodiment of a MAC address management method; and
[0005] FIGURE 3 is another flow diagram illustrating an embodiment of a MAC address management method.
[0006] FIGURE 1 is a diagram illustrating an embodiment of a media access control (MAC) address management system 10. Generally, a MAC address is a character string used as an electronic address or identifier for a particular device, thereby enabling electronic communications, such as computer network traffic, to be directed to a particular device. MAC addresses are unique, and are typically burned into a device's memory by the manufacturer. To ensure that each device has a unique MAC address, a standards organization provides an entity (e.g., a device manufacturer/distributor) a range of addresses to use for products manufactured/distributed by the particular entity. How the entity allocates the addresses within that range to specific devices is up to the discretion of the entity. When an entity expects to exhaust the provided range of addresses, the entity will generally request that the standards organization reserve another block of addresses. Thus, in operation, each network-capable device will typically be associated with a unique MAC address, for example, by having the MAC address loaded into the device's non-volatile memory.
[0007] In the embodiment illustrated in FIGURE 1, system 10 is used in connection with a computing device 100. Computing device 100 may comprise any type of electronic device capable of and/or otherwise configured to communicate across a wired and/or wireless network such as, but not limited to, a notebook computer, desktop computer, gaming device, tablet computer, and media device. In the embodiment illustrated in FIGURE 1, computing device 100 comprises a central processor (CPU) 110, a northbridge 120, a southbridge 130 and a firmware chipset 131. Northbridge 120 and southbridge 130 are chips, or sets of chips, that communicatively couple CPU 110 to various other devices in computing device 100. For example, northbridge 120 acts as an interface between CPU 110 and southbridge 130, a random access memory (RAM) 121 and a graphics controller 122 of computing device 100. Southbridge 130 acts as a further interface between CPU 110 and firmware chipset 131, such as a basic input/output system (BIOS), and a set of input/output (I/O) devices 132.
[0008] In FIGURE 1, northbridge 120 comprises a microcontroller 123 which, in some embodiments, is used for network administrative functions. For example, in some embodiments, microcontroller 123 comprises an administrative management technology (AMT) engine 123a used for enabling a network administrator to upgrade software and virus protection for computing device 100 (e.g., even after a user has turned computing device 100 "off). In some embodiments, microcontroller 123 remains powered and continues operating even if other portions of computing device 100, such as CPU 110 and I/O devices 132, are powered off or otherwise disabled.
[0009] In the embodiment illustrated in FIGURE 1, computing device 100 comprises two network devices 112a and 112b for enabling communications across and/or over a network in the form of a network interface controller (NIC) 124 and an NIC 135, respectively. However, it should be understood that computing device 100 may comprise a greater or fewer quantity of network devices 112 as well as other types of network devices. In FIGURE 1, microcontroller 123 comprises NIC 124 enabling microcontroller 123 to communicate across a computer network, such as a local area network (LAN) or other type of network, via a network connection 138. Thus, in some embodiments, NIC 124 enables microcontroller 123 to receive administrative updates, such as notification of software patches and virus definition files, from a remote network administrator. In the embodiment illustrated in FIGURE 1, a MAC address 126 is assigned to NIC 124 and is stored in a memory 125 of NIC 124. MAC address 126 is used to identify NIC 124 to other communication devices on a computer network. In some embodiments, memory 125 comprises Electronically Erasable Programmable Read-Only Memory (EEPROM); however, it should be understood that other forms of non- volatile memory may be used.
[0010] In FIGURE 1, I/O device(s) 132 are coupled to southbridge 130 and comprise a peripheral component interconnect (PCI) bus 133, a Universal Serial Bus (USB) 134, and NIC 135. NIC 135 is coupled to network connection 138 and provides network connectivity for computing device 100 for a user operating computing device 100, for example, to access the Internet, send e-mail, etc. In the embodiment illustrated in FIGURE 1, a MAC address 137 is assigned to NIC 135 and is used to identify MC 135 to other communication devices on a computer network. In FIGURE 1, MAC address 137 is stored in a memory 136 of NIC 135. Memory 136 may comprise EEPROM or other form of non- volatile memory. In some embodiments, NIC 135 comprises a Gigabit Ethernet (GbE) adapter and MAC address 137 comprises a GbE MAC address. However, it should be understood that NIC 135 may be otherwise configured. It should be understood that I/O device(s) 132 may use another device, in addition to NIC 135, to couple to a computer network using MAC address 137. In the embodiment shown in FIGURE 1, firmware chipset 131 comprises flash memory, although it should be understood that firmware chipset 131 may comprise additional integrated circuits (ICs) and other forms of memory.
[0012] hi the embodiment illustrated in FIGURE 1, system 10 comprises a MAC calculator/writer 140 coupled to an optical reader 142. hi some embodiments, MAC calculator/writer 140 comprises an EEPROM writer configured to write to EEPROMs. However, it should be understood that MAC calculator/writer 140 may comprise other types of writers configured to write to EEPROM and/or another form of non-volatile memory, hi some embodiments, MAC calculator/writer 140 is temporarily coupled to computing device 100 (e.g., during the manufacture, maintenance or repair of computing device 100) and is used to write MAC addresses 126 and/or 137 to NICs 124 and 135, respectively. Optical reader 142 may comprise any type of device for reading and/or otherwise acquiring MAC address information that MAC calculator/writer 140 uses to write/assign particular MAC addresses to particular network devices. Optical reader 142 may be temporarily coupled to MAC calculator/writer 140 or form a permanent part of MAC calculator/writer 140. In some embodiments, optical reader 142 is configured to optically read a barcode label 143 having information and/or an indication thereon of a MAC address (e.g., an indication of MAC addresses 126 or 137). In some embodiments, barcode label 143 is affixed to computing device 100, or particular components thereof (e.g., at some point in the process of manufacturing or configuring computing device 100). Thus, in operation, optical reader 142 reads barcode label 143 and transmits the read information (e.g., MAC address information such as MAC addresses 126 or 137) to MAC calculator/writer 140 to facilitate writing/assigning of MAC addresses 126 and/or 137 to NICs 124 and 135, respectively.
[0013] In the embodiment illustrated in FIGURE 1, MAC calculator/writer 140 comprises logic 141 which may comprise a set of executable instructions embodied in hardware, software, firmware, or a combination thereof. In some embodiments, logic 141 is configured to calculate, derive and/or generate one MAC address from and/or based on another MAC address. For example, in some embodiments, to facilitate ease of tracking and/or assignment of MAC addresses to computing device 100 and/or devices thereof, logic 141 utilizes a particular algorithm and/or repeatable process for generating and/or deriving one MAC address from and/or based on another MAC address. For example, in some embodiments, logic 141 is configured to generate and/or derive one MAC address from and/or based on another MAC address according to a predetermined alphanumerical relationship (e.g., calculating by incrementing/decrementing by some predetermined alphanumerical value). In some embodiments, for example, based on a first MAC address, a second MAC address is generated and/or derived by incrementing the first MAC address by the integer one or some other numeric value. However, it should be understood that other methods may be used (e.g., altering particular bits and/or alphanumeric values in a particular MAC address according to a predetermined sequence and/or pattern to generate and/or derive another MAC address).
[0014] Thus, in operation, for example, barcode label 143 comprises information associated with a MAC address. Optical reader 142 reads the MAC address information from barcode label 143 and transmits the MAC address information to MAC calculator/writer 140. The received MAC address information may be predestined for a particular device (e.g., NIC 135) or MAC calculator/writer 140 may be configured to select a particular device of computing device 100 for receiving/assigning the MAC address thereto (e.g., based on a predetermined schema or randomly). MAC calculator/writer 140 then writes the MAC address to the particular device (e.g., NIC 135 as MAC address 137). MAC address 137 is correspondingly removed and/or otherwise indicated as being unavailable/assigned on the provided block or range of MAC addresses. Instead of randomly receiving and/or obtaining another MAC address and/or reading another barcode label 143, logic 141 is configured to automatically generate a MAC address for another device of computing device 100 based on the first MAC address or, in this example, MAC address 126. Thus, for example, logic 141 automatically generates a MAC address for NIC 124 based on MAC address 137 (e.g., by incrementing MAC address by a numerical value of "one" to arrive at a MAC address for NIC 124, or MAC address 126). MAC calculator/writer 140 writes MAC address 126 to NIC 124, and MAC address 126 is correspondingly removed and/or otherwise indicated as being unavailable/assigned on the provided block or range of MAC addresses. The above method or series of operations may be repeated for other network devices 112 of computing device 100 needing a MAC address assigned thereto (e.g., generated based on MAC address 137 or generated based on the previously used/assigned MAC address (e.g., MAC address 126)). Alternatively, MAC calculator/writer 140 may be configured to write only one of MAC addresses 126 and 137, leaving calculation of the other one of MAC addresses 126 and 137 to logic 139 in computer 100. Even with this alternative configuration, both MAC addresses 126 and 137 will still be removed and/or otherwise indicated as being unavailable/assigned on the provided block or range of MAC addresses.
[0016] In some embodiments, barcode label 143 need not contain all of a MAC address. For example, a manufacturer's block of reserved MAC addresses may be limited to a sequence of numbers in which some of the digits do not change. In such a situation, barcode label 143 may only include a subset or portion of a MAC address. Thus, in some embodiments, logic 141 is configured to append a remaining portion of a MAC address to the information contained on barcode label 143 to generate a complete MAC address.
[0017] In some embodiments, a radio frequency identification (RFID) tag 150 may be used to hold and/or otherwise provide an indication of a MAC address, either instead of barcode label 143 or in addition to using barcode labels 143. For example, an RFID tag is a passive wireless device that, in the presence of a transmitting RFID tag reader 152 and in response to being energized by radio frequency energy transmitted by RFED tag reader 152, transmits a code. Thus, in some embodiments, the code transmitted by RFID tag 150 is indicative of a MAC address, which is then transmitted to MAC calculator/writer 140 by RFED tag reader 152. RFED tag 150 may also be thereafter physically coupled to and/or disposed on computing device 100 or a particular network device 112 thereof.
[0018] As described above, MAC calculator/writer 140 is configured to generate a MAC address using and/or based on another MAC address. However, it should be understood that MAC calculator/writer 140 may also be configured to determine/derive a MAC address using and/or based on another MAC address. For example, in some embodiments, in response to being given and/or provided with a MAC address for one network device 112 (e.g., MAC address 126), logic 141 is configured to automatically determine and/or otherwise derive what MAC address has been assigned to another network device, such as NIC 135.
[0019] In some embodiments, an instance of logic 141 may also reside in firmware chipset 131, indicated as logic 139 in FIGURE 1. Logic 139 may be configured the same as logic 141 or may be configured with additional and/or different functionality than logic 141. For example, in some embodiments, logic 139 is configured to calculate and/or derive one of MAC addresses 126 and 137 from and/or based on the other one of MAC addresses 126 and 137 (e.g., during computing device 100 boot-up). For example, in some embodiments, if MAC address 126 had not been written to memory 125 of NIC 124, logic 139 is configured to read MAC address 137 from memory 136, calculate MAC address 126, and write MAC address 126 to memory 125 (e.g., when computing device 100 is booted or otherwise). Logic 139 may also be configured to derive and/or otherwise determine one MAC address from another MAC address (e.g., determine MAC address 126 based on MAC address 137) to facilitate communication of the particular MAC address to another (e.g., to another network device, to a system/network administrator, etc.).
[0020] In the embodiment shown in FIGURE 1, firmware chipset 131 also comprises a descriptor table 144 holding copies of MAC addresses 126 and 137 and validity flags 145 and 146. In some embodiments, MAC calculator/writer 140 writes MAC addresses 126 and/or 137 to descriptor table 144 in addition to, or instead of, memory 125 and memory 136, respectively. Logic 139 may also be configured to copy MAC addresses 126 and/or 137 from descriptor table 144 to memory 125 and/or memory 136, respectively, upon computing device 100 boot-up or otherwise. In some embodiments, flags 145 and 146 represent validity indications for MAC addresses 126 and 137. For example, in some embodiments, MAC calculator/writer 140 sets flag 145 if MAC calculator/writer 140 writes MAC addresses 126 and 137 to NIC 124 and NIC 135. If, however, MAC calculator/writer 140 writes only one of MAC addresses 126 or 137 to NIC 124 or NIC 135, and one of NIC 124 and NIC 135 is thus missing a valid MAC address, MAC calculator/writer sets flag 146 but not flag 145. In some embodiments, upon booting, logic 139 determines whether both MAC addresses 126 and 137 are both valid, based on whether flag 145 is set, and if not, calculates the missing one of MAC address 126 or 137, writes MAC addresses 126 or 137 to descriptor table 144 and/or the respective one of memory 125 or memory 136, and sets flag 145. Descriptor table 144 may also be locked once valid MAC addresses have been stored in memories of the respective network devices. During later booting events, logic 139 may thus read flag 145 as being set.
[0021] FIGURE 2 is a flow diagram illustrating an embodiment of a method 20 for writing a MAC address. Method 20 is described with reference to system 10 illustrated in FIGURE 1; however, it should be understood that method 20 may be used with alternative embodiments. At block 200, MAC calculator/writer 140 receives MAC address 137 from optical reader 142. At block 201, MAC calculator/writer 140 writes MAC address 137 to memory 136 and sets flag 146 at block 202.
[0022] FIGURE 3 is a flow diagram illustrating an embodiment of a method 30 for writing a MAC address. Method 30 is described with reference to system 10 illustrated in FIGURE 1; however, it should be understood that method 30 may be used with alternative embodiments.
[0023] At block 300, logic 139 reads flag 145 and determines whether flag 145 is set at decision block 301. If flag 145 is set, method 30 is done at block 302. If, however, flag 145 is not set, logic 139 reads flag 146. If flag 146 is not set, method 30 stops at block 305, because flag 146 not being set indicates that MAC address 137 has not yet been written to memory 136, and is therefore not available for calculating MAC address 126. If, however, flag 145 is set, logic 139 reads MAC address 137 from memory 136 and calculates MAC address 126 at block 306. At block 307, logic 139 writes MAC address 126 to memory 125, and at block 308, logic 139 sets flag 145.

中文:
[0001]计算机网络通常要求附接到该网络的每个设备具有唯一识别的通信设备识别号以用作电子地址。例如,广泛使用的通信设备识别地址是介质访问控制(MAC)地址。MAC地址号被成块地分配(assign)给设备制造商,使得制造商使用的分配方法未被规定。计算设备(例如个人计算机(PC))可以具有使用MAC地址的多个设备。例如,PC可以使用网络接口控制器(NIC)来在用户正使用PC时管理网络流量,以及使用管理性(administrative)网络接口以甚至在用户已将PC“关闭”之后允许网络管理员更新和以其他方式管理PC。NIC和管理性网络接口二者都具有它们自己的MAC地址。因此,制造商和网络管理员不仅仅负有管理较长的MAC地址列表的负担而且还负有使单个PC的多个MAC地址相关的负担,每个负担都是耗时的并且管理起来非常困难。
[0003]图1是图解介质访问控制(MAC)地址管理系统的实施例的图;
[0004]图2是图解MAC地址管理方法的实施例的流程图;以及
[0005]图3是图解MAC地址管理方法的实施例的另一个流程图。
[0006]图1是图解介质访问控制(MAC)地址管理系统10的实施例的图。通常,MAC地址是用作特定设备的电子地址或标识符的字符串,从而实现针对特定设备的电子通信(例如计算机网络流量)。MAC地址是唯一的,并且通常由制造商烧入(burn into)设备的存储器中。为了确保每个设备具有唯一的MAC地址,标准组织为实体(例如设备制造商/经销商)提供一定范围的(a range of)地址以用于该特定实体制造/经销的产品。该实体如何将在该范围中的地址分派(allocate)给特定设备取决于所述实体的判断。当实体预期用尽所提供范围的地址时,该实体通常将请求标准组织保留另一块地址。因此,在运行中,每个具有网络能力的设备典型地将与唯一的MAC地址相关联,例如通过将MAC地址加载到该设备的非易失性存储器中。
[0007]在图1所图解的实施例中,系统10与计算设备100结合使用。计算设备100可以包括任何类型的能够和/或以其他方式被配置成通过有线和/或无线网络进行通信的电子设备,诸如但不限于笔记本计算机、台式计算机、游戏设备、平板计算机和媒体设备。在图1中图解的实施例中,计算设备100包括中央处理器(CPU)110、北桥(northbridge)120、南桥(southbridge)130和固件芯片组131。北桥120和南桥130是将CPU 110通信耦合到计算设备100中的各种其他设备的芯片或芯片组。例如,北桥120用作CPU110和计算设备100的南桥130、随机存取存储器(RAM)121以及图形控制器122之间的接口。南桥130用作CPU 110和诸如基本输入/输出系统(BIOS)之类的固件芯片组131和一组输入/输出(I/O)设备132之间的另一个接口。
[0008]在图1中,北桥120包括微控制器123,在一些实施例中,该微控制器123被用于网络管理性功能。例如,在一些实施例中,微控制器123包括管理性管理技术(administrative management technology,AMT)引擎123a,其被用来使网络管理员能够升级计算设备100的软件和病毒保护(例如甚至在用户已“关闭”计算设备100之后)。在一些实施例中,即使计算设备100的其他部分(例如CPU 110和I/O设备132)被断电或者以其他方式被禁用,微控制器123也保持加电并且继续操作。
[0009]在图1中图解的实施例中,计算设备100包括分别以网络接口控制器(NIC)124和NIC 135为形式的两个网络设备112a和112b,用于实现跨越和/或通过网络的通信。然而,应该理解,计算设备100可以包括更多或更少数量的网络设备112以及其他类型的网络设备。在图1中,微控制器123包括NIC 124,其使得微控制器123能够经由网络连接138通过计算机网络(例如局域网(LAN)或其他类型的网络)进行通信。因此,在一些实施例中,NIC 124使得微控制器123能够从远程网络管理员接收诸如病毒定义文件和软件补丁的通知之类的管理性更新。在图1中图解的实施例中,MAC地址126被分配给NIC 124并且被存储在NIC124的存储器125中。MAC地址126被用来向计算机网络上的其他通信设备识别NIC 124。在一些实施例中,存储器125包括电子可擦除可编程只读存储器(EEPROM);但是应该理解可以使用其他形式的非易失性存储器。
[0010]在图1中,(一个或多个)I/O设备132耦合到南桥130,并且包括外围部件互连(PCI)总线133、通用串行总线(USB)134以及NIC 135。NIC 135耦合到网络连接138,并且为计算设备100提供网络连接性以便操作计算设备100的用户例如访问因特网、发送电子邮件等等。在图1中图解的实施例中,MAC地址137被分配给NIC 135,并且被用来向计算机网络上的其他通信设备识别NIC 135。在图1中,MAC地址137被存储在NIC 135的存储器136中。存储器136可以包括EEPROM或其他形式的非易失性存储器。在一些实施例中,NIC 135包括千兆位(gigabit)以太网(GbE)适配器,并且MAC地址137包括GbE MAC地址。但是,应该理解,NIC 135可以以其他方式进行配置。应该理解,(一个或多个)I/O设备132可以使用除NIC 135之外的另一设备,以使用MAC地址137耦合到计算机网络。在图1所示的实施例中,固件芯片组131包括闪存,但是应该理解固件芯片组131可以包括附加的集成电路(IC)和其他形式的存储器。
[0012]在图1所图解的实施例中,系统10包括耦合到光学阅读器142的MAC计算器/写入器(writer)140。在一些实施例中,MAC计算器/写入器140包括被配置成向EEPROM写入的EEPROM写入器。但是,应该理解,MAC计算器/写入器140可以包括被配置成向EEPROM和/或另一形式的非易失性存储器写入的其他类型的写入器。在一些实施例中,MAC计算器/写入器140被暂时耦合到计算设备100(例如在计算设备100的制造、维护或维修期间),并且用于将MAC地址126和/或137分别写入到NIC124和135。光学阅读器142可以包括用于读取和/或以其他方式获取MAC地址信息的任何类型的设备,MAC计算器/写入器140使用该MAC地址信息来向特定网络设备写入/分配特定MAC地址。光学阅读器142可以暂时耦合到MAC计算器/写入器140或形成MAC计算器/写入器140的永久部分。在一些实施例中,光学阅读器142被配置成光学地读取在其上具有MAC地址的信息和/或指示(例如,MAC地址126或137的指示)的条形码标记143。在一些实施例中,条形码标记143被附着到计算设备100或其特定部件(例如在制造或配置计算设备100的过程中的某个点)。因此,在运行中,光学阅读器142读取条形码标记143并且将读取的信息(例如MAC地址信息,诸如MAC地址126或137)传输到MAC计算器/写入器140以便于分别将MAC地址126和/或137写入/分配到NIC 124和135。
[0013]在图1中图解的实施例中,MAC计算器/写入器140包括逻辑(logic)141,该逻辑141可以包括一组包含在硬件、软件、固件或其组合中的可执行指令。在一些实施例中,逻辑141被配置成根据和/或基于一个MAC地址计算、导出和/或生成另一MAC地址。例如,在一些实施例中,为了便于容易地跟踪到计算设备100和/或其设备的MAC地址和/或给计算设备100和/或其设备分配MAC地址,逻辑141利用特定的算法和/或可重复的过程来根据和/或基于一个MAC地址来生成和/或导出另一MAC地址。例如,在一些实施例中,逻辑141被配置成按照预定的字母数字关系(例如通过递增/递减某个预定字母数字值来计算)来根据和/或基于一个MAC地址生成和/或导出另一MAC地址。在一些实施例中,例如,基于第一MAC地址,通过将第一MAC地址递增整数一或某个其他数字值来生成和/或导出第二MAC地址。但是,应该理解,可以使用其他方法(例如按照预定的序列和/或模式改变特定MAC地址中的特定位和/或字母数字值来生成和/或导出另一MAC地址)。
[0014]因此,在运行中,例如,条形码标记143包括与MAC地址相关联的信息。光学阅读器142从条形码标记143读取MAC地址信息并且将该MAC地址信息传输到MAC计算器/写入器140。所接收的MAC地址信息可以被预先指定用于特定设备(例如NIC 135)或者MAC计算器/写入器140可以被配置成选择计算设备100的特定设备来接收到其的MAC地址/向其分配该MAC地址(例如基于预定的方案或随机地)。MAC计算器/写入器140然后将MAC地址写入到该特定设备(例如NIC 135为MAC地址137)。MAC地址137被对应地在所提供的MAC地址块或范围上移除和/或以其他方式指示为不可用/已分配。代替随机接收和/或获得另一MAC地址和/或读取另一条形码标记143,逻辑141被配置成基于第一MAC地址自动生成用于计算设备100的另一设备的MAC地址,或在该示例中生成MAC地址126。因此,例如,逻辑141基于MAC地址137(例如通过将MAC地址递增数字值“一”以得到NIC 124的MAC地址,或者MAC地址126)自动生成用于NIC 124的MAC地址。MAC计算器/写入器140将MAC地址126写入到NIC 124,并且MAC地址126被对应地在所提供的MAC地址块或范围上移除和/或以其他方式指示为不可用/已分配。对于需要分配给其的(例如,基于MAC地址137生成的或基于先前使用的/分配的MAC地址(例如MAC地址126)生成的)MAC地址的计算设备100的其他网络设备112,可以重复上述方法或操作系列。可替换地,MAC计算器/写入器140可以被配置成仅写入MAC地址126和137中的一个,从而将MAC地址126和137中的另一地址的计算留给计算机100中的逻辑139。即使利用该可替换的配置,MAC地址126和137二者在所提供的MAC地址块或范围上仍将被移除和/或以其他方式指示为不可用/已分配。
[0016]在一些实施例中,条形码标记143不需要包含MAC地址的全部。例如,制造商的所保留的MAC地址块可能限于其中的一些数字不改变的号码序列。在这样的情况下,条形码标记143可以仅包括MAC地址的子集或一部分。因此,在一些实施例中,逻辑141被配置成将MAC地址的剩余部分附加到包含在条形码标记143上的信息以生成完整的MAC地址。
[0017]在一些实施例中,或者代替条形码标记143或者除使用条形码标记143之外,可以使用射频识别(RFID)标签150来持有和/或以其他方式提供MAC地址的指示。例如,RFID标签是在存在发射RFID标签阅读器152的情况下并且响应于被RFID标签阅读器152发射的射频能量激励而发射代码的无源无线设备。因此,在一些实施例中,由RFID标签150发射的代码指示MAC地址,然后由RFID标签阅读器152将该地址传输到MAC计算器/写入器140。RFID标签150还可以在此后物理地耦合到和/或布置在计算设备100或其特定网络设备112上。
[0018]如上所述,MAC计算器/写入器140被配置成使用和/或基于一MAC地址生成另一MAC地址。但是,应该理解,MAC计算器/写入器140还可以被配置成使用和/或基于一MAC地址确定/导出另一MAC地址。例如,在一些实施例中,响应于被给予和/或被提供一个网络设备112的MAC地址(例如MAC地址126),逻辑141被配置成自动确定和/或以其他方式导出已将什么MAC地址分配给另一网络设备(例如NIC 135)。
[0019]在一些实施例中,逻辑141的实例也可以驻留在固件芯片组131中,在图1中被指示为逻辑139。逻辑139可以被配置成与逻辑141相同,或者可以被配置成具有除逻辑141之外的附加的功能和/或与逻辑141不同的功能。例如,在一些实施例中,逻辑139被配置成(例如在计算设备100启动(boot-up)期间)根据和/或基于MAC地址126和137中的一个地址计算和/或导出MAC地址126和137中的另一地址。例如,在一些实施例中,如果MAC地址126还没有被写入到NIC 124的存储器125,则逻辑139被配置成从存储器136读取MAC地址137、计算MAC地址126以及将MAC地址126写入到存储器125(例如当计算设备100被引导(boot)时或在其他时候)。逻辑139还可以被配置成根据另一个MAC地址导出和/或以其他方式确定一个MAC地址(例如基于MAC地址137确定MAC地址126),以便于将特定MAC地址传送到另一方(例如到另一网络设备、到系统/网络管理员等等)。
[0020]在图1所示的实施例中,固件芯片组131还包括持有(hold)MAC地址126和137的副本以及有效性标志145和146的描述符表144。在一些实施例中,除存储器125和存储器136之外或代替存储器125和存储器136,MAC计算器/写入器140将MAC地址126和/或137分别写入到描述符表144。逻辑139还可以被配置成在计算设备100启动时或在其他情况下,将MAC地址126和/或137从描述符表144分别复制到存储器125和/或存储器136。在一些实施例中,标志145和146代表MAC地址126和137的有效性指示。例如,在一些实施例中,如果MAC计算器/写入器140将MAC地址126和137写入到NIC 124和NIC 135,则MAC计算器/写入器140设置标志145。但是,如果MAC计算器/写入器140仅将MAC地址126或137中的一个写入到NIC 124或NIC 135,并且因此NIC 124和NIC 135中的一个缺少有效的MAC地址,则MAC计算器/写入器设置标志146而不是标志145。在一些实施例中,在引导时,逻辑139基于标志145是否被设置来确定MAC地址126和137二者是否都有效,并且如果不是,则计算MAC地址126或137中的缺失的一个,将MAC地址126或137写入到描述符表144和/或存储器125或存储器136的相应一个,并且设置标志145。一旦有效的MAC地址已经被存储在相应网络设备的存储器中,则描述符表144还可以被锁定。在随后的引导事件期间,逻辑139因此可以将标志145读取为被设置。
[0021]图2是图解用于写入MAC地址的方法20的实施例的流程图。参考图1中图解的系统10来描述方法20;但是,应该理解方法20可以被用于可替换的实施例。在框200处,MAC计算器/写入器140从光学阅读器142接收MAC地址137。在框201处,MAC计算器/写入器140将MAC地址137写入到存储器136中,并且在框202处设置标志146。
[0022]图3是图解用于写入MAC地址的方法30的实施例的流程图。参考图1中图解的系统10来描述方法30;但是,应该理解方法30可以被用于可替换的实施例。
[0023]在框300处,逻辑139读取标志145并且在判断框301处确定标志145是否被设置。如果标志145被设置,则在框302处完成方法30。但是,如果标志145没有被设置,则逻辑139读取标志146。如果标志146没有被设置,则方法30在框305处停止,因为标志146没有被设置指示MAC地址137还没有被写入到存储器136,并因此不可用于计算MAC地址126。但是,如果标志145被设置,则逻辑139在框306处从存储器136读取MAC地址137并且计算MAC地址126。在框307处,逻辑139将MAC地址126写入到存储器125,并且在框308处,逻辑139设置标志145。