SE524309C2 - Data transfer method over peer-to-peer network involves information composed of type identity and name identity that is repeatedly and independently transmitted from server on two channels - Google Patents
Data transfer method over peer-to-peer network involves information composed of type identity and name identity that is repeatedly and independently transmitted from server on two channelsInfo
- Publication number
- SE524309C2 SE524309C2 SE0003890A SE0003890A SE524309C2 SE 524309 C2 SE524309 C2 SE 524309C2 SE 0003890 A SE0003890 A SE 0003890A SE 0003890 A SE0003890 A SE 0003890A SE 524309 C2 SE524309 C2 SE 524309C2
- Authority
- SE
- Sweden
- Prior art keywords
- boot
- server
- channel
- information
- electronic equipment
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
25 30 35 524 309 2 I enlighet med den föredragna utföringsformen av föreliggande uppfinning åstadkommes detta ändamål genom att tillhandahålla en metod och anordning enligt de självständiga patentkraven 1, 5, 9 och 10. In accordance with the preferred embodiment of the present invention, this object is achieved by providing a method and apparatus according to the independent claims 1, 5, 9 and 10.
Detaljema av den föredragna utföringsfonnen av uppfinningen framställes i de medföljande ritningama och beskrivningen nedan. Andra särdrag och fördelar med uppfinningen blir tydliga av beskrivningen, ritningama och patentkraven.The details of the preferred embodiment of the invention are set forth in the accompanying drawings and the description below. Other features and advantages of the invention will become apparent from the description, drawings, and claims.
I ritningama: Fig 1 är ett blockdiagram av ett kommunikationssystem.In the drawings: Fig. 1 is a block diagram of a communication system.
Fig 2a visar en kanal som används vid bootning.Fig. 2a shows a channel used in booting.
Fig 2b visar ett paket i ett objekt som sänds på bootningskanalen.Fig. 2b shows a packet in an object transmitted on the boot channel.
Fig 3 är ett flödesschema som visar de steg som utförs när datoriserad elektronisk utrustning bootas över ett nätverk.Fig. 3 is a fate diagram showing the steps performed when computerized electronic equipment is booted over a network.
Vad som i detta sammanhang kallas för en server, är en programkomponent som levererar något mervärde, såsom en mail-server, och har inget med serverhårdvara att göra, vilken kan vara samma för flera servrar.What in this context is called a server is a software component that delivers some added value, such as an email server, and has nothing to do with server hardware, which may be the same for your servers.
Klient/server beskriver förhållandet mellan två dataprogram i vilket ett program, klienten, gör en förfrågan på en tjänst från ett annat program, servern, vilken fullföljer förfrågan. I ett nätverk åstadkommer klient/serverrnodellen en lämplig väg att koppla samman program som distribueras effektivt över olika ställen.Client / server describes the relationship between two computer programs in which one program, the client, makes a request for a service from another program, the server, which completes the request. In a network, the client / server model provides a convenient way to connect programs that are efficiently distributed across different locations.
I figur 1 representeras en datoriserad elektronisk utrustning av 1, en operatörssida av 2 och ett operatörsnätverk av 3, vilket även är anslutet till Intemet. Den elektroniska utrustningen 1 innefattar en nedladdare 4 av bootningsprogramvara, en operativsystemskärna 5 nedladdad över ett nätverk av bootningsnedladdaren 4 till ett Random Access minne (RAM) och en RAM-disk 6. Nedladdaren 4 är en modifierad version of en typ välkänd för fackmannen, såsom Ether boot, BOOTP eller liknande och diskuteras ej närmare häri. Även det använda operativsystemet är av en typ välkänd för fackmannen, såsom Linux eller EPOC och diskuteras ej närmare häri. 10 15 20 25 30 | - n Q i. . - u Q n o o I n u . o . ø u u.Figure 1 represents a computerized electronic equipment of 1, an operator side of 2 and an operator network of 3, which is also connected to the Internet. The electronic equipment 1 comprises a boot 4 downloader software, an operating system core 5 downloaded over a network of the boot downloader 4 to a Random Access memory (RAM) and a RAM disk 6. The downloader 4 is a modified version of a type well known to those skilled in the art, such as Ether boot, BOOTP or similar and are not discussed further here. The operating system used is also of a type well known to those skilled in the art, such as Linux or EPOC, and is not discussed further herein. 10 15 20 25 30 | - n Q i. - u Q n o o I n u. o. ø u u.
Operatörssidan 2 innefattar en router 7, en bootningsserver 8, en server 9 som dynamiskt tilldelar IP-adresser samt ett nätverksfilsystem 10. Bootningsservem 8 är den serverkomponent som används för att sända den information som behövs för att boota operativsystemet och ett rotfilsystem över nätverket 3. Servern 9 används för att överföra erforderlig information för att genomföra bootningen till den bootande elektroniska utrustningen 1 och är i den föredragna utföringsforrnen en Dynamically Host Configuration Protocol (DHCP) server. Filsystemet 10 distribuerar filsystem över nätverket 3. I vissa fall är operativsystemskäman 5 konfigurerad att installera rotfilsystemet över nätverket 3, men i andra fall är käman 5 konfigurerad att använda en nedladdad RAM-diskkopia som rotfilsystem.The operator side 2 comprises a router 7, a boot server 8, a server 9 that dynamically assigns IP addresses and a network system 10. The boot server 8 is the server component used to send the information needed to boot the operating system and a root system over the network 3. The server 9 is used to transmit the required information to perform the boot to the booting electronic equipment 1 and in the preferred embodiment is a Dynamically Host Configuration Protocol (DHCP) server. The file system 10 distributes file systems over the network 3. In some cases, the operating system kernel 5 is configured to install the root file system over the network 3, but in other cases the kernel 5 is configured to use a downloaded RAM disk copy as the root system.
Operatömätverket 3 innefattar flera routrar 7. En router är en anordning som bestämmer nästa nätverkspunkt ett paket skall skickas till mot dess destination. En router skapar eller håller en tabell över tillgängliga rutter och deras förutsättningar och använder denna information tillsammans med avstånds- och kostnadsalgoritmer för att bestämma den bästa rutten för ett givet paket. Ett paket kan typiskt färdas genom ett antal nätverkspunkter med routrar innan det når sin destination.The operator network 3 comprises fl your routers 7. A router is a device that determines the next network point a packet is to be sent to its destination. A router creates or maintains a table of available routes and their conditions and uses this information along with distance and cost algorithms to determine the best route for a given package. A packet can typically travel through a number of network points with routers before reaching its destination.
I föreliggande uppfinning är routrama 7 multicastroutrar. Varje multicastrouter 7 är ansluten till flera elektroniska utrustningar l, antingen direkt eller via en switch (ej visad). Multicastteknologin baseras på intresset att sända information till en utvald grupp, istället för till alla (broadcast) eller till bara en mottagare (unicast). För att möjliggöra den funktionaliteten i ett nätverk används gruppadressering.In the present invention, the routers 7 are multicast routers. Each multicast router 7 is connected to elektron your electronic equipment l, either directly or via a switch (not shown). Multicast technology is based on the interest of sending information to a selected group, instead of to all (broadcast) or to only one recipient (unicast). To enable that functionality in a network, group addressing is used.
Gruppadressering baseras på tjänster i multicastmöjliga routrar, vilka tillåter servrar och klienter att ansluta sig till en särskild grupp med en specifik adress. Tillsammans håller routrama reda på medlemmarna i gruppen och när en medlem i gruppen sänder ett meddelande till gruppadressen, erhåller alla medlemmar det meddelandet.Group addressing is based on services in multicast possible routers, which allow servers and clients to join a specific group with a specific address. Together, the routers keep track of the members of the group, and when a member of the group sends a message to the group address, all members receive that message.
Generellt är multicast en kommunikation mellan en enda sändare och flera utvalda mottagare i ett nätverk. I föreliggande uppfinning används ett protokoll baserat på multicast, hädanefter kallat bootningsprotokollet, för att upprepat överföra bootningsinformation från bootningsservem 8, vare sig den informationen efterfrågats eller inte. Bootningsinforrnationen, specificerad av operatören, överföres om och om igen till dess den stoppas.In general, multicast is a communication between a single transmitter and your selected receivers in a network. In the present invention, a protocol based on multicast, hereinafter referred to as the boot protocol, is used to repeatedly transfer boot information from the boot server 8, whether or not that information is requested. The boot information, specified by the operator, is transmitted over and over until it is stopped.
Bootningsprotokollet består av två kanaler, en bootningskontrollkanal och en bootningsfilöverfóringskanal. Bootningsservem 8 sänder information på bootningskontrollkanalen över var, på vilken adress, bootningsinforrnationen och 10 15 20 25 30 524 309 av ø ø ~ n f n - | ø n ; ø n s e o. 4 RAM-diskkopioma sänds och vilka versioner som är tillgängliga för t ex olika klienthårdvarurevisioner. Bootningsservem 8 sänder själva bootningsinformationen och RAM-diskavbilema på filöverföringskanalen. Bootningsservern som sänder bootningsfilöverföringskanalen skulle kunna vara en annan server, dvs en programkomponent, annan än den bootningsserver som sänder bootningskontrollkanalen. Det skulle även kunna finnas flera bootningsfilöverföringskanaler som sänder samma bootningsinformation med en liten tidsdifferens. Beroende på den information klienten känner till, såsom version och typ av hårdvara av den elektroniska utrustningen, nedladdas olika bootningsinformation enligt informationen på bootningskontrollkanalen.The boot protocol consists of two channels, a boot control channel and a boot file transfer channel. The boot server 8 sends information on the boot control channel over where, at what address, the boot information and 10 15 20 25 30 524 309 of ø ø ~ n f n - | ø n; ø n s e o. 4 RAM disk copies are sent and which versions are available for, for example, different client hardware revisions. The boot server 8 sends the boot information itself and the RAM disk images to the delivery channel. The boot server that sends the boot file transfer channel could be another server, ie a program component, other than the boot server that sends the boot control channel. There could also be your boot transfer channels that send the same boot information with a small time difference. Depending on the information the client knows, such as the version and type of hardware of the electronic equipment, different boot information is downloaded according to the information on the boot control channel.
Ett objekt är i detta sammanhang definierat som den bootningsinformation som behövs för att boota den elektroniska utrustningen 1. Bootningsprotokollet accepterar strömmar av objekt med nästan godtycklig längd och systemkapacitet. Protokollet är rätt generellt och baserat på objekt bestående av paket innefattande objekttyper, id, paketnummer, checksummor, data och så vidare.In this context, an object is defined as the boot information needed to boot the electronic equipment 1. The boot protocol accepts streams of objects of almost any length and system capacity. The protocol is fairly general and based on objects consisting of packets including object types, ID, packet number, checksums, data and so on.
En bootningskanal 20, visas i fig 2a, innehåller ett antal bootningsinfonnationsobjekt. Två objekt X och Y visas i fig 2a. Objekten X, Y är uppdelade i flera paket 21 när de sänds på kanalen, visas i fig 2b. Det visas att det sista paketet 21 i ett objekt X, Y kan vara mindre än resten av de sända paketen 21.A boot channel 20, shown in Fig. 2a, contains a number of boot information objects. Two objects X and Y are shown in fi g 2a. The objects X, Y are divided into pak your packets 21 when they are transmitted on the channel, shown in fi g 2b. It is shown that the last packet 21 in an object X, Y can be smaller than the rest of the transmitted packets 21.
I ett ensamt paket 21 är den första delen ett huvud (eng. header) A och den andra delen, B, payloaden, vilken är det data som finns i paketet 21. Payloaden B innehåller en del av det dataobjekt som skall sättas ihop till ett objekt. Viss information i huvudet måste vara identiska i alla huvud som motsvarar samma objekt.In a single packet 21, the first part is a header A and the second part, B, the payload, which is the data contained in the packet 21. The payload B contains a part of the data object to be assembled into a object. Some information in the header must be identical in all headers corresponding to the same object.
När bootningsservem 8 läser en lista specificerad av operatören över objekten som skall sändas, får den information om objektet, inklusive objektstypen, filnamnet eller processnamnet av objektskällan samt paketstorlek som skall användas.When the boot server 8 reads a list specified by the operator of the objects to be sent, it receives information about the object, including the object type, the name or process name of the object source, and the packet size to be used.
Bootningsservem 8 beräknar sedan det antal paket 21 som behövs för att sända objektet och skapar det första paketet 21 att sända. 1 paketet 21 skriver den korrekt data i huvudet A och fyller payloadsektionen B med objektsdata innan objektet sänds. Det här repeteras sedan för varje paket 21 som behövs.The boot server 8 then calculates the number of packets 21 needed to send the object and creates the first packet 21 to send. In the packet 21 it writes the correct data in the header A and fills the payload section B with object data before the object is sent. This is then repeated for each package 21 required.
Klienten mottager ett paket 21 i taget och måste för varje paket 21 läsa typ- och namnfålten för att kunna sätta ihop objektet. Om typen och namnet är identiska, 10 15 20 25 30 35 524 309 ou uno 5 måste klienten först säkerställa att paketet 21 anlänt korrekt genom att kolla Intemet Protokollet (IP) och Unicast Datagram Protokollet (UDP)/Multicasthuvudens checksummor. Om någon checksumma är fel, förkastas paketet 21 och klienten måste uppträda som om paketet 21 aldrig anlänt.The client receives one packet 21 at a time and must read the type and name fields for each packet 21 in order to be able to assemble the object. If the type and name are identical, the client must first ensure that packet 21 arrives correctly by checking the Internet Protocol (IP) and Unicast Datagram Protocol (UDP) / Multicast header checksums. If any checksum is incorrect, the package 21 is rejected and the client must act as if the package 21 never arrived.
Efter att ha mottagit alla paket 21, skall klienten ha kopplat samman alla paket 21 till ett objekt. Om paketens huvud A specificerat att kryptering eller objektsvida checksummor används, ska klienten nu avkoda data eller beräkna checksummoma.After receiving all packets 21, the client must have connected all packets 21 to one object. If the package header A specified that encryption or object-wide checksums are used, the client should now decode data or calculate the checksums.
Om det upptäcks att objektet inte är komplett, skall objektet förkastas.If it is discovered that the object is not complete, the object must be discarded.
Klienten kan börja ladda ned ett objekt utan att behöva vänta på objektets första paket 21, eftersom objektet sänds om och om igen och verifieras på en objektsnivå av checksumrnan i varje paket.The client can start downloading an object without having to wait for the object's first packet 21, since the object is sent over and over again and verified at an object level by the checksum in each packet.
En föredragen utföringsfonn av föreliggande uppfinning visas i fig 3 och proceduren för att boota datoriserad elektronisk utrustning l över nätverket 3 är följande: 1. Nedladdaren 4 anropar DHCP-servem 9 (steg 31), vilken i retur sänder information över var man kan lyssna på bootningskontrollkanalen (steg 32). 2. Nedladdaren 4 lyssnar på bootningskontrollkanalen och får information om var man kan läsa vilken bootningsinformation på bootningsfilövertöringskanalen (steg 33). 3. Nedladdaren 4 väljer vilken bootningsinforrnation att ladda ned, beroende på information känd av klienten, såsom den elektroniska utrustningens 1 hårdvara, och laddar från bootningsservem 8 ned opertivsystemskämfilen och eventuellt en RAM-diskfil på bootningsfllöverföringskanalen (steg 34). 4. Nedladdaren 4 avkodar den nedladdade kärnfilen och startar käman 5 (steg 35) genom att exekvera kärnfilen. 5. Operativsystemskärnan 5 startar systemet på sitt eget vis och installerar rotfilsystemet (steg 36) från RAM-disken 6 eller nätverksfilsystemet 10. 6. Operativsystemskärnan 5 kan installera ytterliggare filsystem via 10 n - s v e o o » c | | o | o n oo 6 nätverksñlsystemet 10, om konfigurationsfilerna i rotsystemen medger detta.A preferred embodiment of the present invention is shown in Figure 3 and the procedure for booting computerized electronic equipment 1 over the network 3 is as follows: 1. The downloader 4 calls the DHCP server 9 (step 31), which in return sends information on where to listen boot control channel (step 32). 2. The downloader 4 listens to the boot control channel and receives information on where to read the boot information on the boot override channel (step 33). 3. The downloader 4 selects which boot information to download, depending on information known by the client, such as the hardware of the electronic equipment 1, and downloads from the boot server 8 the operating system core and possibly a RAM disk file on the boot transfer channel (step 34). 4. The downloader 4 decodes the downloaded kernel and starts the core 5 (step 35) by executing the kernel. 5. The operating system core 5 starts the system in its own way and installs the root system (step 36) from the RAM disk 6 or the network system 10. 6. The operating system core 5 can install additional systems via 10 n - s v e o o »c | | o | o n oo 6 the network cell system 10, if the configurations in the root systems allow it.
I den föredragna utföringsformen av föreliggande uppfinning är den datoriserade elektroniska utrustningen en avancerad gateway mellan operatörnätverket, vilket är ett IP-baserat nätverk, och hushållsapparater. T ex för att leverera bredbandiga multimediatjänster till TVzn, såsom musik, video och e-handel. Det finns hur som helst inga begränsningar för den uppfinningsenliga gatewayen att vara kopplad till hushållsutrustningar. Den är väldigt lämpad att placeras t ex i hotell eller företag och den kan även användas i ett telekommunikationssystem.In the preferred embodiment of the present invention, the computerized electronic equipment is an advanced gateway between the operator network, which is an IP-based network, and household appliances. For example, to deliver broadband multimedia services to TVzn, such as music, video and e-commerce. In any case, there are no restrictions on the conceivable gateway to be connected to household equipment. It is very suitable for placement in hotels or companies, for example, and it can also be used in a telecommunications system.
Claims (1)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SE0003890A SE524309C2 (en) | 2000-10-26 | 2000-10-26 | Data transfer method over peer-to-peer network involves information composed of type identity and name identity that is repeatedly and independently transmitted from server on two channels |
| PCT/SE2001/002346 WO2002035348A1 (en) | 2000-10-26 | 2001-10-25 | Method and apparatus for sending information in a communication system |
| AU2002211158A AU2002211158A1 (en) | 2000-10-26 | 2001-10-25 | Method and apparatus for sending information in a communication system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SE0003890A SE524309C2 (en) | 2000-10-26 | 2000-10-26 | Data transfer method over peer-to-peer network involves information composed of type identity and name identity that is repeatedly and independently transmitted from server on two channels |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| SE0003890D0 SE0003890D0 (en) | 2000-10-26 |
| SE0003890L SE0003890L (en) | 2002-04-27 |
| SE524309C2 true SE524309C2 (en) | 2004-07-27 |
Family
ID=20281573
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| SE0003890A SE524309C2 (en) | 2000-10-26 | 2000-10-26 | Data transfer method over peer-to-peer network involves information composed of type identity and name identity that is repeatedly and independently transmitted from server on two channels |
Country Status (1)
| Country | Link |
|---|---|
| SE (1) | SE524309C2 (en) |
-
2000
- 2000-10-26 SE SE0003890A patent/SE524309C2/en unknown
Also Published As
| Publication number | Publication date |
|---|---|
| SE0003890L (en) | 2002-04-27 |
| SE0003890D0 (en) | 2000-10-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2052494B1 (en) | Techniques for exchanging dhcp information among dhcp relay agents and dhcp servers | |
| CN101542979B (en) | MAC address overlap eliminating method, network device managing system, server, and information device | |
| US6496859B2 (en) | System for network device location | |
| Ishiyama et al. | LINA: A new approach to mobility support in wide area networks | |
| KR100310652B1 (en) | Method and System for Improving Communications in Data Communications Networks that provide Network Emulation | |
| JP2005524287A (en) | Method and apparatus for identifying a transport stream in a network | |
| US10735373B2 (en) | Communications over multiple protocol interfaces in a computing environment | |
| US20060028285A1 (en) | Method and apparatus for automatic tunnel configuration | |
| KR20120020132A (en) | A system and method for converting unicast client requests into multicast client requests | |
| JP2008523674A (en) | Service discovery aggregation method in local area network and apparatus for implementing the method | |
| KR20110036573A (en) | How to provide access via IP network with server application program | |
| CN103618801A (en) | Method, device and system for sharing P2P (Peer-to-Peer) resources | |
| US20060056427A1 (en) | Multicast communication method and gateway apparatus | |
| US7882169B1 (en) | Method and apparatus for configuring relay processes used for dynamically configuring hosts in network communications | |
| US7876757B2 (en) | Router-assisted fast processing of packet termination in host | |
| CN109076022B (en) | Network address translation device, setting requesting device, communication system, communication method, and storage medium storing program | |
| US20050265257A1 (en) | Networking apparatus and method | |
| SE524309C2 (en) | Data transfer method over peer-to-peer network involves information composed of type identity and name identity that is repeatedly and independently transmitted from server on two channels | |
| JP5638063B2 (en) | COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, PROGRAM | |
| JP4481499B2 (en) | Hierarchical multicasting | |
| CN105656994A (en) | Business acceleration method and device | |
| JPH08237285A (en) | Internet Protocol Address Automatic Setting Method | |
| EP1643698A2 (en) | A method and apparatus for assembling data packet fragments in a network of nodes | |
| CN110198365A (en) | A kind of address conversion detection method and system | |
| Roberts et al. | A Link-Layer Broadcast Service for SpaceWire Networks |