SE521305C2 - Bringing of an integrated circuit to execute instructions with simplified loading of the necessary hardware into the processing circuit - Google Patents

Bringing of an integrated circuit to execute instructions with simplified loading of the necessary hardware into the processing circuit

Info

Publication number
SE521305C2
SE521305C2 SE9901744A SE9901744A SE521305C2 SE 521305 C2 SE521305 C2 SE 521305C2 SE 9901744 A SE9901744 A SE 9901744A SE 9901744 A SE9901744 A SE 9901744A SE 521305 C2 SE521305 C2 SE 521305C2
Authority
SE
Sweden
Prior art keywords
network
data packet
server
devices
packet
Prior art date
Application number
SE9901744A
Other languages
Swedish (sv)
Other versions
SE9901744D0 (en
SE9901744L (en
Inventor
Jan Bengtsson
Kenny Ranerup
Per Zander
Hans-Peter Nilsson
Ronny Ranerup
Original Assignee
Axis Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from SE9801671A external-priority patent/SE520101C2/en
Application filed by Axis Ab filed Critical Axis Ab
Priority to SE9901744A priority Critical patent/SE521305C2/en
Publication of SE9901744D0 publication Critical patent/SE9901744D0/en
Publication of SE9901744L publication Critical patent/SE9901744L/en
Publication of SE521305C2 publication Critical patent/SE521305C2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)

Abstract

A server (102) initiates a process (102A) as a result of the program code (108) contained in storage (104) and a packet (110) is sent across a network (100). Multiple-mode chips (140A-E) implement kernel basic input/output (BIOS) system processes (144A-D) for peripheral devices (120A,B, 122,124), while a minimum boot codes processor of the initial configuration of the chips, accepting a packet, has a group identification corresponding to their own group identification for processing. After receiving the external signal, the integrated central processor unit then executes the instructions. AN Independent claim is included for a method of reversibly configuring networked devices

Description

25 30 35 p521 305 2 åstadkommer minnesutrymme för mottagning av ytterligare mjukvaruprogram för processorkretsens funktioner. P521 305 2 provides memory space for receiving additional software programs for the functions of the processor circuit.

Därför är processorkretsen antingen permanent utrus- tad med de externa enheterna som behövs för den inledande mjukvaruladdningen eller är sådana externa enheter tempo- rärt anslutna till den integrerade kretsen under ett mjukvaruladdningssteg i tillverkningsprocessen.Therefore, the processor circuit is either permanently equipped with the external devices needed for the initial software loading or such external devices are temporarily connected to the integrated circuit during a software loading step in the manufacturing process.

Processorkretsens kostnad ökas på ett oönskat sätt om kretsen skall vara utrustad med enheter som inte pas- sar eller är onödiga för den efterföljande användningen av kretsen.The cost of the processor circuit is undesirably increased if the circuit is to be equipped with devices that do not fit or are unnecessary for the subsequent use of the circuit.

Om externa enheter för den inledande mjukvaruladd- ningen endast är anslutna till den integrerade kretsen under ett laddningssteg kommer detta tillverkningssteg att vara onödigt tidsödande.If external devices for the initial software loading are only connected to the integrated circuit during a charging step, this manufacturing step will be unnecessarily time consuming.

Testning av mjukvarutestversioner under mjukvaru- utveckling innebär ofta utbyte, radering och omladdning av minnesenheter vilket gör det tidsödande.Testing software test versions during software development often involves the replacement, deletion and reloading of memory devices, which is time consuming.

Sammanfattning av uppfinningen Ändamålet med uppfinningen är att förenkla inladd- ningen av nödvändig mjukvara till processorkretsen.SUMMARY OF THE INVENTION The object of the invention is to simplify the loading of necessary software into the processor circuit.

Enligt uppfinningen uppnås dessa ändamål, liksom andra ändamål som kommer att framgå av beskrivningen nedan, genom en metod för fjärrkonfigurering av nätverksanslutna anordningar och en metod för konfigurering av var och en av ett flertal nätverksanslutna anordningar i enlighet med de bifogade kraven 1 och 6.According to the invention, these objects, as well as other objects which will appear from the description below, are achieved by a method for remotely configuring network-connected devices and a method for configuring each of a plurality of network-connected devices according to the appended claims 1 and 6.

Enligt en första aspekt av uppfinningen innefattar den en metod för fjärrkonfigurering av nätverksanslutna anordningar, vilka nätverksanslutna anordningar är kopp- lade till en server via ett nätverk. Servern innehåller programkodssegment som vart och ett är lämpat för att möjliggöra arbetet hos en därtill svarande grupp av de nätverksanslutna anordningarna. Metoden för fjärrkon- figurering innefattar åtgärden att vid servern ta emot ett första datapaket från en oidentifierad anordning av 10 15 20 25 30 'JO IJ'| 521 305 3 de nätverksanslutna anordningarna. Det första datapaketet innehåller en anordningstypsidentifierare och en slump- mässig identifierare, vilken anordningstypsidentifierare svarar mot den oidentifierade anordningens, av de nätverksanslutna anordningarna, grupp och vilken slump- mässig identifierare genereras av den oidentifierade anordningen av de nätverksanslutna anordningarna. Metoden innefattar vidare åtgärden att från servern sända ett andra datapaket som svar på en mottagning. Det andra datapaketet innehåller den slumpmässiga identifieraren, ett programkodssegment och en unik nätverksadress, varvid programkodssegmentet svarar mot den oidentifierade anord- ningens, av de nätverksanslutna anordningarna, grupp och den unika nätverksadressen, som tilldelats av servern, svarar mot den oidentifierade nätverksanslutna anord- ningen av de nätverksanslutna anordningarna. Vidare innefattar metoden åtgärderna att vid den oidentifierade anordningen av de nätverksanslutna anordningarna hantera det andra datapaketet utifrån den slumpmässiga identifieraren däri och att tilldela den unika nätverksadressen som tilldelats av servern under nämnda sändningsåtgärd som en nätverksadress till den oidentifierade anordningen av de nätverksanslutna anordningarna.According to a first aspect of the invention, it comprises a method for remote configuration of network-connected devices, which network-connected devices are connected to a server via a network. The server contains program code segments, each of which is suitable for enabling the work of a corresponding group of the networked devices. The remote configuration method includes the step of receiving at the server a first data packet from an unidentified device of 10 15 20 25 30 'JO IJ' | 521 305 3 the networked devices. The first data packet includes a device type identifier and a random identifier, which device type identifier corresponds to the unidentified device, of the networked devices, group and which random identifier is generated by the unidentified device of the networked devices. The method further comprises the step of sending from the server a second data packet in response to a reception. The second data packet contains the random identifier, a program code segment and a unique network address, the program code segment corresponding to the unidentified device, by the network connected devices, group and the unique network address assigned by the server corresponding to the unidentified network unidentified network the networked devices. Furthermore, the method comprises the steps of handling the second data packet based on the random identifier therein in the unidentified device of the network connected devices and assigning the unique network address assigned by the server during said transmission operation as a network address to the unidentified device of the network connected devices.

Enligt en andra aspekt av uppfinningen innefattar den en metod för konfigurering av var och en av ett flertal av nätverksanslutna anordningar kopplade till ett nätverk såsom en nod av ett flertal noder. De nätverks- anslutna anordningar innefattar ett cacheminne, ett huvudminne och en anordningstypsidentifierare som svarar mot en grupp ur flertalet av nätverksanslutna anord- ningar. Metoden för konfigurering innefattar åtgärderna, som alla utförs på den nätverksanslutna anordningen, att ta emot ett inledande datapaket innefattande tillfäll g }¿.According to a second aspect of the invention, it comprises a method of configuring each of a plurality of networked devices connected to a network as a node of a plurality of nodes. The networked devices include a cache, a main memory and a device type identifier corresponding to a group of the plurality of networked devices. The configuration method includes the steps, all performed on the networked device, of receiving an initial data packet including time g} ¿.

F? programkod från en nod av flertalet noder på nätverke .F? program code from a node of most nodes on a network.

Metoden innafattar vidare åtgärden att exekvera den tillfälliga programkoden för att utföra åtgärderna att 10 15 20 25 30 35 521 505 4 placera anordningstypsidentifieraren och en slumpmässig identifierare i ett första datapaket på nätverket med en destinationsadress som svarar mot en källadress i det inledande datapaketet; att acceptera ett andra datapaket från noden utifrån den slumpmässiga identifieraren som finns däri, vilket andra datapaket innehåller en unik nätverksadress och ett programskodssegment avsett för att göra det möjligt för den nätverksanslutna anordningen att arbeta, och att tilldela den nätverksanslutna anordningen den unika nätverksadressen i det andra datapaketet som en nätverksadress. Dessutom innefattar metoden åtgärden att bearbeta programkodssegmentet för att aktivera den nätverksanslutna anordningen.The method further includes the step of executing the temporary program code to perform the steps of placing the device type identifier and a random identifier in a first data packet on the network with a destination address corresponding to a source address in the initial data packet; accepting a second data packet from the node based on the random identifier contained therein, which second data packet contains a unique network address and a program code segment intended to enable the network connected device to operate, and assigning the network connected device the unique network address in the second the data packet as a network address. In addition, the method includes the step of processing the program code segment to activate the networked device.

Som ett resultat av uppfinningen enligt både första aspekten och andra aspekten kan tillverkningskostnaderna minskas mycket eftersom anordningarna vid tidpunkten då de ansluts till nätverket kan vara okonfigurerade i åtminstone nätverkshänseende.As a result of the invention according to both the first aspect and the second aspect, the manufacturing costs can be greatly reduced since the devices at the time when they are connected to the network may be unconfigured in at least network terms.

Genom att slumpmässiga identifierare genereras av nätverksanslutna anordningar kan en nätverksansluten anordning identifiera datapaket avsedda för denna nätverksanslutna anordning även om denna saknar en unik nätverksadress.By generating random identifiers by networked devices, a networked device can identify data packets intended for this networked device even if it does not have a unique network address.

Föreliggande uppfinning åstadkommer alltså en kom- binerad anordning som kan fjärrkonfigureras över ett nätverk utan att anordningen behöver ha en unik nätverksadress.The present invention thus provides a combined device that can be remotely configured over a network without the device having to have a unique network address.

Kort beskrivning av ritningarna Fig 1A-D visar den övergripande nätverksmiljön för konfigurering av nätverksanslutna periferianordningar från en central server.Brief Description of the Drawings Figs. 1A-D show the overall network environment for configuring networked peripherals from a central server.

Fig 2 är ett hårdvarublockschema över ett tvåtill- ståndschip och en därmed förbunden periferianordning enligt en utföringsform av uppfinningen.Fig. 2 is a hardware block diagram of a two-state chip and an associated peripheral device according to an embodiment of the invention.

'IJ Fig 3 visar ett IEEE 802.3-paket. 10 15 20 25 30 (A) (fl 521 505 5 Fig 4A-C visar paket som sänds mellan servern och periferianordningarna vid olika faser i konfigurerings- processen.Fig. 3 shows an IEEE 802.3 package. (A) (fl 521 505 Fig. 4A-C shows packets transmitted between the server and the peripherals at different stages of the configuration process.

Fig 5 visar datastrukturerna på servern.Fig. 5 shows the data structures on the server.

Fig 6 är ett flödesschema över periferianordningens konfigurationsprocesser som utförs av servern.Fig. 6 is a flow chart of the configuration processes of the peripheral device performed by the server.

Fig 7A-B är flödesscheman över konfigurationspro- cesserna som utförs av periferianordningen.Figs. 7A-B are flow charts of the configuration processes performed by the peripheral device.

Detaljerad beskrivning Fig 1A-D visar de olika faserna av växelverkan mellan en konfigurationsserver och ett flertal nätverks- anslutna periferianordningar som behöver konfigureras. I den visade utföringsformen är de nätverksanslutna perife- rianordningarna varken tillverkade med en unik nätverks- adress eller grundläggande funktionsförmåga. Vid tidpunk- ten då de ansluts till nätverket är de okonfigurerade både i nätverkshänseende och funktionshänseende. Detta minskar tillverkningskostnaderna mycket och medger att komponenter, såsom varje periferianordnings processor, tillverkas från ett enda chip, självklart under förut- sättning att anordningarna kan konfigureras med en unik nätverksadress och anordningsspecifik funktionsförmåga över ett nätverk. en arbetsstation 112, 122 och 124 som Servern Fig 1A visar en server 102, ett flertal periferianordningar 120A-B, är anslutna till varandra över ett nätverk 100. 102 är ansluten till en lagringsplats 104. Lagringsplat- sen 104 innefattar ett flertal applikationer, operativ- tillfällig kod, en programkod 108 för konfigurering av servern till att system, och lagringskod i en fil 106 och agera som en konfigurationsserver. I en utföringsform av uppfinningen innefattar var och en av periferianord- ningarna 120A-B, 122 och 124 två identifierare (ID), en för anordningen i sig själv och en annan för ett konfigu- rerbärt flertillståndschip som utgör del av anordningen.Detailed Description Figures 1A-D show the different phases of interaction between a configuration server and a plurality of networked peripherals that need to be configured. In the embodiment shown, the network-connected peripherals are neither manufactured with a unique network address nor basic functional capability. At the time when they are connected to the network, they are unconfigured both in terms of network and function. This greatly reduces manufacturing costs and allows components, such as the processor of each peripheral device, to be manufactured from a single chip, of course, provided that the devices can be configured with a unique network address and device-specific performance over a network. a workstation 112, 122 and 124 as the Server Fig. 1A shows a server 102, a plurality of peripheral devices 120A-B, are connected to each other over a network 100. 102 is connected to a storage location 104. The storage location 104 comprises a plurality of applications, operative temporary code, a program code 108 for configuring the server to that system, and storage code in a file 106 and acting as a configuration server. In one embodiment of the invention, each of the peripheral devices 120A-B, 122 and 124 comprises two identifiers (ID), one for the device itself and another for a configurable multi-state chip forming part of the device.

Dessa ID är inte unika för varje anordning utan identi- fierar istället anordningstypen, t ex skrivare/kamera, 10 15 20 25 30 (ß (Il 521 305 6 såväl som modellnummer. Det kan finnas många periferi- anordningar med samma ID. För anordningarna 120A-B är dessa periferianordnings-ID ID 130A-B. Nämnda periferi- anordnings-ID för skrivaren 122 är skrivar-ID 132. Nämnda ID för kortläsaren 124 är kortläsar-ID 134. periferianordningarna visas streckat i fig 1A eftersom de Var och en av alla vid denna tidpunkt saknar förmågan att fungera såsom antingen en skrivare, en kortläsare, eller en kamera. De saknar alla den funktionsförmåga eller operativsystemskod (05) antingen en skrivare, som är nödvändig för att de skall fungera som en kortläsare eller en kamera.These IDs are not unique to each device but instead identify the device type, eg printer / camera, 10 15 20 25 30 (ß (Il 521 305 6 as well as model number. There may be many peripheral devices with the same ID. For the devices) 120A-B are these peripheral device IDs 130A-B. of all at this time lack the ability to function as either a printer, a card reader, or a camera.They all lack the functionality or operating system code (05) either a printer, which is necessary for them to function as a card reader or a camera.

Var och en av periferianordningarna innefattar ett vidhängande flertillståndschip med en ID. Nämnda chip-ID utan iden- tifierar istället chipets typ och/eller modellnummer. Det kan finnas många chip som har samma ID. Flertillstånds- chipet 140A och den därtill knutna ID 142A utgör del av periferianordningen 120A. Multitillståndschipet 140B och dess ID l42B utgör del av periferianordningen 120B. Fler- tillståndschipet 140C och dess ID 142C utgör del av peri- Flertillståndschipet 14OD och dess är liksom med nämnda anordnings-ID inte unik, ferianordningen 122.Each of the peripheral devices includes a pendant multi-state chip with an ID. Said chip ID without instead identifies the type and / or model number of the chip. There may be many chips that have the same ID. The multi-state chip 140A and the associated ID 142A form part of the peripheral device 120A. The multi-state chip 140B and its ID 142B form part of the peripheral device 120B. The multi-state chip 140C and its ID 142C form part of the multi-state chip 14OD and, as with said device ID, its not unique, the holiday device 122.

ID 142D utgör del av periferianordningen 124.ID 142D forms part of the peripheral device 124.

När servern 102 är i funktion initierar den proces- serna 102A som resultat av programkod 108 som finns på lagringsplatsen 104. Dessa processer sammanställer och sänder ett paket 110 med en grupp-ID (se fig 3) över nätverket 100. Var och en av flertillståndschipen 140A-D realiserar kernel BIOS processer 144A-D (se fig 1A) 122 och 124. vilka utgör del av chipens för blivande periferianordningar 120A-B, Dessa minimala startkodsprocesser, 14OA-D inledande konfigurering, förmår dessa chip att acceptera paketet från nätverket 100 med en grupp-ID som motsvarar deras egen grupp-ID. Var och en av flertill- ståndschipen tar sålunda emot och accepterar ett paket med en enda grupp-ID för behandling. Alternativt kan det finnas en grupp-ID för chip anslutna till skrivare, en Även i denna annan för chip anslutna till kameror, osv. 10 15 20 25 30 (AJ (IT 521 505 7 utföringsform har flertillståndschipet i en kamera samma grupp-ID som en annan. I en alternativ utföringsform av uppfinningen kan det inledande paketet 110 sändas ut över nätverket med en adress som indikerar att alla periferi- anordningar skall acceptera paketet.When the server 102 is operational, it initiates processes 102A as a result of program code 108 located at the storage location 104. These processes compile and send a packet 110 with a group ID (see Fig. 3) over the network 100. Each of the multi-state chips 140A-D implements kernel BIOS processes 144A-D (see Fig. 1A) 122 and 124. which form part of the chip for future peripheral devices 120A-B. These minimal start code processes, 14OA-D initial configuration, enable these chips to accept the packet from the network 100. with a group ID that corresponds to their own group ID. Each of the multi-state chips thus receives and accepts a packet with a single group ID for processing. Alternatively, there may be a group ID for chips connected to printers, one also in this other for chips connected to cameras, etc. In the embodiment, the multi-state chip in one camera has the same group ID as another. In an alternative embodiment of the invention, the initial packet 110 may be transmitted over the network with an address indicating that all peripherals devices must accept the package.

Nästa funktionsfas visas i fig 1B. I fig IB har var och en av flertillståndschipen 140 A-D tagit emot det inledande paketet 110 med en grupp-ID i destinations- adressen. I detta paket orsakar tillfällig kod, som sänts av servern i det inledande paketet, flertillstàndschipet 140A-D att initiera tillfälliga processer 16OA-D. Chipen tar fram sina identifikationer och identifikationerna hos den periferianordning som de är kopplade till. Som svar sänder flertillståndschipet svarspaket 15OA-D till ser- vern 102. I en utföringsform av uppfinningen kan dessa paket innehålla en källadress, vilket är en gruppadress, och nyttolast, vilken innehåller en unik identifierare som alstrats av varje chip 14OA-D för att göra det möj- ligt för servern att särskilja ett paket från ett annat.The next functional phase is shown in Fig. 1B. In Fig. 1B, each of the multi-state chips 140 A-D has received the initial packet 110 with a group ID in the destination address. In this packet, temporary code, sent by the server in the initial packet, causes the multi-state chip 140A-D to initiate temporary processes 16OA-D. The chip produces its identifications and the identifications of the peripheral device to which they are connected. In response, the multi-state chip sends response packets 15OA-D to server 102. In one embodiment of the invention, these packets may contain a source address, which is a group address, and payload, which contains a unique identifier generated by each chip 14OA-D to make it is possible for the server to distinguish one packet from another.

Denna identifierare är inte en unik destinationsadress, vilket krävs i tidigare periferianordningar. Istället för att konfigurera var och en av flertillstàndschipen 140A-D med en unik nätverks-ID i fabriken kommer nämnda unika nätverks-ID att tilldelas i efterföljande processer. I en utföringsform av uppfinningen genererar var och en av chipen ett slumpmässigt nummer och placerar detta i svarspaketets nyttolastsdel, vilket sänds till servern.This identifier is not a unique destination address, as required in previous peripherals. Instead of configuring each of the multi-state chips 140A-D with a unique network ID in the factory, said unique network ID will be assigned in subsequent processes. In one embodiment of the invention, each of the chips generates a random number and places this in the payload portion of the response packet, which is sent to the server.

Därutöver kan svarspaketet som sänds av var och en av flertillståndschipen innehålla nämnda chip-ID och nämnda anordnings-ID.In addition, the response packet transmitted by each of the multi-state chips may include said chip ID and said device ID.

Genom att tillverka flertillståndschipen och perife- rianordningarna utan varken applikationskod, operativsys- tem eller ens en unik nätverks-ID åstadkommes ett antal fördelar. För det första kan nätverks-ID tilldelas dyna- rn . 4.By manufacturing the multi-state chips and the peripherals without either an application code, operating system or even a unique network ID, a number of advantages are achieved. First, the network ID can be assigned to the dynamic. 4.

Hiskt i processer som kommer att beskrivas senare. För det andra kan de senaste versionerna av OS och/eller applikationskod laddas ned till anordningen vid tiden för 10 15 20 25 30 (U (Il 521 305 8 den verkliga konfigureringen på nätverket. För det tredje kan kostnader för periferianordningar minskas genom att de realiseras med ett chip som både har förmågan att växelverka med nätverk och att fungera som den grundläg- gande processorenheten för anordningen. När servern 102 tar emot paketet/paketen 15OA-D från var och en av fler- tillstàndschipen 14OA-D startar den uppsökningsprocess 102B i filen 106.Hesitant in processes that will be described later. Second, the latest versions of the OS and / or application code can be downloaded to the device at the time of the actual configuration on the network. Third, the cost of peripheral devices can be reduced by realizing them. When the server 102 receives the packet (s) 15OA-D from each of the multi-state chips 14OA-D, it starts a retrieval process 102B. file 106.

I fig 1C visas nästa fas som är funktionens nedladd- ningsfas. Efter att servern har tagit emot paketen från en eller flera av periferianordningarna, såsom visats ovan i fig 1B, realiserar servern processerna lO2C. Pro- cesserna lO2C använder chip och anordningsidentifierarna i de inkommande paketen för att i fil 106 hitta lämpligt OS eller applikationskod för flertillståndschipet och applikationskod för periferianordningen i vilket varje flertillståndschip är inbyggt. Servern använder sedan samma grupp-ID som destinationsadress och sänder paketen 17OA-D. servern lägga till en utsändningsadress som en destina- I en alternativ utföringsform av uppfinningen kan tionsadress.Fig. 1C shows the next phase, which is the download phase of the function. After the server has received the packets from one or more of the peripheral devices, as shown above in Fig. 1B, the server realizes the processes 10C. Processes 102C use the chip and device identifiers in the incoming packets to find in file 106 the appropriate OS or application code for the multi-state chip and application code for the peripheral device in which each multi-state chip is embedded. The server then uses the same group ID as the destination address and sends packets 17OA-D. In an alternative embodiment of the invention, the server may add a broadcast address as a destination address.

I båda utföringsformerna innehåller varje pakets nyttolast slumptalsnummersekvensen som tagits emot i det inkommande paketet och uppstarts- och applikationskoden för motsvarande anordning. I en utföringsform av uppfin- ningen kan var och en av paketen även innehålla motsva- rande chip- och anordningsidentifierare.In both embodiments, each payload of the packet contains the random number sequence received in the incoming packet and the start-up and application code of the corresponding device. In one embodiment of the invention, each of the packages may also contain corresponding chip and device identifiers.

Var och en av flertillståndschipen 14OA-D hos var och en av periferianordningarna tar hand om varje grupp- paket men utnyttjar endast nämnda OS och/eller applika- tionskod från det paket som innehåller ett slumpmässigt nummer, vilket motsvarar det slumpmässiga nummer som genererats av det specifika flertillståndschipet. På så sätt hanterar var och en av periferianordningarna endast sitt eget unika paket även om de i detta skedet saknar en unik nätverksadress. Därutöver innehåller nyttolasten i varje unikt paket från servern en unik nätverksadress som 10 15 20 25 30 u.) LH 521 305 9 tilldelats av servern för efterföljande användning av periferianordningen.Each of the multi-state chips 14OA-D of each of the peripheral devices handles each group packet but uses only said OS and / or application code from the packet containing a random number, which corresponds to the random number generated by the specific multi-state chip. In this way, each of the peripheral devices only handles its own unique packet, even if at this stage it lacks a unique network address. In addition, the payload contains in each unique packet from the server a unique network address assigned by the server for subsequent use of the peripheral device.

Fig 1D visar den slutliga funktionsfasen. Vid denna tidpunkt har varje flertillståndschip en unik nätverks- adress. Flertillståndschipet har därtill börjat att fungera i sin roll som integrerad processorenhet för komponenterna i var och en av periferianordningarna.Fig. 1D shows the final operating phase. At this time, each multi-state chip has a unique network address. In addition, the multi-state chip has begun to function in its role as an integrated processor unit for the components of each of the peripheral devices.

Kortläsaren 124, kan nu läsa kort 114. 172, Kamerorna 12OA-B, som realiserar processerna 174, Skrivaren 122, som realiserar processerna kan ta emot utskriftsarbete över nätverket 100. som realiserar processerna 176A-B, kan fotografera bilder och sända dessa över nätverket. Denna senare funktion ástadkommes av nämnda anordningsspecifika OS och/eller applikationskod, som laddats ned i fig 1C från servern 102.The card reader 124, can now read cards 114. 172, the cameras 12OA-B, which realize the processes 174, the printer 122, which realizes the processes can receive print work over the network 100. which realizes the processes 176A-B, can take pictures and send these over the network . This latter function is accomplished by said device-specific OS and / or application code, which is downloaded in Fig. 1C from the server 102.

Fig 2 är ett hàrdvarublockschema över flertill- ståndschipet 140A och en periferianordning 120A 1A-D). processorenhet (se fig Flertillståndschipet 140A innefattar en central (CPU) 200, ett lokalt minne 202, ett cacheminne 204, en styrenhet för direkta minnesàtkomster (DMA) 206, fertar 210A-B och en valfri strömställare 212. en minnesstyrenhet 208, adress- och databuf- Cachemin- net innefattar en cachestyrenhet 248 och ett cacheminne 250. 120A, lingsanordningsstyrenhet Periferianordningen, i detta fallet en webbkamera innefattar ett huvudminne 220, (CCD) 222, en anordnings-ID 120, en laddningskopp- ett arrangemang 224 av CCD och lins, ett lättflyktigt minne 226 och en extern port 230 för anslutning av chipet till nätverket.Fig. 2 is a hardware block diagram of the multi-state chip 140A and a peripheral device 120A (1A-D). processor unit (see Fig. Multi-state chip 140A includes a central (CPU) 200, a local memory 202, a cache 204, a direct memory access (DMA) controller 206, ferries 210A-B, and an optional switch 212. a memory controller 208, address and The data buffer cache memory includes a cache controller 248 and a cache memory 250. 120A, device controller The peripheral device, in this case a webcam, comprises a main memory 220, (CCD) 222, a device ID 120, a charge cup arrangement 224 of CCD and lens , a volatile memory 226 and an external port 230 for connecting the chip to the network.

Flertillstàndschipet 140A innefattar lokala data- och adressbussar 214-216 och en styrbuss 218. Den lokala databussen 214 ansluter nämnda CPU 200 till det lokala DMA-styrenheten 206 och Den lokala adressbussen 216 ansluter minnet 202, cacheminnet 204, databufferten 210B.The multi-state chip 140A includes local data and address buses 214-216 and a control bus 218. The local data bus 214 connects the CPU 200 to the local DMA controller 206 and the local address bus 216 connects the memory 202, the cache 204, the data buffer 210B.

...'* “An rfin Cl AW. TT 4-4 'I 'I A4- 1 1. ldll 1 k/CU L.,.L.L.L UCL. .L IX u O nesstyrenheten 208. Styrbussen sammankopplar nämnda CPU och det lokala minnet 202, cacheminnet 204 och DMA-styr- 10 15 20 25 30 (A) (Il 521 305 10 enheten 206. Både DMA-styrenheten och minnesstyrenheten är anslutna till adressbufferten 21OA. Den valfria ström- ställaren 212 tillhandahåller en växlingsbar insignal till nämnda CPU 200. nämnda CPU till LAN 100 av uppfinningen utförs nätverksgränssnittsfunktionerna Den externa porten 230 ansluter (se fig 1). I denna utföringsform hos chipet 140A antingen av nämnda CPU 200 eller av en separat på ett chip anordnad mediumåtkomststyrenhet (MAC) och pakethanterare. I en alternativ utföringsform av uppfinningen ansluter den externa porten 230 chipet till ett LAN via ett externt nätverksgränssnitt (visas ej).... '* “An r fi n Cl AW. TT 4-4 'I' I A4- 1 1. ldll 1 k / CU L.,. L.L.L UCL. The control bus 208. The control bus interconnects the CPU and the local memory 202, the cache memory 204 and the DMA control unit 20 (A) (Il 521 305 10 the unit 206. Both the DMA control unit and the memory control unit are connected to The optional switch 212 provides an interchangeable input signal to the CPU 200. The CPU to the LAN 100 of the invention performs the network interface functions The external port 230 connects (see Fig. 1) In this embodiment of the chip 140A either of the CPU 200 or In an alternative embodiment of the invention, the external port 230 connects the chip to a LAN via an external network interface (not shown).

Periferianordningen och chipet är sammankopplade via en gränssnittsport 258 innefattande adress-, data- och styrsignalledningar.The peripheral device and the chip are interconnected via an interface port 258 including address, data and control signal lines.

I periferianordningen länkar en systembuss 228 samman huvudminnet 220, nämnda periferianordnings-ID 130, det lättflyktiga minnet 226 och CCD-styrenheten 222. CCD- styrenheten är ansluten till det kombinerade arrange- manget 223 av CCD och lins. Flertillståndschipet och periferianordningen kopplas samman medelst adress- och dataanslutningar från adress- respektive databuffertarna 210A-B. En ytterligare anslutning åstadkommes av styrbus- sen 218, styrenheten 206. vilken sammanlänkar CCD-styrenheten 222 med DMA- Inuti flertillståndschipet 140A finns en flertillstàndschipidentifierare 142A. I en utföringsform av uppfinningen är nämnda chip-ID tillverkad såsom ett endast läsbart register, vilket är en del av chipets CPU 200. I en annan utföringsform kan nämnda chip-ID vara lagrad i det lokala minnet 202. Nämnda chipidentifierare, liksom anordningsidentifieraren 130, används för att för servern 102 identifiera tillverknings- och/eller modell- numret hos flertillstàndschipet och anordningen. Identi- fieraren behöver med andra ord inte vara unik för anord- ningen, utan snarare for en grupp av anordningar med ett ' ' _ ïn/ '|'| A11 gemensamt tillverknings ocn,eiier moueiinummer.In the peripheral device, a system bus 228 links the main memory 220, the peripheral device ID 130, the volatile memory 226 and the CCD controller 222. The CCD controller is connected to the combined arrangement 223 of CCD and lens. The multi-state chip and the peripheral device are connected by means of address and data connections from the address and data buffers 210A-B, respectively. An additional connection is provided by the control bus 218, the control unit 206. which links the CCD control unit 222 to the DMA. Inside the multi-state chip 140A is a multi-state chip identifier 142A. In one embodiment of the invention, said chip ID is manufactured as a read-only register, which is part of the chip's CPU 200. In another embodiment, said chip ID may be stored in the local memory 202. Said chip identifier, as well as the device identifier 130, is used to identify for the server 102 the manufacturing and / or model number of the multi-state chip and the device. In other words, the identifier need not be unique to the device, but rather to a group of devices with a '' _ ïn / '|' | A11 joint manufacturing ocn, eiier moueiinummer.

Det finns tre faser hos initieringen av flertill- ståndschipet och periferianordningen. Dessa faser mot- l0 15 20 25 30 Lu Cfl ll l50A-D och l7OA-D, Föreliggande uppfinning åstadkommer en kombinerad svarar paketen 110, 1A-D. anordning som kan fjärrkonfigureras över ett nätverk från som visas i fig en startkonfiguration utan att anordningen har en unik nätverksadress eller ett operativsystem. I den första funktionsfasen innehåller endast det lokala minnet en gruppidentifierare 242 och kernel BIOS l44A. Nämnda kernel BIOS l44A har förmågan att konfigurera den lokala bussen, att bestämma huruvida den är i ett initierings- tillstånd eller ett normaltillstånd och att svara på ett paket llO från servern 102, vilket paket har en grupp- identifierare snarare än en unik nätverks-ID som destina- (se fig 1A).There are three phases in the initialization of the multi-state chip and the peripheral device. These phases counter Lu 15Al 150A-D and 107A-D. The present invention provides a combined answer packets 110, 1A-D. device that can be remotely configured over a network from which is shown in Fig. a startup configuration without the device having a unique network address or an operating system. In the first operating phase, only the local memory contains a group identifier 242 and kernel BIOS l44A. The kernel BIOS 144A has the ability to configure the local bus, to determine whether it is in an initialization state or a normal state, and to respond to a packet 110 from the server 102, which packet has a group identifier rather than a unique network ID. as destina- (see Fig. 1A).

Ett ytterligare särdrag hos nämnda kernel BIOS är tionsadress att den har förmågan att göra cachestyrenheten 248 overk- sam för att möjliggöra den tillfälliga användningen av cacheminnet som ett normalt lättflyktigt minne. I normal- tillståndet tionen att kontrollera träff/miss, kommer chipets cacheundersystem att ha funk- "dirty" bitar, mm. I de nämnda BIOS och tillfälliga funktionsfaserna fungerar (RAM) att träff/miss-kontrollerna mm sätts ur funktion. cacheminnet såsom ett "normalt" direktminne genom Nämnda RAM hos cacheminnet mappas istället in vid en fast adress. I nämnda BIOS-funktionsfas, visad i fig lA, sänder servern 102 ut ett paket llO med en generisk gruppidentifierare som destinationsadress. Detta paket kommer att behandlas av vilken som helst och alla av flertillståndschipen l40A-D, under förutsättning att var och en av dessa chip har en som visas i fig lA. Endast gruppidentifierare 242, vilken motsvarar gruppidentifie- i det lokala minnet 202. emot plockas nyttolastdelen ut och den tillfälliga koden 252 laddas. Den tillfälliga koden tillhandahåller förmåga raren i paketet, När paketet tas att generera slumpmässiga nummer, identifieringsförmàga, pakctsändningsförmåga och paketmottagningsförmåga.A further feature of said kernel BIOS is that it has the ability to render the cache controller 248 inoperable to enable the temporary use of the cache memory as a normally volatile memory. In the normal state to control hit / miss, the chip's cache subsystem will have functional "dirty" bits, etc. In the mentioned BIOS and temporary function phases (RAM) it works that the hit / miss controls etc. are deactivated. the cache memory as a "normal" direct memory through said RAM of the cache memory is instead mapped to a fixed address. In the BIOS operation phase, shown in Fig. 1A, the server 102 sends out a packet 1010 with a generic group identifier as the destination address. This packet will be processed by any and all of the multi-state chips 140A-D, provided that each of these chips has one as shown in Fig. 1A. Only group identifier 242, which corresponds to group identifier in the local memory 202. against, the payload part is picked out and the temporary code 252 is loaded. The temporary code provides the capability of the packet, When the packet is taken to generate random numbers, identification capability, packet transmission capability and packet reception capability.

Därefter börjar den andra eller den tillfälliga funktionsfasen i flertillståndschipet. Denna funktionsfas 10 15 20 25 30 (A) (Il 521 505 12 Visas i fig 1B-C. I den tillfälliga fasen exekveras den tillfälliga koden 252. Denna kod tillhandahåller ett flertal funktionaliteter. För det första åstadkommer den att flertillståndschipet sänder ett svarspaket till servern med en nyttolast som innefattar ett slumpmässigt nummer, vilket genererats av nämnda CPU 200 vid exekve- ringstidpunkten, vilken nyttolast även innefattar chip- 130. uppfinningen kan detta slumpmässiga nummer t ex motsvara och anordningsmodell-ID l42A, I en utföringsform av tiden från påslagning eller återställning. Numret skall ha så många bitar att risken att två periferianordningar genererar samma nummer skall bli försumbar. Även om flera enheter eller periferianordningar startas upp vid samma tidpunkt kommer de att generera olika nummer eftersom endast en enhet åt gången kan sända ett paket över nät- verket. Genom att placera detta nummer i paketet och temporärt lagra numret i cacheminnet 250 förmår flertill- ståndschipet att identifiera ett från servern återvändan- de paket innehållande det slumpmässiga numret i sin nyttolast genom att helt enkelt jämföra de två.Thereafter, the second or temporary operation phase of the multi-state chip begins. This functional phase is shown in Figs. 1B-C. In the temporary phase, the temporary code 252 is executed. This code provides a plurality of functionalities. First, it causes the multi-state chip to send a response packet to the server with a payload comprising a random number generated by the CPU 200 at the time of execution, which payload also includes the chip 130. Invention, this random number may, for example, correspond to device model ID 1442A, In an embodiment of the time from on The number should have so many bits that the risk of two peripheral devices generating the same number will be negligible.Even if several devices or peripheral devices are started up at the same time, they will generate different numbers because only one device at a time can send a packet over the network By placing this number in the packet and temporarily storing the number in the cache memory 250, more the stand-alone chip to identify a packet returning from the server containing the random number in its payload by simply comparing the two.

Den tredje eller chipfunktionsfasen visas i fig 1D.The third or chip function phase is shown in Fig. 1D.

I denna fas laddas lagrings- och OS/applikationskoden 254 ned från servern till flertillståndschipet och lagras i cacheminnet 250. Genom att använda lagringskoden överför funktionsprocesserna operativsystemet till huvudminnet.In this phase, the storage and OS / application code 254 are downloaded from the server to the multi-state chip and stored in the cache 250. By using the storage code, the function processes transfer the operating system to the main memory.

Med anordningen konfigurerad på detta sätt fungerar fler- tillståndschipet såsom central processorenhet för webb- (se fig 1D).With the device configured in this way, the multi-state chip functions as a central processing unit for web (see Fig. 1D).

Cacheminnet återgår till sin normala funktion med att kameran som exekverar processerna 176A lagra kopior av nyligen använda sektioner av huvudminnet 220 för åtkomst av nämnda CPU 200.The cache returns to its normal function with the camera executing the processes 176A storing copies of recently used sections of the main memory 220 for access by the CPU 200.

Fig 3 och 4A-C visar en utföringsform av paketproto- (LAN) 100 (se fig 1A-D).Figs. 3 and 4A-C show an embodiment of packet protocol (LAN) 100 (see Figs. 1A-D).

Information överförd över nätverk överförs med hjälp av kollen på det lokala nätverket /Tflv-finfiå “fw \VVJ.G.tJkJL1L\j IJ.\J (header) Huvudena innehåller information specifik för ett av de " ' ~\ YY-.v-ÅÅ Al-A forpackningsprotokoll ocois,. varje paket innehåller ett flertal huvuden och en nyttolast. 10 15 20 25 30 Lu (TI 521 305 13 därtill svarande sju lagerna i OSI-modellen. Huvuden och nyttolast på ett LAN kallas ett paket. Huvuden och nytto- last på ett ISDN-nätverk (Integrated Service Digital Network) verkstrafik på antingen ett LAN- eller ett ISDN-nätverk kallas för ramar. Till nyligen innefattade nät- paket/ramar med upp till sju huvuden och en nyttolast.Information transmitted over networks is transmitted using the check on the local network / T fl v- fi n fi å “fw \ VVJ.G.tJkJL1L \ j IJ. \ J (header) The headers contain information specific to one of the" '~ \ YY-.v -ÅÅ Al-A packaging protocol ocois, each package contains a plurality of heads and a payload 10 15 20 25 30 Lu (TI 521 305 13 corresponding seven layers in the OSI model. Heads and payload on a LAN are called a package and payloads on an Integrated Service Digital Network (ISDN) network traffic on either a LAN or an ISDN network are called frames.

Huvudena innehåller information som är specifik för var och en av de sju lagerna i OSI-modellen. Nyttolasten innehåller ljudet, bilderna eller datan som överförs. På nämnda LAN är huvudenas och nyttolastens struktur speci- ficerad av respektive IEEE LAN-standard, såsom 802.3, 802.5, 802.x. På ISDN-sidan specificeras huvudenas och nyttolas- ternas struktur av punkt till punkt protokollet (PPP) eller HDLC-protokollen (High-Level Data Link Control) osv. Dessa standarder hänvisas hädanefter till som utfärdade av organisationen för internationell standard (ISO).The headers contain information that is specific to each of the seven layers in the OSI model. The payload contains the sound, images or data being transferred. On said LAN, the structure of the heads and payload is specified by the respective IEEE LAN standard, such as 802.3, 802.5, 802.x. The ISDN page specifies the structure of the headers and payloads of the point-to-point protocol (PPP) or the HDLC protocol (High-Level Data Link Control) and so on. These standards are hereinafter referred to as issued by the International Standards Organization (ISO).

Fig 3 visar en detaljerad vy över en av de möjliga pakettyperna 320 som kan överföras över nämnda LAN 100 (se fig 1A-D). Detaljerna hos "förpackningarna" för paket 320 visas. Specifikt överensstämmer protokollet för detta 802.3-paketet Inledningen är sju byte lång Inled- ningen tillåter mottagarens klocka att synkronisera med paket med IEEE 802.3-specifikationen. börjar med en inledning 300. där varje byte innehåller bitmönstret 10101010. sändaren. Därefter kommer inledningen av RAM-flaggan 302, vilken innehåller den binära sekvensen 10101011. Därefter finns destinationsadressfältet 304, vilket är sex byte långt, följt av ett källadressfält 306, vilket också är sex byte långt. Källadressfältet 306 identifierar parten som sänder paketet medan destinationsadressfältet 304 identifierar den part paketet sänds till. Därefter följer längdfältet 308. Längdfältet, dikerar hur många byte som finns i data-/nyttolastfältet som är två byte långt, in- A1- fwI-višfiknv- upu ouiat, CJ. ' 42 ° ^4-4- Slg i än cpu.Fig. 3 shows a detailed view of one of the possible packet types 320 that can be transmitted over the LAN 100 (see Figs. 1A-D). The details of the "packages" for package 320 are shown. Specifically, the protocol for this 802.3 packet conforms The introduction is seven bytes long The introduction allows the receiver's clock to synchronize with packets with the IEEE 802.3 specification. begins with an introduction 300. where each byte contains the bit pattern 10101010. transmitter. Then comes the introduction of the RAM flag 302, which contains the binary sequence 10101011. Then there is the destination address field 304, which is six bytes long, followed by a source address field 306, which is also six bytes long. The source address field 306 identifies the party sending the packet while the destination address field 304 identifies the party to which the packet is sent. Then follows the length field 308. The length field, indicates how many bytes there are in the data / payload field that are two bytes long, in- A1- fwI-viš fi knv- upu ouiat, CJ. '42 ° ^ 4-4- Slg i än cpu.

JwJ-...nm 4-1 1 w. .AJ-i ..._11 11 ._i_i_ i_ _-_- 1ll.1_ l_Ll U l pd. UULJ. L,.LJ..L CLK. LUCIÅL* H mum på 1500 byte. Huvudena 310-314 innehåller nätverks- lagrets, transportlagrets respektive sessionslagrets 10 15 20 25 30 LU LD 521 305 14 nyttolastfält 316. Nyttolasten kan innehålla olika typer av information innefattande uppsättningskommando för modemsession, sessionsparametrar eller data. Data kan vara ljud, video eller text. Omedelbart efter nyttolasten följer kontrollsummefältet 318.JwJ -... nm 4-1 1 w. .AJ-i ..._ 11 11 ._i_i_ i_ _-_- 1ll.1_ l_Ll U l pd. UULJ. L, .LJ..L CLK. LUCIÅL * H mum of 1500 bytes. Heads 310-314 contain the payload field 316 of the network layer, the transport layer and the session layer 10 15 20 25 30 LU LD 521 305 14, respectively. Data can be audio, video or text. Immediately after the payload follows the checksum field 318.

Fig 4A-B visar paketen 110, 150A, 17OA som sänts mellan servern och periferianordningarna, såsom beskri- vits ovan i fig 1A-D.Figures 4A-B show the packets 110, 150A, 170A transmitted between the server and the peripheral devices, as described above in Figures 1A-D.

Fig 4A visar paketet 110 som inledningsvis sänts från servern till alla periferianordningar med en grupp- identifierare motsvarande nämnda grupp-ID i paketets (se fig 1A). tar i sitt destinationsadressfält 304 en gruppidentifie- destinationsadressfält Detta paket innefat- vilken är samma för var och en av flertillstånds- Paketets rare, chipen 140A-D källadressfältsdel 306 innehåller serverns 102 nätverks- adress. Nyttolastfältet 316A innefattar tillfällig kod 252 ståndschipet med förmågan att erhålla både sin periferi- (se hänvisning 242 i fig 2). (se fig 2). Denna kod förser det mottagande flertill- anordningsidentifierare och chipidentifierare. Därutöver gör koden det möjligt för chipet att generera ett slump- mässigt nummer och att sända ett svarspaket till servern.Fig. 4A shows the packet 110 initially sent from the server to all peripherals with a group identifier corresponding to said group ID of the packet (see Fig. 1A). takes in its destination address field 304 a group identifier destination address field This packet includes- which is the same for each of the multi-state Packet rare, chip 140A-D source address field portion 306 contains the network address of the server 102. The payload field 316A includes the temporary code 252 of the stand ship with the ability to obtain both its peripheral (see reference 242 in Fig. 2). (see Fig. 2). This code provides the receiving multi-device identifier and chip identifier. In addition, the code enables the chip to generate a random number and to send a response packet to the server.

Vidare gör koden det möjligt för chipet att ta emot och hantera ett återsänt paket, efter vilket koden raderas eller skrivs över av normala cacheminnesfunktioner.Furthermore, the code enables the chip to receive and manage a returned packet, after which the code is deleted or overwritten by normal cache memory functions.

Fig 4B visar paketet 150A som sänts från någon periferianordning som svar på serverns inledande paket 110. Genom att utnyttja den tillfälliga koden har fler- tillståndschipet placerat ett slumptalsnummer 420, chip- modellidentifieraren 142A liksom kameraidentifieraren 130 i paketets nyttolastfält 316B adressfältet 304 är serverns 102 adress.Fig. 4B shows the packet 150A sent from any peripheral device in response to the server's initial packet 110. Using the temporary code, the multi-state chip has placed a random number 420, the chip model identifier 142A as well as the camera identifier 130 in the packet payload field 316B is the address 102 of the server .

Destinations- Flertillstånds- chipet erhåller denna adress från källadressfältet 306 i (se fig 2). det inledande inkommande paketet 110 från nätverket 100 lf~^ CÅ/v /17\\ (oc 1.4.9 än).The destination multi-state chip obtains this address from the source address field 306 i (see Fig. 2). the initial incoming packet 110 from the network 100 lf ~ ^ CÅ / v / 17 \\ (oc 1.4.9 than).

Fig 4C visar det andra paketet 170A som sänts av servern 102 till periferianordningarna (se fig 1C). Detta 10 15 20 25 30 LA.) (_11 521 505 15 paket har gruppidentifieraren som destinationsadress.Fig. 4C shows the second packet 170A sent by the server 102 to the peripheral devices (see Fig. 1C). This packet has the group identifier as the destination address.

Detta paket kommer att tas emot och hanteras av alla flertillståndschipen. Paketets källadress är serverns 102 adress. I nyttolastfältet 316C har servern paketerat det slumpmässiga numret 420 som inledningsvis genererats av flertillståndschipet och tagits emot av servern i paket 150A. Detta nummer är unikt för varje chip på grund av orsaker som diskuterats ovan i fig 2 och kommer att an- vändas av chipet för att urskilja det paket av paketen 170A-D som innehåller samma slumpmässiga nummer. I en utföringsform av uppfinningen kan även nämnda chipmodell- ID 142A och nämnda kamera-ID 130 läggas in i nyttolasten från servern till chipet. Nästa del av nyttolastfältet 316C innehåller en unik nätverksadress 440, vilken ser- vern tilldelat den specifika periferianordningen som genererat det slumpmässiga numret. Periferiadresser är globala och administreras centralt av servern för att säkerställa att varje adress är unik. Denna unika nät- verksadress kommer att användas av periferianordningen och flertillståndschipet i efterföljande nätverkskommu- nikationer. Sålunda kommer inte paketen i några efter- följande kommunikationer med nätverket att sändas till periferianordningen baserat på en grupp, utan kommer istället att sändas baserat på ett mål, eftersom LAN- paketets destinationsadressfält 304 kommer att innehålla en unik nätverksadress. Nästa del 442 av nyttolastfältet 316C innehåller två kodsegment 254 och 450. Det första av dessa kodsegment är operativsystemet och/eller applika- tionen för denna specifika periferianordning som nät- Det andra av dessa kodsegment, verkskonfigureras. "lag- rings"-koden 450, innehåller koden som krävs för att skriva nämnda OS 254 och dess bild till huvudminnet 220 och till det lättflyktiga minnet 226 (se fig 2) Fig 5 visar en datastruktur hos serverns 102 lag- filer D" ringsplats 104 (se fig 1A-D). En programkod 108 oc 106 av anordningsoperativsystem i tillfällig kod visas.This package will be received and handled by all multi-state chips. The source address of the packet is the address of the server 102. In the payload field 316C, the server has packaged the random number 420 which was initially generated by the multi-state chip and received by the server in packet 150A. This number is unique for each chip due to causes discussed above in Fig. 2 and will be used by the chip to distinguish the packet of packets 170A-D which contain the same random number. In one embodiment of the invention, said chip model ID 142A and said camera ID 130 may also be loaded into the payload from the server to the chip. The next part of the payload field 316C contains a unique network address 440, which the server assigned to the specific peripheral device that generated the random number. Peripheral addresses are global and are managed centrally by the server to ensure that each address is unique. This unique network address will be used by the peripheral device and the multi-state chip in subsequent network communications. Thus, the packets in any subsequent communications with the network will not be sent to the peripheral device based on a group, but will instead be sent based on a target, since the destination address field 304 of the LAN packet will contain a unique network address. The next part 442 of the payload field 316C contains two code segments 254 and 450. The first of these code segments is the operating system and / or the application for this specific peripheral device as network The second of these code segments is factory configured. "storage" code 450, contains the code required to write the OS 254 and its image to the main memory 220 and to the volatile memory 226 (see Fig. 2) Fig. 5 shows a data structure of the server 102 layer files 104 (see Figs. 1A-D) A program code 108 and 106 of device operating system in temporary code is shown.

Mer detaljerat innefattar databasen för anordningsopera- 10 15 20 25 30 u.) LT' 521 305 16 tivsystem i tillfällig kod ett flertal registreringar för var och en av periferianordningarna 120A-B, 122, 124, liksom alla flertillståndschipen 140A-D. Det kan även finnas registreringar för varje modell och versionsnum- mer. Varje registrering innefattar ett typidentifierings- fält 500, ett produkt-ID-fält 502, ett adressfält 504, ett fält för tillfällig kod 506 och ett fält för opera- tivsystemskod 508. I det visade exemplet innefattar webb- kamerornas 120A-B registrering i produkt-ID-fältet 502 nämnda produkt-ID 130A-B och innehåller både operativ- systemet för kameran 254 liksom lagringskoden 450 som tillåter nämnda CPU 200 att programmera huvudminnet 220 (se fig 2). Registret för flertillståndschipen 140A-D innefattar i fältet för tillfällig kod 506 en tillfällig kod 252 periferianordning tilldelar den anordningen en unik nät- (se fig 2). När servern laddar ned kod till varje verks-ID, vilken inledningsvis sänds till anordningen i nyttolasten hos ett paket med en gruppadress som destina- tionsadress. Denna adress kommer att användas av perife- rianordningen och därtill hörande flertillståndschip i efterföljande nätverkskommunikationer. Servern förutser detta och registrerar i nätverksnamnsutrymmet och i filen 106 adressen den har tilldelat anordningen. Noteringen "1234" i adressfältet 440 i registreringen för periferi- anordningen 120A visas i denna registrerings destina- tionsadressfält 440. Det bör finnas en separat registre- ring och en separat nätverksadress för periferianordning l20B.In more detail, the device operating system database includes a plurality of recordings for each of the peripheral devices 120A-B, 122, 124, as well as all the multi-state chips 140A-D. There may also be registrations for each model and version number. Each registration includes a type identification field 500, a product ID field 502, an address field 504, a temporary code field 506 and an operating system code field 508. In the example shown, the webcams 120A-B include registration in product The field ID 502 is the product ID 130A-B and contains both the operating system of the camera 254 as well as the storage code 450 which allows the CPU 200 to program the main memory 220 (see Fig. 2). The register of the multi-state chip 140A-D includes in the field of temporary code 506 a temporary code 252 peripheral device assigns to that device a unique network (see Fig. 2). When the server downloads code for each plant ID, which is initially sent to the device in the payload of a packet with a group address as the destination address. This address will be used by the peripheral device and associated multi-state chips in subsequent network communications. The server anticipates this and registers in the network namespace and in the file 106 the address it has assigned to the device. The entry "1234" in the address field 440 in the registration for the peripheral device 120A is shown in the destination address field 440 of this registration. There should be a separate registration and a separate network address for the peripheral device 120B.

Fig 6 visar processerna 102A som är knutna till serverns 102 arbete såsom beskrivits ovan i fig 1A-D.Fig. 6 shows the processes 102A associated with the operation of the server 102 as described above in Figs. 1A-D.

Serverns hantering 600 börjar med process 602 i vilken tillfällig kod 252 (se fig 2, 4) erhålls från filen 106 i lagringsplatsen 104 (se fig 1A-D). sedan till process 604. I process 604 sammanställs pake- Kontrollen överlämnas tet 110 av servern med en destiaationsadress motsvarande nämnda grupp-ID för periferianordningarna (se fig 4A, 1A). Kontrollen överlämnas sedan till beslutsprocessen 10 15 20 25 30 35 521 305 17 606. I beslutsprocessen 606 svarar servern på något av paketen 150A-D från en eller flera av flertillståndschi- pen 14OA-B (se fig lB). Kontrollen överlämnas sedan till process 608. I process 608 plockar servern ut det slump- mässiga numret som genererats av flertillståndschipet liksom chip- och anordnings-ID 142A, 130 från nyttolast- fältet 316B (se fig 4B). process 610.Server management 600 begins with process 602 in which temporary code 252 (see Figs. 2, 4) is obtained from file 106 in storage 104 (see Figs. 1A-D). then to process 604. In process 604, packet control is compiled. The control is then handed over to the decision process 10 15 20 25 30 35 521 305 17 606. In the decision process 606, the server responds to any of the packets 150A-D from one or more of the multi-state chips 14OA-B (see Fig. 1B). The control is then handed over to process 608. In process 608, the server picks out the random number generated by the multi-state chip as well as chip and device ID 142A, 130 from the payload field 316B (see Fig. 4B). process 610.

Kontrollen överlämnas sedan till I process 610 går servern till söktabellen i fig 106 för att hitta den till nämnda chip-ID och periferianord- nings-ID, som erhållits i det inkommande paketet i pro- cess 608 som beskrivits ovan, motsvarande registreringen.The control is then handed over to In process 610, the server goes to the search table in Fig. 106 to find it to said chip ID and peripheral device ID obtained in the incoming packet in process 608 described above, corresponding to the registration.

Genom att använda dessa ID lokaliseras registreringarna med motsvarande chip- och periferianordnings-ID i sökta- bellen i fil 106. Från registreringen med motsvarande chip-ID, erhålls t ex den tillfälliga koden 252 (se fig 5). Från registreringen med motsvarande periferianord- nings-ID, t ex 120A/B, erhålls nämnda OS- och/eller app- likationskod och lagringskod, t ex 254, 450. Lagringsko- den används för laddning av nämnda OS- och/eller applika- tionskod för periferianordningen till huvudminnet.By using these IDs, the registrations with the corresponding chip and peripheral device ID are located in the search table in file 106. From the registration with the corresponding chip ID, for example, the temporary code 252 is obtained (see Fig. 5). From the registration with the corresponding peripheral device ID, eg 120A / B, the OS and / or application code and storage code are obtained, eg 254, 450. The storage code is used for charging the OS and / or application code. code for the peripheral device to the main memory.

Kontrollen överlämnas sedan till process 612.The control is then handed over to process 612.

I process 612 genererar servern en unik nätverks- adress för periferianordningen och lägger in denna adress i nyttolastdelen av paketet 170. Denna adress kommer att användas av periferianordningen och därtill hörande fler- tillståndschip i efterföljande nätverkskommunikationer.In process 612, the server generates a unique network address for the peripheral device and enters this address in the payload portion of the packet 170. This address will be used by the peripheral device and associated multi-state chips in subsequent network communications.

Servern förutser detta och registrerar den unika nät- verksadressen den har tilldelat anordningen i nätverks- namnsutrymmet och i filen 106. T ex visas den unika nät- verksadressen "1234" i nätverksadressfältet 440, vilket är en del av periferianordningens 120A registrering.The server anticipates this and registers the unique network address it has assigned to the device in the network name space and in file 106. For example, the unique network address "1234" is displayed in the network address field 440, which is part of the peripheral device 120A registration.

Anordnings-ID och chip-ID särskiljer endast en typ av periferianordning från en annan eller möjligtvis en periferianordnings modellnummer från andra av samma typ, såsom beskrivits ovan. Anordnings-ID och chip-ID sär- skiljer emellertid inte periferianordningar med samma 10 15 20 25 30 (L) (D 521 505 18 modellnummer från varandra. Denna särskiljning uppnås genom den unika nätverksadressen som tilldelas av ser- vern. Servern drar fördel av en märkning med slumpmässiga nummer i paketen till och från servern. Servern håller reda på de mottagna slumpmässiga nummerna i inkommande paket från varje periferianordning och tilldelar anord- ningen en motsvarande nätverksadress. Kontrollen över- lämnas sedan till process 614.Device ID and chip ID distinguish only one type of peripheral device from another or possibly a peripheral device model number from others of the same type, as described above. However, device ID and chip ID do not distinguish peripheral devices with the same model number from each other.This distinction is achieved by the unique network address assigned by the server. a tag with random numbers in the packets to and from the server.The server keeps track of the received random numbers in incoming packets from each peripheral device and assigns the device a corresponding network address.The control is then handed over to process 614.

I process 614 sammanställs en nyttolast liknande den som beskrivits ovan i fig 4C av servern. Denna nyttolast innehåller en generisk grupp-ID, vilket betyder att den kommer att tas emot av alla periferianordningar och inne- håller i sin nyttolast det slumpmässiga numret 220 som togs emot av servern från motsvarande periferianordning.In process 614, a payload similar to that described above in Fig. 4C is compiled by the server. This payload contains a generic group ID, which means that it will be received by all peripheral devices and contains in its payload the random number 220 received by the server from the corresponding peripheral device.

Nyttolasten innehåller även OS- och lagringskod för kon- figurering av anordningen. Nyttolasten innehåller också det slumpmässiga numret som ursprungligen genererades av anordningen. Detta slumpmässiga nummer används av perife- rianordningen för att särskilja dess paket från de andra periferianordningarnas paket som innehåller samma grupp- adress.The payload also contains the Olympic and storage code for configuring the device. The payload also contains the random number originally generated by the device. This random number is used by the peripheral device to distinguish its packets from the packets of the other peripheral devices that contain the same group address.

Kontrollen överförs sedan till process 616, i vilken (se fig lC) till periferianordningen. Kontrollen överlämnas sedan servern sänder paketet över nätverket 100 till process 618, i vilken servern har fullgjort sin funktion avseende konfigurering, detektering och konfi- gurering av periferianordningar. Det är självklart för fackmannen inom området att servern därefter kan fungera som en förvaringsplats eller en databas för periferi- anordningarna.The control is then transferred to process 616, in which (see Fig. 1C) to the peripheral device. The control is then handed over after the server sends the packet over the network 100 to process 618, in which the server has fulfilled its function of configuring, detecting and configuring peripheral devices. It is obvious to the person skilled in the art that the server can then function as a storage place or a database for the peripheral devices.

Fig 7A-B visar en utföringsform av processerna på ett flertillståndschip och därtill hörande periferianord- ning för erhållande av en unik nätverks-ID och ett lämp- ligt operativsystem. BIOS-subrutinen 700 börjar med pro- cess 702, vilkcn uppstår efter att strömmen slås till I process 702 börjar nämnda kernel BIOS l44A sin exekvering (se fig 2). Den lokala bussen och därtill knutna kompo- 10 15 20 25 30 h) (Il 521 305 19 nenter, dvs lokalt minne 202, cacheminne 204, DMA-styr- enhet 206 och minnesstyrenhet 208 aktiveras (se fig 2).Figs. 7A-B show an embodiment of the processes on a multi-state chip and associated peripheral device for obtaining a unique network ID and a suitable operating system. The BIOS subroutine 700 begins with process 702, which occurs after the power is turned on. In process 702, the kernel BIOS 144A begins its execution (see Fig. 2). The local bus and associated components (h) (I 521 305 19 components), i.e. local memory 202, cache memory 204, DMA controller 206 and memory controller 208 are activated (see Fig. 2).

Kontrollen överlämnas sedan till process 704. I process 704 försöker nämnda BIOS att bestämma flertillståndschi- pets tillstånd. I en utföringsform av uppfinningen tittar nämnda BIOS på en specifik adress eller ett stift för att avgöra dess status. I en utföringsform av uppfinningen är stiftet anslutet till den valfria strömställaren 212 (se fig 2), vilken kan utnyttjas för att manuellt försätta flertillståndschipet l40A i antingen normaldriftstill- ståndet eller initieringstillstàndet. I en alternativ utföringsform av uppfinningen är adressen en adress i det lokala minnet som innehåller en bitsekvens för initie- ringstillståndet och en annan för körningstillståndet. om en unik nätverks-ID 244 inte är när- T ex, (se fig 2) varande i det lokala minnet, är nämnda BIOS i initie- ringstillstånd. Kontrollen överlämnas sedan till besluts- processen 706.The control is then handed over to process 704. In process 704, the BIOS attempts to determine the state of the multi-state vessel. In one embodiment of the invention, the BIOS looks at a specific address or pin to determine its status. In one embodiment of the invention, the pin is connected to the optional switch 212 (see Fig. 2), which can be used to manually place the multi-state chip 140A in either the normal operating state or the initialization state. In an alternative embodiment of the invention, the address is an address in the local memory which contains one bit sequence for the initialization state and another for the driving state. if a unique network ID 244 is not present, for example, (see Fig. 2) in the local memory, the BIOS is in initialization state. Control is then handed over to decision-making process 706.

I beslutsprocessen 706 fattas ett beslut avseende vilket tillstånd chipet är i. Det finns ett flertal metoder för att fatta detta beslut. ställaren 212 kan sättas manuellt.In the decision process 706, a decision is made as to what state the chip is in. There are several methods for making this decision. the switch 212 can be set manually.

Den valfria ström- Alternativt kan en fast adress i minnet läsas av nämnda CPU 200 för att bestämma dess värde. I en alternativ utföringsform av uppfinningen arbetar varje flertillståndschip och peri- ferianordning först i initieringstillstånd. Ett icke (t ex PROM, FPGA, säkring mm) på chipet kan lägga på växlingssignalen på lättflyktigt programmerbart organ den valfria strömställaren 212 (se fig 2) om den är i sitt initialläge (t ex att säkringen inte har gått).Optionally, a fixed address in the memory may be read by the CPU 200 to determine its value. In an alternative embodiment of the invention, each multi-state chip and peripheral device operates first in initialization state. A non (eg PROM, FPGA, fuse, etc.) on the chip can apply the changeover signal on volatile programmable means to the optional switch 212 (see Fig. 2) if it is in its initial position (eg that the fuse has not gone).

Efter att chipet initierats och nämnda OS-kod laddats in i huvudminnet 220 (se fig 2), växlas den programmerbara anordningen som styr växlingssignalen och får på så sätt nämnda CPU att starta upp från huvudminnet 220 nästa gång.After the chip is initialized and the OS code is loaded into the main memory 220 (see Fig. 2), the programmable device which controls the changeover signal is switched and thus causes the CPU to boot from the main memory 220 next time.

Om det bestäms att flertillståndschipet är i drifts- tillstàndet, dvs att kontrollen överförs till process 10 15 20 25 30 D.) (II 521 305 20 708. ett cacheminne som arbetar efter vilken cacheminnes- I process 708 sätt cacheminnet 204 att fungera såsom princip som helst innefattande t ex "write-through" eller "copy-back". Kontrollen överlämnas sedan till process 710, periferianordningens i vilken operativsystemet 256 som är lagrat i huvudminne 220 laddas från huvudminnet in i RAM 226 för att periferianordningen I detta till- stånd överförs sedan kontrollen till process 712, i (se fig 2) skall börja fungera såsom en webbkamera. vilket nämnda BIOS fullgör sin funktion. I en alternativ utföringsform av uppfinningen exekveras nämnda OS direkt från huvudminnet utan att laddas in i RAM.If it is determined that the multi-state chip is in the operating state, i.e. that the control is transferred to process 10 15 20 25 30 D.) (II 521 305 20 708. a cache memory which operates according to which cache memory In process 708 the cache memory 204 functions as a principle The control is then handed over to process 710, the peripheral device in which the operating system 256 stored in main memory 220 is loaded from the main memory into RAM 226 for the peripheral device in this state. then the control is transferred to process 712, i (see Fig. 2) is to start functioning as a webcam, which said BIOS fulfills its function.In an alternative embodiment of the invention, said OS is executed directly from the main memory without being loaded into RAM.

I en utföringsform av uppfinningen tjänstgör nämnda CPU 200 inte bara som processor för nätverksgränssnittet, innefattande mediumåtkomststyrfunktioner (MAC), utan även som paketsammanställare och paketisärplockare (packet assembler and disassembler, PAD). I en alternativ utföringsform av uppfinningen fungerar nämnda CPU 200 såsom processor för periferianordningen, t ex webbkameran l2OA. Nämnda CPU 200 skulle i så fall realisera en mängd olika bildhanteringsalgoritmer. I en alternativ utfö- ringsform av uppfinningen fungerar nämnda CPU 200 både som nätverksgränssnittsprocessor innefattande MAC- och PAD-funktioner och även som processor för periferianord- ningen.In one embodiment of the invention, the CPU 200 serves not only as a processor for the network interface, including medium access control functions (MAC), but also as a packet assembler and disassembler (PAD). In an alternative embodiment of the invention, the CPU 200 functions as a processor for the peripheral device, for example the webcam 12A. The CPU 200 would then realize a variety of image management algorithms. In an alternative embodiment of the invention, the CPU 200 functions both as a network interface processor comprising MAC and PAD functions and also as a processor for the peripheral device.

Alternativt, om ett beslut nås i beslutsprocessen 706 avseende att chipet är i initieringstillståndet, överförs kontrollen till process 720. I process 720 avaktiveras cachestyrenheten 248 (se fig 2) och cache- minnet fungerar därför som ett normalt lättflyktigt minne. Kontrollen överlämnas sedan till process 722. I process 722 exekverar nämnda CPU 200 antingen av sig själv eller i kombination med ett dedicerat MAC-chip och PAD-chip enkla nätverksgränssnittsfunktioner som kommer att beskrivas i de följande processerna 724-742. Kontrol- len överlämnas sedan till processen 724. I processen 724 fångar nämnda CPU 200 upp paket från LAN 100. Kontrollen 10 15 20 25 30 LU LD 521 305 21 överlämnas sedan till beslutsprocessen 726. I processen 726 tittar nämnda CPU 200 på destinationsadressfältet 304 (se fig 4A) tinationsadressen är en grupp-ID som motsvarar den grupp- ID 242 som är lagrad i det lokala minnet 202 då överlämnas kontrollen till beslutsprocess 728. Om för att avgöra destinationsadressen. Om des- (se fig 2) destinationsadressen inte motsvarar nämnda grupp-ID för detta flertillståndschip, återgår kontrollen till process 724 för hämtning av det efterföljande paketet.Alternatively, if a decision is reached in the decision process 706 that the chip is in the initialization state, control is transferred to process 720. In process 720, the cache controller 248 is disabled (see Fig. 2) and the cache therefore functions as a normal volatile memory. The control is then handed over to process 722. In process 722, the CPU 200 executes either by itself or in combination with a dedicated MAC chip and PAD chip simple network interface functions which will be described in the following processes 724-742. The control is then handed over to the process 724. In the process 724, the CPU 200 intercepts packets from the LAN 100. The control 10 15 20 25 30 LU LD 521 305 21 is then handed over to the decision process 726. In the process 726, the CPU 200 looks at the destination address field 304 ( see Fig. 4A) the thinning address is a group ID corresponding to the group ID 242 stored in the local memory 202 then the control is handed over to decision process 728. If to determine the destination address. If the (see Fig. 2) destination address does not match the group ID of this multi-state chip, control returns to process 724 to retrieve the subsequent packet.

När kontrollen överlämnats till beslutsprocess 728, avgörs huruvida paketet som tagits emot med en grupp-ID i destinationsadressfältet är av den första pakettypen, t ex paket 110, t ex 170. baseras detta beslut på ett sekvensnummer, eller ett, och fig lC) vilka serverpaketen med tillfällig kod kan särskiljas som sänts av servern eller den andra pakettypen, I en utföringsform av uppfinningen t ex noll 170 (se fig 1A Det finns ett antal olika sätt på som är placerat i paketen 110, âV SGIVGIÛ. från paketen som innehåller slumpmässiga tal, nätverks- adresser och OS- och lagringskod. För det första, om IP- protokollet är implementerat, kommer det vid transport- lagret att finnas ett sekvensnummer i LAN-paketets transportlagerhuvud 312 (se fig 3). Alternativt kan ett sekvensnummer placeras i nyttolasten av servern. Alter- nativt kan nämnda CPU 200 titta på nyttolasten för att se om där finns någonting som påminner om en tillfällig kod istället för slumpmässiga nummer, nätverksadresser och OS i nyttolasten. Om ett beslut fattas avseende att det mot- tagna paketet inte är den första pakettypen, då är det ett paket som är avsett för någon annan periferianordning som har kommit längre i initieringsprocessen. I händelse av detta återförs kontrollen till processen 724 för hämt- ning av nästa paket. Alternativt, om ett bekräftande beslut fattas, dvs att paketet med en grupp-ID är av den första pakettypen 110, i motsats till det andra pak^tet l70, process 738.When the control is handed over to decision process 728, it is determined whether the packet received with a group ID in the destination address field is of the first packet type, eg packet 110, eg 170. this decision is based on a sequence number, or one, and Fig. 1C) which The temporary packet server packets can be distinguished as sent by the server or the other packet type. In one embodiment of the invention, for example, zero 170 (see Fig. 1A). numbers, network addresses and OS and storage code.First, if the IP protocol is implemented, there will be a sequence number in the transport layer in the LAN packet transport layer header 312 (see Fig. 3). Alternatively, the CPU 200 can look at the payload to see if there is anything reminiscent of a temporary code instead of random numbers, network addresses and OS in the payload. If a decision is made regarding that the received packet is not the first packet type, then it is a packet intended for another peripheral device that has come further in the initialization process. In the event of this, control is returned to process 724 to retrieve the next packet. Alternatively, if an affirmative decision is made, i.e., the packet having a group ID is of the first packet type 110, as opposed to the second packet 170, process 738.

C som sänts av servern, överlämnas kontro len till 10 15 20 25 30 LU LH 521 505 22 I process 738 lagras det inkommande paketets käll- adress, dvs serverns 102 unika nätverksadress, på en specifik plats i cacheminnet och kontrollen överlämnas sedan till process 740. I process 740 plockas den till- fälliga koden 408 (se fig 4A) lagras i en specifik del av cacheminnet. ut från nyttolasten och Kontrollen över- lämnas sedan till process 742, i vilken ett hopp från det lokala minnets kernel BIOS till den tillfälliga koden realiseras. Kontrollen överlämnas sedan till process 744, i vilken nämnda kernel BIOS har fullgjort sin funktion.C sent by the server, the control is handed over to 10 15 20 25 30 LU LH 521 505 22 In process 738, the source address of the incoming packet, i.e. the server's unique network address, is stored in a specific location in the cache and the control is then handed over to process 740. In process 740, the temporary code 408 (see Fig. 4A) is picked and stored in a specific part of the cache. out of the payload and the Control is then handed over to process 742, in which a jump from the local memory kernel BIOS to the temporary code is realized. The control is then handed over to process 744, in which said kernel BIOS has fulfilled its function.

I fig 7B utförs hanteringen utifrån kod som är lagrad i cacheminnet snarare än BIOS. Det temporärt avaktiverade cacheminnet fungerar som ett lättflyktigt minne och innehåller den tillfälliga koden som tagits emot i det inledande paketet ll0 från servern (se fig 1A). 752, den tillfälliga koden är lagrad. Kontrollen överlämnas Det tillfälliga tillståndet 750 börjar med process vilken startar vid den del av cacheminnet i vilken sedan till process 754. I process 754 förmår funktionella kodsegment i den tillfälliga koden nämnda CPU 200 att anskaffa nämnda processor-ID l42A och nämnda periferi- anordnings-ID 130. Dessa anordnings-ID kan bestämmas på ett flertal sätt. tillverkas nämnda anordnings-ID l42A såsom en del av I utföringsformen som diskuterats ovan nämnda CPU, t ex som ett endast läsbart register därav.In Fig. 7B, the operation is performed on the basis of code stored in the cache memory rather than the BIOS. The temporarily disabled cache acts as a volatile memory and contains the temporary code received in the initial packet 110 from the server (see Fig. 1A). 752, the temporary code is stored. The temporary state 750 begins with process which starts at the part of the cache in which then to process 754. In process 754 functional code segments in the temporary code enable said CPU 200 to obtain said processor ID 1442A and said peripheral device ID 130. These device IDs can be determined in a variety of ways. said device ID 1442A is manufactured as a part of the embodiment discussed above said CPU, for example as a read-only register thereof.

Alternativt kan nämnda ID finnas var som helst på chipet innefattande ett lokalt minne såsom elektriskt program- merbara elektriskt raderbart programmet endast läsbart (EEPROM) 202. Alternativt kan nämnda chip-ID bildas av en extern följd av DIP-brytare eller smältbara länkar. minne I en utföringsform av uppfinningen är nämnda ID en del av flertillståndschipet vid tillverkningstidpunkten. I en alternativ utföringsform av uppfinningen tilldelas nämnda ID under installationen. Samma särdrag kan åstadkommas q -nfifiv-Afi-infvnlï' 13A ñßn ïf-kn ^f~,-e~- cxuurunlugo J. luv. Ucu man vpnoa ++- Vârê Gel. dedicerat minne, t ex EEPROM, DIP-strömställare eller smältbara länkar. I en alternativ utföringsform av upp- 10 15 20 25 30 LO UW .521 305 23 finningen tillhandahålls nämnda anordnings-ID via proces- ser som initieras av den tillfälliga koden och exekveras av nämnda CPU 200 istället för att vara hårdkodade. da CPU kan t ex utföra på varandra följande läsningar och Nämn- skrivningar till specifika platser i sin minnesmapp eller I/O-utrymme och avgöra vilken svarstyp som lockades fram.Alternatively, said ID may be located anywhere on the chip including a local memory such as electrically programmable electrically erasable read only program (EEPROM) 202. Alternatively, said chip ID may be formed by an external sequence of DIP switches or fusible links. memory In one embodiment of the invention, said ID is part of the multi-state chip at the time of manufacture. In an alternative embodiment of the invention, said ID is assigned during installation. The same feature can be achieved q -n fifi v-A fi- infvnlï '13A ñßn ïf-kn ^ f ~, -e ~ - cxuurunlugo J. luv. Ucu man vpnoa ++ - Vârê Gel. dedicated memory, such as EEPROM, DIP switches or fusible links. In an alternative embodiment of the invention, said device ID is provided via processes initiated by the temporary code and executed by the CPU 200 instead of being hard coded. da CPU can, for example, perform successive readings and name writings to specific places in its memory folder or I / O space and determine which type of response was elicited.

Baserat på detta svar kan den bestämma vilken typ av periferianordning den är ansluten till samt flertill- stàndschipets karakteristik. Kontrollen överlämnas sedan till process 756.Based on this answer, it can determine the type of peripheral device it is connected to and the characteristics of the multi-state ship. The control is then handed over to process 756.

I process 756 genererar nämnda CPU 200 ett slump- mässigt nummer vilket kan vara en funktion av tiden sedan uppstart. Såsom beskrivits ovan bör detta slumpmässiga nummer ha tillräckligt många bitar för att säkerställa att den inte kommer att motsvara det slumpmässiga nummer som genererats av någon av de andra periferianordningarna som kan svara på samma paket 110 från servern 102 (se fig 1A). Kontrollen överlämnas sedan till process 758. I process 758 läser nämnda CPU 200 nämnda grupp-ID 242 vilken är belägen i det icke-lättflyktiga lokala minnet 202. grupp-ID finnas i en fullständigt separat MAC som är an- I en alternativ utföringsform av uppfinningen kan en sluten till nämnda CPU. Kontrollen överlämnas sedan till process 760. I process 760 läser nämnda CPU 200 den del av cacheminnet som innehåller källadressen som plockades ut av nämnda kernel BIOS och som beskrevs ovan i fig 7A.In process 756, the CPU 200 generates a random number which may be a function of the time since start-up. As described above, this random number should have enough bits to ensure that it will not match the random number generated by any of the other peripherals that can respond to the same packet 110 from the server 102 (see Fig. 1A). The control is then handed over to process 758. In process 758, said CPU 200 reads said group ID 242 which is located in the non-volatile local memory 202. group ID is in a completely separate MAC which is an alternative embodiment of the invention. can one closed to said CPU. The control is then handed over to process 760. In process 760, the CPU 200 reads the part of the cache containing the source address which was picked out by the kernel BIOS and which was described above in Fig. 7A.

Denna källadress motsvarar serverns unika nätverksadress som erhölls från det inledande paketet 110 av nämnda kernel BIOS. 762. I process 762 utförs enkla nätverksgränssnittsfunk- tioner innefattande mediumåtkomststyrning (MAC) (PAD) Kontrollen överlämnas sedan till den första av de Kontrollen överlämnas sedan till process och paketsammansättning och sönderdelning av nämnda CPU 200. funktioner som exekveras i efterföljande process 764. nyttolastens källadressfält och destinationsadressfält l0 l5 20 25 30 h.) (Iï 521 305 24 placeras nämnda grupp-ID 242 och källadress- fältet 306 inbyggt i chipet vid tillverkningstidpunkten. Destina- (se fig 2) (se fig 4A). Nämnda grupp-ID 242 kan vara tionsadressen erhålls från det inkommande paketets ll0 källadressfält. 766.This source address corresponds to the server's unique network address obtained from the initial packet 110 of the kernel BIOS. 762. In process 762, simple network interface functions including medium access control (MAC) (PAD) are performed. The control is then handed over to the first of the. and destination address field l0 l5 20 25 30 h.) (Iï 521 305 24 places the group ID 242 and the source address field 306 built into the chip at the time of manufacture. Destina- (see Fig. 2) (see Fig. 4A). Said group ID 242 may be the address obtained from the source address field of the incoming packet.

Därefter överlämnas kontrollen till process 768 för Paketet sänds till servern 102 i process hantering av inkommande paket från nätverket l00. Vart och ett av dessa paket analyseras i på varandra följande processer 770-774. I process 770 beslutas huruvida paketet innehåller en destinationsadress som motsvarar periferianordningens grupp-ID. Om den gör det överlämnas kontrollen till process 772. I process 772 avgörs huru- vida paketet är av den första eller den andra typen. Den (se fig IA, 4A) ler tillfällig kod eller den andra pakettypen 170 IC, 4C). vits ovan, första pakettypen llO som endast innehål- (se fig Den andra pakettypen innehåller, såsom beskri- ett slumpmässigt nummer och OS- och/eller applikations- och lagringskod. Om det är den andra typen av paket och det innehåller ett slumpmässigt nummer överlämnas kontrollen till beslutsprocess 774.Thereafter, control is handed over to process 768 for the packet is sent to the server 102 in process handling of incoming packets from the network 100. Each of these packages is analyzed in successive processes 770-774. In process 770, it is decided whether the packet contains a destination address corresponding to the group ID of the peripheral device. If it does, control is handed over to process 772. In process 772, it is determined whether the packet is of the first or second type. It (see Figs. 1A, 4A) smiles temporary code or the second packet type 170 IC, 4C). above, the first packet type 110 containing only (see Fig. The second packet type contains, as described - a random number and OS and / or application and storage code. control of decision-making process 774.

I beslutsprocess 774 avgörs huruvida det slumpmäs- siga numret i paketets nyttolast överensstämmer med det slumpmässiga numret som genererats av nämnda CPU 200. Om det slumpmässiga numret i paketet överensstämmer med det slumpmässiga numret som genererats av nämnda CPU överläm- nas kontrollen till process 776. I process 776 hämtas nyttolasten från det inkommande paketet l70A och från detta plockas det unika nätverksadressfältet 440, ringskoden 450 och OS-koden 254 ut. ras i cacheminnet på en specifik plats, operativsystemet lag- Lagringskoden place- placeras i cacheminnet på en annan specifik plats och nätverksadressfältet 440 lagras i det lokala minnet 202 såsom nätverks-ID 244. I en alternativ utföringsform av uppfinningen kan nämnda nätvcrks-ID sändas till en sepa- rat nätverksgränssnittsanordning. Kontrollen överlämnas sedan till process 778. I process 778 hoppar nämnda CPU 10 15 20 25 30 U.) (FI 521 3o5,_fl: 25 200 till den del av cacheminnet som innehåller lagrings- koden och börjar exekvera denna kod. Kontrollen överläm- nas sedan till process 780.In decision process 774, it is determined whether the random number in the payload of the packet corresponds to the random number generated by the CPU 200. If the random number in the packet corresponds to the random number generated by the CPU, the control is handed over to the process. process 776, the payload is retrieved from the incoming packet 170A and from this the unique network address field 440, the ring code 450 and the OS code 254 are extracted. The cache memory is placed in the cache in another specific location and the network address field 440 is stored in the local memory 202 as network ID 244. In an alternative embodiment of the invention, said network ID may be sent to a separate network interface device. The control is then handed over to process 778. In process 778, the CPU jumps 10 15 20 25 30 U.) (FI 521 3o5, _ fl: 25 200 to the part of the cache memory which contains the storage code and begins to execute this code. then to process 780.

I process 780 gör lagringskoden så att nämnda CPU 200 överför på varandra följande rader av operativsys- temskod från cacheminnet 250 till huvudminnet 220 (se fig 2). nätverks-ID till ett icke-lättflyktigt minne, minnet 220. (se fig 2) Därutöver överförs också nämnda unika t ex huvud- I en alternativ utföringsform av uppfinningen kan den unika nätverksadressen lagras i vilket icke-lätt- flyktigt minne som helst antingen på chipet eller i peri- ferianordningen eller i ett nätverksgränssnitt. När väl hela operativsystemet har överförts, överlämnas kontrol- len till process 782.In process 780, the storage code causes the CPU 200 to transfer consecutive rows of operating system code from the cache 250 to the main memory 220 (see Fig. 2). network ID to a non-volatile memory, the memory 220. (see Fig. 2) In addition, the said unique eg main is also transferred. chip or in the peripheral device or in a network interface. Once the entire operating system has been transferred, control is handed over to process 782.

I process 782 laddas bilden av operativsystemet från huvudminnet till RAM 226. Därefter aktiveras cachen i process 784, t ex genom att förmå nämnda CPU att skriva till ett specifikt stift med anslutning till cachestyr- enheten 248, vilken övergår till körningstillståndet genom att cachestyrenheten aktiveras. Kontrollen överläm- nas sedan till process 786, i vilken den tillfälliga koden avslutas och den normala funktionen hos flertill- ståndschipet och periferianordningen startar.In process 782, the image of the operating system is loaded from the main memory to RAM 226. Thereafter, the cache is activated in process 784, for example by causing said CPU to write to a specific pin connected to the cache controller 248, which transitions to the run state by activating the cache controller. The control is then handed over to process 786, in which the temporary code is terminated and the normal operation of the multi-state chip and peripheral device starts.

Såsom kommer att vara självklart för en fackman inom området och utan att frångå beskrivningen av uppfinningen kan operativsystemet vara längre än 1500 byte, endast under förutsättning att den tillfälliga koden initierade ytterligare processer för att hämta efterföljande paket och överför dessa till huvudminnet.As will be obvious to a person skilled in the art and without departing from the description of the invention, the operating system can be longer than 1500 bytes, only provided that the temporary code initiated further processes to retrieve subsequent packets and transfer them to the main memory.

I en alternativ utföringsform av uppfinningen, i vilken endast en periferianordning åt gången är ansluten till nätverket, kan många av procedurerna som beskrivits ovan fungera för den anordning som ensam kopplades upp mot nätverket eller för ett flertal anordningar som kopp- lades upp mot nätverket i följd. Dot är även möjligt att använda den beskrivna metoden för att sända en enkel instruktion till nämnda CPU för att aktivera den och för 521 305,* 26 att förmå den att utföra enklare saker, såsom att akti- vera en maskin eller tända eller släcka en lampa.In an alternative embodiment of the invention, in which only one peripheral device is connected to the network at a time, many of the procedures described above can work for the device which was connected to the network alone or for a plurality of devices which were connected to the network in succession. . It is also possible to use the described method to send a simple instruction to said CPU to activate it and to cause it to perform simpler things, such as activating a machine or turning on or off a lamp. .

Claims (10)

10 15 20 25 30 LU UW 521 305 27 PATENTKRAV10 15 20 25 30 LU UW 521 305 27 PATENT REQUIREMENTS 1. Metod för fjärrkonfigurering av nätverksanslutna anordningar, vilka nätverksanslutna anordningar är kopp- lade till en server via ett nätverk, vilken server inne- håller programkodssegment som vart och ett är lämpat för att möjliggöra arbetet hos en därtill svarande grupp av de nätverksanslutna anordningarna, varvid metoden för fjärrkonfigurering innefattar åtgärderna: att vid servern ta emot ett första datapaket från en oidentifierad anordning av de nätverksanslutna anord- ningarna samt det första datapaketet innehållande en anordningstypsidentifierare och en slumpmässig identifie- rare, vilken anordningstypsidentifierare svarar mot den oidentifierade anordningens, av de nätverksanslutna anordningarna, grupp och vilken slumpmässig identifierare genereras av den oidentifierade anordningen av de nät- verksanslutna anordningarna, att från servern sända ett andra datapaket som svar på en mottagning, vilket andra datapaket innehåller den slumpmässiga identifieraren, ett programkodssegment och en unik nätverksadress, varvid programkodssegmentet sva- rar mot den oidentifierade anordningens, av de nätverks- anslutna anordningarna, grupp och den unika nätverks- adressen, som tilldelats av servern, svarar mot den oidentifierade nätverksanslutna anordningen av de nät- verksanslutna anordningarna, att vid den oidentifierade anordningen av de nät- verksanslutna anordningarna hantera det andra datapaketet utifrån den slumpmässiga identifieraren däri, och att tilldela den unika nätverksadressen som till- delats av servern under nämnda sändningsåtgärd som en nätverksadress till den oidentifierade anordningen av de nätverksanslutna anordningarna.A method for remotely configuring network-connected devices, which network-connected devices are connected to a server via a network, which server contains program code segments each suitable for enabling the work of a corresponding group of the network-connected devices, wherein the remote configuration method comprises the steps of: receiving at the server a first data packet from an unidentified device of the networked devices and the first data packet containing a device type identifier and a random identifier, which device type identifier responds to the unidentified device of the unidentified device; , group and which random identifier is generated by the unidentified device of the networked devices, to send from the server a second data packet in response to a reception, which second data packet contains the random identifier, a program code segment nt and a unique network address, the program code segment corresponding to the unidentified device, of the networked devices, group and the unique network address assigned by the server corresponding to the unidentified network connected device of the network connected devices, that in the unidentified device of the network-connected devices, managing the second data packet based on the random identifier therein, and assigning the unique network address assigned by the server during said transmission operation as a network address to the unidentified device of the network-connected devices. 2. Metod enligt krav 1, vnvv-irå åi-när/“lnh vulvkc. ucvtkrou.. I vidare innefattar, före mottagandeåtgä den, åtgärderna: l0 15 20 25 30 L.) LH V 5221 3[]5rz n: :in ; 28 att från servern sända ett inledande datapaket till de nätverksanslutna anordningarna, att vid var och en av de nätverksanslutna anord- ningarna acceptera det inledande datapaketet, och att från en oidentifierad anordning av de nätverks- anslutna anordningarna sända det första datapaketet som svar på åtgärden att acceptera, vilket datapaket inne- håller en anordningstypsidentifierare och en slumpmässig identifierare, varvid anordningstypsidentifieraren svarar mot den oidentifierade anordningens, av de nätverksan- slutna anordningarna, grupp och varvid den slumpmässiga identifieraren genereras av den oidentifierade anord- ningen av de nätverksanslutna anordningarna.A method according to claim 1, vnvv-irå åi-när / “lnh vulvkc. ucvtkrou .. Furthermore, before receiving the action, the measures include: l0 15 20 25 30 L.) LH V 5221 3 [] 5rz n:: in; Sending an initial data packet from the server to the networked devices, accepting the initial data packet at each of the networked devices, and sending the first data packet from an unidentified device of the networked devices in response to the action of accept, which data packet contains a device type identifier and a random identifier, the device type identifier corresponding to the unidentified device, of the network connected devices, group and the random identifier being generated by the unidentified device of the network devices. 3. Metod enligt krav 2, varvid det inledande data- paketet som sänts från servern under sändningsåtgärden vidare innefattar tillfällig kod som gör det möjligt för den oidentifierade anordningen av de nätverksanslutna anordningarna att generera den slumpmässiga identifieraren.The method of claim 2, wherein the initial data packet transmitted from the server during the transmission operation further comprises random code enabling the unidentified device of the networked devices to generate the random identifier. 4. Metod enligt krav 2, varvid det inledande data- paketet som sänts från servern under sändningsåtgärden vidare innefattar tillfällig kod för att göra det möjligt för den oidentifierade anordningen av de nätverksanslutna anordningarna att detektera det andra datapaketet under nämnda accepterande åtgärd.The method of claim 2, wherein the initial data packet transmitted from the server during the transmission operation further comprises temporary code to enable the unidentified device of the networked devices to detect the second data packet during said accepting operation. 5. Metod enligt krav 2, varvid det inledande data- paketet som sänts från servern under sändningsåtgärden vidare innefattar tillfällig kod för att göra det möjligt för den oidentifierade anordningen av de nätverksanslutna anordningarna att tilldela den unika nätverksadressen under nämnda tilldelningsåtgärd.The method of claim 2, wherein the initial data packet transmitted from the server during the transmission operation further comprises temporary code to enable the unidentified device of the network-connected devices to assign the unique network address during said assignment operation. 6. Metod för konfigurering av var och en av ett flertal av nätverksanslutna anordningar kopplade till ett nätverk såsom en nod av ett flertal noder, vilka nät- “tna anordningar innefattar ett cacheminne, ett huvudminne och en anordningstypsidentifierare som svarar mot en grupp ur flertalet av nätverksanslutna anord- 10 15 20 25 30 5,21 305 29 ningar, varvid metoden för konfigurering innefattar åtgärderna, som utförs på den nätverksanslutna anordningen: att ta emot ett inledande datapaket innefattande tillfällig programkod från en nod av flertalet noder på nätverket, att exekvera den tillfälliga programkoden för att utföra åtgärderna: a) att placera anordningstypsidentifieraren och en slumpmässig identifierare i ett första datapaket på nätverket med en destinationsadress som svarar mot en källadress i det inledande datapaketet, b) att acceptera ett andra datapaket från noden utifrån den slumpmässiga identifieraren som finns däri, vilket andra datapaket innehåller en unik nätverksadress och ett programskodssegment avsett för att göra det möj- ligt för den nätverksanslutna anordningen att arbeta, och c) att tilldela den nätverksanslutna anord- ningen den unika nätverksadressen i det andra datapaketet som en nätverksadress, att bearbeta programkodssegmentet för att aktivera den nätverksanslutna anordningen.A method of configuring each of a plurality of network-connected devices connected to a network such as a node of a plurality of nodes, the network devices comprising a cache memory, a main memory and a device type identifier corresponding to a group of the plurality of nodes. network-connected devices, the method of configuration comprising the steps performed on the network-connected device: receiving an initial data packet comprising temporary program code from a node of the plurality of nodes on the network, executing it temporary program code to perform the actions: a) placing the device type identifier and a random identifier in a first data packet on the network with a destination address corresponding to a source address in the initial data packet, b) accepting a second data packet from the node based on the random identifier present therein, which other data packet contains a unique network address and a program code segment intended to enable the network-connected device to operate, and c) assigning the network-connected device the unique network address in the second data packet as a network address, processing the program code segment to activate the network-connected device. 7. Metod enligt krav 6, varvid mottagningsåtgärden vidare innefattar åtgärden att lagra den tillfälliga programkoden i cacheminnet.The method of claim 6, wherein the receiving step further comprises the step of storing the temporary program code in the cache. 8. Metod enligt krav 7, varvid accepterandeåtgärden vidare innefattar åtgärden att lagra programkodssegmentet i cacheminnet.The method of claim 7, wherein the accepting step further comprises the step of storing the program code segment in the cache. 9. Metod enligt krav 8, varvid accepterandeåtgärden vidare innefattar åtgärden att överföra programkodssegmentet från cacheminnet till huvudminnet.The method of claim 8, wherein the accepting step further comprises the step of transferring the program code segment from the cache to the main memory. 10. Metod enligt krav 6, vilken följer på tilldelningsåtgärden: vidare innefattande åtgär- den, d) att överföra programkodssegmentet till huvudmin- net, och e) att aktivera cacheminnet.The method of claim 6, which comprises the allocating operation: further comprising the operation, d) transferring the program code segment to the main memory, and e) activating the cache memory.
SE9901744A 1998-05-13 1999-05-11 Bringing of an integrated circuit to execute instructions with simplified loading of the necessary hardware into the processing circuit SE521305C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SE9901744A SE521305C2 (en) 1998-05-13 1999-05-11 Bringing of an integrated circuit to execute instructions with simplified loading of the necessary hardware into the processing circuit

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9801671A SE520101C2 (en) 1998-05-13 1998-05-13 Integrated circuit and method to induce an integrated circuit to execute instructions
US09/162,681 US6356942B1 (en) 1998-05-13 1998-09-29 Integrated circuit and method for bringing an integrated circuit to execute instructions
SE9901744A SE521305C2 (en) 1998-05-13 1999-05-11 Bringing of an integrated circuit to execute instructions with simplified loading of the necessary hardware into the processing circuit

Publications (3)

Publication Number Publication Date
SE9901744D0 SE9901744D0 (en) 1999-05-11
SE9901744L SE9901744L (en) 1999-11-14
SE521305C2 true SE521305C2 (en) 2003-10-21

Family

ID=27355919

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9901744A SE521305C2 (en) 1998-05-13 1999-05-11 Bringing of an integrated circuit to execute instructions with simplified loading of the necessary hardware into the processing circuit

Country Status (1)

Country Link
SE (1) SE521305C2 (en)

Also Published As

Publication number Publication date
SE9901744D0 (en) 1999-05-11
SE9901744L (en) 1999-11-14

Similar Documents

Publication Publication Date Title
US6356942B1 (en) Integrated circuit and method for bringing an integrated circuit to execute instructions
US7584286B2 (en) Flexible and extensible receive side scaling
US6735692B1 (en) Redirected network boot to multiple remote file servers
EP0899655B1 (en) Information communicating apparatus and method
US7051112B2 (en) System and method for distribution of software
US10684880B2 (en) Allocating and initializing I/O devices at virtual
US20060010193A1 (en) Parser table/production rule table configuration using CAM and SRAM
JP2004178575A (en) Electronic apparatus, and system and method for downloading file into electronic apparatus
JP2008310832A (en) Apparatus and method for distributing signal from high level data link controller to a plurality of digital signal processor cores
US11171653B2 (en) Method for programming a field programmable gate array and network configuration
CN105207984B (en) Method for representing universal format header using consecutive bytes and apparatus therefor
US11409679B2 (en) System component and use of a system component
US7076787B2 (en) Supporting multiple protocols with a single device driver
US20040024833A1 (en) Key reuse for RDMA virtual address space
CN105282137B (en) Method and apparatus for splitting a packet into layers for modification and then splicing the layers
SE521305C2 (en) Bringing of an integrated circuit to execute instructions with simplified loading of the necessary hardware into the processing circuit
US20030225916A1 (en) Implementing a data link layer protocol for multiple network interface devices
JP4291919B2 (en) Method for remotely constructing networked devices
CN105323192A (en) Method of modifying packets to a generic format for enabling programmable modifications and apparatus thereof
US8069273B2 (en) Processing module
CN105282033A (en) Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof
JPH07105804B2 (en) Address setter
JP2000250746A (en) Data conversion system for exchange
JP2001148710A (en) Time-out controller, terminal device, and system and method for time-out processing
Rakow et al. Space Wire Plugn'Play

Legal Events

Date Code Title Description
NUG Patent has lapsed