SE521442C2 - Server for use in communication network, transmits portion of information from application state record to each client - Google Patents

Server for use in communication network, transmits portion of information from application state record to each client

Info

Publication number
SE521442C2
SE521442C2 SE9901694A SE9901694A SE521442C2 SE 521442 C2 SE521442 C2 SE 521442C2 SE 9901694 A SE9901694 A SE 9901694A SE 9901694 A SE9901694 A SE 9901694A SE 521442 C2 SE521442 C2 SE 521442C2
Authority
SE
Sweden
Prior art keywords
application
client
information
state
server
Prior art date
Application number
SE9901694A
Other languages
Swedish (sv)
Other versions
SE9901694L (en
SE9901694D0 (en
Inventor
Magnus Jaendel
Original Assignee
Ericsson Telefon Ab L M
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
Application filed by Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Priority to SE9901694A priority Critical patent/SE521442C2/en
Publication of SE9901694D0 publication Critical patent/SE9901694D0/en
Priority to KR1020017014310A priority patent/KR100741463B1/en
Priority to CNA2005100910756A priority patent/CN1728712A/en
Priority to AT00930049T priority patent/ATE516539T1/en
Priority to PCT/SE2000/000932 priority patent/WO2000068864A1/en
Priority to EP00930049A priority patent/EP1194876B1/en
Priority to AU47940/00A priority patent/AU770710C/en
Priority to JP2000616572A priority patent/JP4463999B2/en
Priority to IL14634800A priority patent/IL146348A0/en
Priority to CNB008073821A priority patent/CN1222902C/en
Publication of SE9901694L publication Critical patent/SE9901694L/en
Priority to IL146348A priority patent/IL146348A/en
Priority to NO20015499A priority patent/NO319874B1/en
Publication of SE521442C2 publication Critical patent/SE521442C2/en
Priority to AU2004202290A priority patent/AU2004202290B2/en
Priority to NO20051907A priority patent/NO20051907D0/en
Priority to IL179054A priority patent/IL179054A/en
Priority to JP2007226573A priority patent/JP2008022573A/en

Links

Classifications

    • A63F13/12
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/332Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using wireless networks, e.g. cellular phone networks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

An application state record (55) stores application state information comprised in an information which is received from a client. A portion of the information from the state record is transmitted to each client in the network. Independent claims are also included for the following: (a) client unit for use in a terminal in a communication network; (b) communication network

Description

20 25 30 ; . , = , . , _. a .eo a: 521 442 2 Uppringda nät använder typiskt sett klient-server-synkronisering. I detta fall är den centrala servern en uppenbar flaskhals i systemet. Centrala klient-server-spel kan ha 2-25 0 spelare. Det högre antalet gäller för servrar där uppdateringshastigheten är så låg som 2Hz. Servem mottar data från alla spelare. Den måste ta reda på vilken in- formation varje spelare behöver och skicka den. Den centrala servern medför la- tenstid både på grund av det ökade avståndet och på grund av fördröjning som orsa- kas av databehandling och köordningen i servern. Antag t.ex. en situation där kli- enterna beflnner sig på USA:s västkust medan servern finns på USA:s ostkust. Cirka 80ms fördröjning på grund av avstånd och flera tiotals millisekunder på grund av databehandling orsakas av klient-server-synkroniseringen. 20 25 30; . , =,. , _. a .eo a: 521 442 2 Dial-up networks typically use client-server synchronization. In this case, the central server is an obvious cache in the system. Central client-server games can have 2-25 0 players. The higher number applies to servers where the refresh rate is as low as 2Hz. The server receives data from all players. It must find out what information each player needs and send it. The central server causes latency both due to the increased distance and due to delays caused by data processing and the queue order in the server. Suppose e.g. a situation where clients are located on the west coast of the United States while the server is located on the east coast of the United States. Approximately 80ms delay due to distance and tens of milliseconds due to data processing is caused by the client-server synchronization.

Klient-server-synkronisering är därför inte lämplig för realtidstillämpningar med ett stort antal spelare där fördröjningen är viktig.Client-server synchronization is therefore not suitable for real-time applications with a large number of players where delay is important.

Synkronisering mellan jämlika element innebär att alla klienter skickar tillämp- ningsdata direkt till alla andra klienter. Denna modell används ofta för spel som spelas över det publika Intemet. Spelutvecklare tillhandahåller en gratis tillämp- ningslobbyserver ”application lobby server” där spelare möts för att sätta upp spel och för att gå med i pågående spel. När ett spel har startat spelas det med synkroni- sering mellan jämlika element utan att några resurser från spelutvecklaren server används.Synchronization between equal elements means that all clients send application data directly to all other clients. This model is often used for games played over the public Internet. Game developers provide a free application lobby server where players meet to set up games and to join ongoing games. Once a game has started, it is played with synchronization between equal elements without using any resources from the game developer server.

Synkronisering mellan jämlika element har uppenbara problem med ökande storlek eftersom belastningen i nätet är proportionell med kvadraten av antalet spelare.Synchronization between equal elements has obvious problems with increasing size because the load in the network is proportional to the square of the number of players.

Bandbredden för klientåtkomst och kapacitetskrav för CPU är proportionell med antalet spelare. Nyttolasten i varje paket är 10-40 bytes vilket innebär att protokol- lets administrativa tilläggsinforrnation (overhead) vanligtvis är högre än 50%. Små spelpaket ger mer tilläggsinforrnation. Med kompressionsmetoder kan den administ- rativa tilläggsinformationen reduceras betydligt. 10 15 20 25 521 442 3 Spel med synkronisering mellan jämlika element drabbas av oförutsägbara fördröj- ningar och kollapsar ofta på grund av att synkroniseringen tappas.The bandwidth for client access and capacity requirements for CPU are proportional to the number of players. The payload in each packet is 10-40 bytes, which means that the protocol's administrative additional information (overhead) is usually higher than 50%. Small game packages provide more additional information. With compression methods, the additional administrative information can be significantly reduced. 10 15 20 25 521 442 3 Games with synchronization between equal elements suffer from unpredictable delays and often collapse due to the loss of synchronization.

Synkroniseríng mellan jämlika element lämpar sig därför bäst för små nät, med kommunikation över relativt korta avstånd och mellan ett begränsat antal användare.Synchronization between equal elements is therefore best suited for small networks, with communication over relatively short distances and between a limited number of users.

På grund av restriktionerna som bl.a. synkroniseringsmetoderna medför är kommu- nikation mellan flera deltagare med goda realtidsegenskaper inte möjlig med nuva- rande teknik.Due to the restrictions which i.a. According to the synchronization methods, communication between several participants with good real-time properties is not possible with current technology.

Uppfinningens syfte Det är ett syfte med den föreliggande uppfinningen att förbättra realtidsegenskaper- na i kommunikationsnät, i synnerhet för kommunikation i samverkan mellan ett stort antal deltagare.Object of the invention It is an object of the present invention to improve the real-time properties of communication networks, in particular for communication in collaboration between a large number of participants.

Sammanfattning av uppfinningstanken Detta syfte uppnås enligt uppfinningen genom en serverenhet anslutningsbar till åt- minstone en första och en andra klientenhet och anordnad att möjliggöra kommuni- kation mellan den första och den andra klientenheten genom serverenheten för att köra en distribuerad tillämpning vars tillstånd kan ändras både av den första och den andra klienten, vilken serverenhet är kännetecknad av att den innefattar: första mottagarorgan för att motta tillståndsinformation avseende tillämpningens tillstånd från åtminstone den första klienten, tillståndslagringsorgan för att spara tillståndsinformationen andra mottagarorgan för att motta prioritetsinformation från åtininstone den första klienten, avseende tillståndsinformation som skall sändas till den första klienten, prioritetslagringsorgan för att lagra den mottagna prioritetsinformationen, 10 15 20 25 30 521 442 4 första sändarorgan samverkande med tillståndslagringsorganet och prioritetslag- ringsorganet för att sända tillståndsinformation till den första klienten i beroende av prioritetsinformationen.SUMMARY OF THE INVENTION According to the invention, this object is achieved by a server unit connectable to at least a first and a second client unit and arranged to enable communication between the first and the second client unit through the server unit to run a distributed application whose state can be changed both by the first and second clients, which server unit is characterized by comprising: first receiving means for receiving state information regarding the state of the application from at least the first client, state storage means for storing the state information second receiving means for receiving priority information from at least the first client, regarding state information to be sent to the first client, priority storage means for storing the received priority information, first transmitter means cooperating with the state storage means and the priority storage means for send status information to the first client depending on the priority information.

Detta möjliggör att hela tillståndet för tillämpningen kan lagras i en eller flera en- heter i nätet, vilket tar bort behovet för varje klient att spara hela tillståndet och därigenom reducerar behovet för minneskapacitet hos varje klient och även band- bredden som behövs för kommunikation med varje klient. Om varje del av tillämp- ningens tillstånd lagras i mer än en nod eller klient i nätet uppnås en back-up- funktion. Hanteringen av prioritetsinformationen reducerar mängden information som skall sändas till varje användare, vilket minskar överföringsfördröjningen och även hjälper varje användare att analysera informationen, eftersom endast den vikti- gaste informationen för en viss användare visas för användaren. Varje klient kan be- stämma för egen del vad som är viktigt.This allows the entire state of the application to be stored in one or fl of your units in the network, which removes the need for each client to save the entire state and thereby reduces the need for memory capacity of each client and also the bandwidth needed for communication with each client. If each part of the application's state is stored in more than one node or client in the network, a back-up function is achieved. The handling of the priority information reduces the amount of information to be sent to each user, which reduces the transmission delay and also helps each user to analyze the information, since only the most important information for a particular user is displayed to the user. Each client can decide for themselves what is important.

Syftet uppnås också enligt uppfinningen genom en klientenhet, anslutningsbar till en tillämpningsserverenhet vilken tillämpningsserverenhet är anordnad att lagra och exekvera en distribuerad interaktiv klienttillämpningsmjukvara anpassad för distribuerad interaktiv tillämpning, innefattande: inmatningsmedel vilka samverkar med klienttillämpningsmjukvaran; överföringsmedel för att sända tillämpningstillståndsinformation till serverenheten, mottagningsorgan för att mottaga tillämpningstillståndsinformation från tillämpningsserverenheten och en behandlingsenhet för att beräkna, kännetecknad av att: för att möjliggöra för åtminstone två klientenheter att samtidigt påverka och bidraga till tillämpningens tillstånd: inmatningsmedlen är anordnade att mata in åtminstone ti1lämpningstillståndsinformation från tillämpningsserverenheten för den distribuerade interaktiva tillämpningen, och behandlingsenheten är anordnad att beräkna ett andra tillstånd för tillämpningsmjukvaran från 10 15 20 25 30 521 442 5 tillämpningstillståndsinformationen som mottagits från tillämpningsserverenheten, varvid det andra tillståndet används för att påverka exekveringen av klienttillämpningsmjukvaran.The object is also achieved according to the invention by a client unit, connectable to an application server unit, which application server unit is arranged to store and execute a distributed interactive client application software adapted for distributed interactive application, comprising: input means which interact with the client application software; transmission means for sending application state information to the server unit, receiving means for receiving application state information from the application server unit and a processing unit for computing, characterized in that: to enable at least two client units to simultaneously influence and contribute to the application state: the input means is arranged to from the application server unit for the distributed interactive application, and the processing unit is arranged to calculate a second state of the application software from the application state information received from the application server unit, the second state being used to influence the execution of the client application software.

F örfarandet och anordningen enligt uppfinningen är speciellt användbara for distri- buerade interaktiva tillämpningar, i synnerhet sådana som innebär realtidskommuni- kation.The method and device of the invention are particularly useful for distributed interactive applications, especially those involving real-time communication.

Enligt en föredragen utföringsform innefattar klientenheten vidare prioritetsorgan for att sätta prioritetsinformation för att specificera åtminstone ett objekt i den dis- tribuerade interaktiva tillämpningen från vilket tillgänglig information skall mottas så snart som möjligt och organ för att sända prioritetsinformationen till tillämp- ningsservern.According to a preferred embodiment, the client unit further comprises priority means for setting priority information to specify at least one object in the distributed interactive application from which available information is to be received as soon as possible and means for sending the priority information to the application server.

I en fóredragen utforingsform är mottagarorganet anordnat att motta viktighetsin- formation avseende den forsta klienten från åtminstone en andra klient. Viktighets- informationen kan sändas till den första klienten, eller tillstândsinformation avseen- de den andra klienten kan sändas till åtminstone den forsta klienten i beroende av viktighetsinformationen. Viktighetsinformationen kan också användas för att ange att viss tillståndsinformation inte skall sändas till den första klienten. Viktighetsin- formationen kan användas för att ändra en prioritetslista for klienter.In a preferred embodiment, the receiving means is arranged to receive importance information regarding the first client from at least a second client. The importance information can be sent to the first client, or condition information regarding the second client can be sent to at least the first client depending on the importance information. The importance information can also be used to specify that certain state information should not be sent to the first client. The importance information can be used to change a priority list for clients.

I nämnda föredragna utföringsform innefattar klientenheten vidare organ för att sätta viktighetsdata för att specificera åtminstone en annan klient som skall motta tillståndsinformation från klienten så snart som möjligt.In said preferred embodiment, the client unit further comprises means for setting importance data to specify at least one other client which is to receive state information from the client as soon as possible.

Det är fördelaktigt om sändarorganet i klientenheten för att sända tillståndsinforma- tion är anordnat att arrangera information i objektinformationspaket, varvid varje paket avser ett objekt som utgör en del av tillämpningen, innan paketen sänds till serverenheten, och mottagarorganet är anordnat att extrahera information från paket 10 15 20 25 521 442 6 som mottas från serverenheten. Tillämpningsservern är oberoende av tillämpningen och kan därför stödja ett brett spektrum av olika tillämpningar.It is advantageous if the transmitting means in the client unit for transmitting state information is arranged to arrange information in object information packets, each packet relating to an object forming part of the application, before the packets are sent to the server unit, and the receiving means is arranged to extract information from packets 15 20 25 521 442 6 received from the server unit. The application server is independent of the application and can therefore support a wide range of different applications.

Tillämpningsserverenheter som arbetar tillsammans kan kommunicera över ett re- serverat (virtuellt) nät. Det totala bandbreddskravet för en tillämpning kan uppskat- tas av näthanteringssystemet och tillräckliga nätresurser kan tilldelas till det reserve- rade nätet som kopplar samman tillämpningsenheterna. Nya tillämpningar tillåts en- dast om det finns tillgängliga resurser. Näthanteringssystemet styr också strategier for omsändning och duplicering för tillämpningsserverenhetema. Multicasting och resursreserveringsprotokol1 kan användas på den sammantagna trafiken mellan till- lämpningsserverenheter. Fördelen med detta system är att resursreservering på spe- larnivå inte behövs. Tillämpningsklienter kan vanligtvis hantera ett och annat tappat paket om övergripande prestanda är bra. Med användning av tillämpningsservern enligt uppfinningen tappar en klient aldrig synkroniseringen permanent, eftersom tillämpningsserverenheterna alltid upprätthåller spelets tillstånd.Application server units that work together can communicate over a reserved (virtual) network. The total bandwidth requirement for an application can be estimated by the network management system and sufficient network resources can be allocated to the reserved network that connects the application units. New applications are only allowed if resources are available. The network management system also controls retransmission and duplication strategies for the application server units. Multicasting and resource reservation protocol1 can be used on the total traffic between application server units. The advantage of this system is that resource reservation at player level is not needed. Application clients can usually handle one or two lost packages if overall performance is good. Using the application server according to the invention, a client never loses synchronization permanently, since the application server units always maintain the state of the game.

Kortfattad beskrivning av ritningarna Anordningen och förfarandet enligt uppfinningen kommer att beskrivas mer i detalj i det följande, med hänvisning till ritningarna, på vilka: Figur 1 visar en utföringsform av ett nät enligt uppfinningen; Figur 2 visar en tillämpningsserver enligt en utföringsforin av uppfinningen; Figur 3 visar en utforingsform av en tillståndspost enligt uppfinningen; Figur 4 visar en tillämpningsklient enligt en utföringsfomi av uppfinningen; Figur 5 visar kominunikationsstackar som används enligt en utföringsform av upp- finningen; Figur 6 är en schematisk bild av en hierarkisk struktur av tillämpningsservrar som används i en utföringsform av uppfinningen.Brief Description of the Drawings The apparatus and method of the invention will be described in more detail in the following, with reference to the drawings, in which: Figure 1 shows an embodiment of a net according to the invention; Figure 2 shows an application server according to an embodiment of the invention; Figure 3 shows an embodiment of a state record according to the invention; Figure 4 shows an application client according to an embodiment of the invention; Figure 5 shows communication stacks used according to an embodiment of the invention; Figure 6 is a schematic view of a hierarchical structure of application servers used in an embodiment of the invention.

Detaljerad beskrivning av utfóringsformer 10 15 20 30 521 442 7 Figur 1 visar en utföringsform av ett kommunikationsnät enligt uppfinningen. Enligt uppfinningen innefattar nätet åtminstone en tillämpningsserver. I figur 1 visas en första 1, en andra 3 och en tredje 5 tillämpningsserver, sammankopplade genom ett nät 7, t.ex. ett reserverat telekommunikationsnät. Det kan också vara en annan typ av nät, men nät i vilka det inte är möjligt att reservera nätresurser, såsom Internet, är mindre lämpade. Ett antal klienter 11, 12, 13, 14, 15 är också anslutna till nätet 7.Detailed Description of Embodiments Figure 15 shows an embodiment of a communication network according to the invention. According to the invention, the network comprises at least one application server. Figure 1 shows a first 1, a second 3 and a third application server, interconnected by a network 7, e.g. a reserved telecommunications network. It can also be another type of network, but networks in which it is not possible to reserve network resources, such as the Internet, are less suitable. A number of clients 11, 12, 13, 14, 15 are also connected to the network 7.

En klient kan ansluta sig till lämplig tillämpningsserver 1, 2 eller 3, på vilket som helst känt sätt, såsom kommer att diskuteras i mer detalj i det följande.A client can connect to the appropriate application server 1, 2 or 3, in any known manner, as will be discussed in more detail below.

Klienter kommunicerar med varandra genom tillståndsservrar i syfte att köra en distribuerad interaktiv tillämpning, vari ett stort antal deltagare samtidigt påverkar och bidrar till tillämpningens tillstånd, t.ex. ett fleranvändarspel i realtid. Mellan varje klient och tillämpningsservem till vilken den är ansluten finns vanligtvisen förbindelse med låg kapacitet, såsom en modemförbindelse. Mellan två tillämp- ningsservrar, å andra sidan, kommer förbindelser med hög och variabel kapacitet att finnas. Tillämpningsservem enligt uppfinningen är därför anordnad att hantera in- formationen om tillämpningens tillstånd på ett sådant sätt att mängden information som sänds till varje klient reduceras, genom att sända till varje klient endast den in- formationen som är mest relevant för klienten. Mellan tillämpningsservrama är överföringskapaciteten vanligtvis inte något problem, därför kan mer information sändas mellan tillämpningsservrama.Clients communicate with each other through permission servers in order to run a distributed interactive application, in which a large number of participants simultaneously influence and contribute to the application's permission, e.g. a fl user game in real time. Between each client and the application server to which it is connected, there is usually a low capacity connection, such as a modem connection. Between two application servers, on the other hand, connections with high and variable capacity will be found. The application server according to the invention is therefore arranged to handle the information about the state of the application in such a way that the amount of information sent to each client is reduced, by sending to each client only the information that is most relevant to the client. Between the application servers, the transmission capacity is usually not a problem, therefore more information can be sent between the application servers.

En eller flera tillämpningslobbyservrar 21 av känd typ, kan också finnas i nätet.One or fl your application lobby servers 21 of known type, may also be present in the network.

Dessa servrar innefattar typiskt sett funktioner som tillåter klienterna att registrera sig för en viss typ av tjänst, hantera debiteringsfunktioner, osv.These servers typically include features that allow clients to sign up for a particular type of service, manage billing features, and so on.

Enligt uppfinningen finns mjukvaran som behövs för tillämpningen i klienten ll, 12. 13, 14, 15. För att använda kommunikationsfimktionerna enligt uppfinningen måste användaren därför säkerställa att han har den nödvändiga tillämpningsmjuk- varan. Tillämpningsmjukvaran kan hämtas på vilket som helst känt sätt, t.ex. laddas 10 15 20 25 30 521 442 8 ner från Intemet eller installeras från CD-ROM. Om det behövs för tillämpningen måste han också registrera sig med lobbyservem. Typiskt sett tillhandahåller lobby- servem 21 en adress, vanligtvis en IP-adress till en eller flera tillämpningsservrar 1, 3, 5, men denna adress kan också erhållas på annat sätt.According to the invention, the software needed for the application is in the client ll, 12. 13, 14, 15. In order to use the communication functions according to the invention, the user must therefore ensure that he has the necessary application software. The application software can be downloaded in any known manner, e.g. downloaded 10 15 20 25 30 521 442 8 from the Internet or installed from CD-ROM. If required for the application, he must also register with the lobby server. Typically, the lobby server 21 provides an address, usually an IP address of one or more application servers 1, 3, 5, but this address can also be obtained in other ways.

Användaren ansluter sig till en tillämpningsserver på känt sätt, vanligtvis genom att mata in IP-adressen till tillämpningsservern eller en grupp av tillämpningsservrar.The user connects to an application server in a known manner, usually by entering the IP address of the application server or a group of application servers.

Flera algoritmer finns för att välja den lämpliga av ett antal noder i nätet som identi- fieras av samma adress. Tillämpningsservem mottar information från användaren och börjar sända information till användaren, såsom kommer att beskrivas i mer detalj i det följande. I stället för att klienten loggar in på tillämpningsservern kan lobbyservem också sända klienters nätadresser till tillämpningsservrar.There are several algorithms for selecting the appropriate one of a number of nodes in the network that are identified by the same address. The application server receives information from the user and starts sending information to the user, as will be described in more detail in the following. Instead of the client logging in to the application server, the lobby server can also send clients' web addresses to application servers.

Tillämpningen antas bestå av en uppsättning objekt som styrs av deltagarna. Ett ob- jekt är en enhet i tillämpningen som styrs av en mänsklig deltagare eller som på an- nat sätt inte kan alstras lokalt i varje tillämpningsklient. Tillämpningsobjekt kan vara saker som deltagama intuitivt känner igen såsom objekt eller spelfigurer men de kan också vara bakgrundsdatastrukturer såsom omgivningsvariabler som styrs av spelama. Ett tillämpningsobjekt styrs av en eller flera spelare. Varje objekt har ty- piskt en uppsättning egenskaper och attribut som kan ändras medan tillämpningen körs. I ett spel kan dessa egenskaper vara en ñgurs styrka och andra förmågor, eller en bils maxhastighet, och attributena kan vara, t.ex. saker som samlas av figuren.The application is assumed to consist of a set of objects controlled by the participants. An object is a unit in the application that is controlled by a human participant or that in another way cannot be generated locally in each application client. Application objects can be things that participants intuitively recognize as objects or game characters, but they can also be background data structures such as environment variables that are controlled by the players. An application object is controlled by one or more of your players. Each object typically has a set of properties and attributes that can be changed while the application is running. In a game, these characteristics can be one strength and other abilities, or a car's maximum speed, and the attributes can be, e.g. things collected by the figure.

Informationen som mottas från användaren kommer vanligtvis att innefatta tre olika typer av information utöver administrativ tilläggsinformation: tillståndsinformation, prioritetsinfonnation och viktighetsinformation. Tillståndsinformationen är infor- mation om objektet eller objekten som styrs av användaren och som skall sändas till andra användare av tillämpningen. Prioritetsinformationen anger klientens priorite- ringar avseende olika tillämpningsobjekt som tillhandahålls av tillämpningsservrar- na. Till exempel skall information från en viss grupp av andra användare mottas på 10 15 20 521 442 9 en gång, eller så ofta som möjligt, medan information från en annan grupp av an- vändare inte är så brådskande. Flera prioritetsnivåer kan sättas, t.ex. i form av ac- ceptabel fördröjning. Viktighetsinfonnationen som alstras av en klient kan användas för att överpröva eller ändra en annan klients prioritetslista så att den andra klienten kommer att motta information om objekt som inte finns på dess prioritetslista, eller för att säkerställa att klienten inte mottar viss information. Alla tre typer av infor- mation kommer att diskuteras i mer detalj i det följande.The information received from the user will usually include three different types of information in addition to additional administrative information: permit information, priority information and importance information. The permission information is information about the object or objects controlled by the user and which is to be sent to other users of the application. The priority information indicates the client's priorities regarding various application objects provided by the application servers. For example, information from a certain group of other users should be received once, or as often as possible, while information from another group of users is not so urgent. Several priority levels can be set, e.g. in the form of acceptable delay. The importance information generated by one client can be used to review or change another client's priority list so that the other client will receive information about items that are not on its priority list, or to ensure that the client does not receive certain information. All three types of information will be discussed in more detail below.

Såsom ett exempel kommer en tillämpning av ett realtidsspel som spelas av ett stort antal användare att beskrivas. Sådana spel spelas i dag med ett begränsat antal spela- re som finns relativt nära varandra, t.ex. i ett lokalt nät (Local Area Network - LAN). När det spelas över ett globalt nät (Wide Area Network - WAN) kan ett så- dant spel i framtiden omfatta flera tusen spelare, typiskt sett fördelade över en stor spelplan eller virtuellt geografiskt område. Med känd teknik är detta inte möjligt med acceptabel kvalitet, såsom diskuterat ovan.As an example, an application of a real-time game played by a large number of users will be described. Such games are played today with a limited number of players who are relatively close to each other, e.g. in a Local Area Network (LAN). When played over a global network (Wide Area Network - WAN), such a game may in the future comprise fl your thousand players, typically distributed over a large game plan or virtual geographical area. With prior art, this is not possible with acceptable quality, as discussed above.

Varje spelare berörs omedelbart av de saker som händer nära honom. Ju längre bort en annan spelare är ju mindre viktiga är ändringar avseende denna spelare. Till ex- empel kan en spelare vara involverad i en kamp med en första fientlig spelare, en vänligsinnad spelare kan komma till undsättning och en andra fientlig spelare kan försöka stoppa den vänligsinnade spelaren. Samtidigt kommer andra spelare att göra saker som kan komma att bli intressanta senare, men för tillfället är spelarens hu- vudproblem att överleva kampen. Därför måste den första fientli ga spelarens rörel- ser visas omedelbart. Den vänligsinnade spelarens och den andra fientliga spelarens rörelser bör också ges hög prioritet. medan saker som händer längre bort bör ges lägre prioritet.Every player is immediately affected by the things that happen near him. The further away another player is, the less important are changes regarding that player. For example, a player may be involved in a fight with a first friendly player, a friendly player may come to the rescue and a second hostile player may try to stop the friendly player. At the same time, other players will do things that may become interesting later, but at the moment, the player's main problem is surviving the fight. Therefore, the movements of the first individual player must be displayed immediately. The movements of the friendly player and the other friendly player should also be given high priority. while things that happen further away should be given lower priority.

I det ovan diskuterade exemplet kommer givetvis konfigurationen av spelare att ändras så att vid en annan tidpunkt kommer information från andra spelare att ha 10 15 25 30 521 442 10 högst prioritet, vanligtvis användama som befinner sig närmast användaren vid en given tidpunkt.In the example discussed above, of course, the configuration of players will change so that at another time, information from other players will have the highest priority, usually the users who are closest to the user at a given time.

Tillämpningsservern har också en klientbehörighetslista. Varje klient har rätt att ändra tillståndet för en uppsättning spelobjekt. Klientbehörighetslistan har en post för varje klient där numren på de objekt som styrs av klientema lagras. Tillämp- ningsservern kontrollerar behörighetema varje gån g den mottar objekttillståndsin- formation från en klient. Speltillståndet kommer att uppdateras endast om en identi- ' fierare som finns i informationspaketet överensstämmer med ett av numren i klien- tens post i behörighetslistan, i annat fall ignoreras informationen. Objekttillståndsin- formation som kommer från andra tillämpningsserverenheter verifieras inte, efter- som tillämpningsservern som sände ut denna information redan har kontrollerat be- hörigheterna.The application server also has a client authorization list. Each client has the right to change the state of a set of game objects. The client authorization list has an entry for each client where the numbers of the objects controlled by the clients are stored. The application server checks the permissions each time it receives object state information from a client. The game status will only be updated if an identifier mentioned in the information package matches one of the numbers in the client's entry in the authorization list, otherwise the information will be ignored. Object permission information coming from other application server devices is not verified, as the application server that sent this information has already verified the permissions.

Tillämpningsservem hanterar kommunikation med tillämpningsklienter. Den mottar information om varje klients handlingar som påverkar tillämpningens tillstånd och annan information. Den sänder också tillståndsinformation från andra deltagare till deltagare enligt deras prioriteringar. Varje tillämpningsklient sätter prioriteringar avseende vilken tillämpningsinformation som skall mottas och sänder ut inforrna- tion om dessa prioriteringar till tillämpningsservem. Tillämpningsservern lagrar och uppdaterar en post med prioriteringar för klienterna som är anslutna till tillämp- ningsservem. Varje klients prioriteringar används för att bestämma vilka data som skall sändas till denna klient.The application server handles communication with application clients. It receives information about each client's actions that affect the state of the application and other information. It also sends permission information from other participants to participants according to their priorities. Each application client sets priorities for the application information to be received and sends information about these priorities to the application server. The application server stores and updates an entry with priorities for the clients that are connected to the application server. Each client's priorities are used to determine which data to send to that client.

Varje tillämpningsserver kommunicerar också med andra tillämpningsserverenheter, och sänder ti1lämpningstillståndsinfonnation och sammanställda prioriteringar till dem och mottar samma typ av information från dem. Sammanställda prioriteringar är summan av alla önskemål om tillämpningsobjekt från klienter som tillhör en viss tillämpningsserver. Till exempel kan tillämpningsservem använda multicast till andra tillämpningsserverenheter. Detta säkerställer att varje tillämpningsserverenhet 10 15 20 25 30 521 442 ll mottar alla nödvändiga uppdateringar och att speltillståndet distribueras effektivt över tillämpningsserverenheterna.Each application server also communicates with other application server units, and sends application permit information and aggregated priorities to them and receives the same type of information from them. Aggregate priorities are the sum of all requests for application objects from clients belonging to a particular application server. For example, the application server can use multicast to other application server devices. This ensures that each application server unit 10 15 20 25 30 521 442 ll receives all necessary updates and that the game state is efficiently distributed across the application server units.

Vanligtvis paketeras informationen som skall sändas till de andra tillämpningsserv- rama enligt ett lämpligt protokoll och sänds utan att prioriteras eller sorteras på nå- got sätt. Det skulle givetvis vara möjligt att välja ut infonnationen som skall sändas till varje tillämpningsserver i beroende av användarnas prioriteringar.Usually the information to be sent to the other application servers is packaged according to an appropriate protocol and sent without being prioritized or sorted in any way. It would of course be possible to select the information to be sent to each application server depending on the users' priorities.

Tillämpningsservem lagrar och uppdaterar också en komplett kopia eller delkopia av tillämpningstillståndet. Tillämpningsserverenhetema som tilldelats till en till- lämpning måste tillsammans lagra hela tillämpningstillståndet. I det enklaste fallet lagrar varje tillämpningsserver hela tillämpningstillståndet, men det är också möjligt att dela upp informationen mellan tillämpningsservrama, med eller utan överlap- pande information. Sådana lösningar kräver speciell mjukvara for att hantera fördel- ningen av den aktuella mjukvaran till varje tillämpningsserver.The application server also stores and updates a complete or partial copy of the application state. The application server units assigned to an application must together store the entire application state. In the simplest case, each application server stores the entire application state, but it is also possible to divide the information between the application servers, with or without overlapping information. Such solutions require special software to handle the distribution of the current software to each application server.

Tillämpningsservem kommunicerar med lobbyservem for att sätta upp tillämpning- en, lägga till och ta bort deltagare medan tillämpningen körs och hantera fel och problem i nätet.The application server communicates with the lobby server to set up the application, add and remove participants while the application is running, and handle errors and problems in the network.

Tillämpningsservem hanterar också kommunikationsprotokoll, tex. Intemet Proto- col (IP), och utväxlar uppdateringar av tillämpningstillståndet med andra tillämp- ningsserverenheter.The application server also handles communication protocols, e.g. Internet Protocol (IP), and exchanges application state updates with other application server devices.

Figur 2 visar en tillämpningsserver enligt en utforingsforrn av uppfinningen, med dess funktionella enheter. Denna tillämpningsserver kan realiseras i hårdvara eller mjukvara. I anslutning till figur 2 Ges endast en allmän beskrivning. Lämpliga for- mat och protokoll kommer att diskuteras senare.Figure 2 shows an application server according to an embodiment of the invention, with its functional units. This application server can be implemented in hardware or software. In connection with Figure 2, only a general description is given. Appropriate formats and protocols will be discussed later.

Tillämpningsservem mottar data från varje klient i nätet. och från andra enheter, så- som andra tillämpningsservers, genom ingângsbuffertar 5 l. Det finns en ingångs- 10 15 20 25 30 521 442 12 buffert för varje klient, varje annan tillämpningsserver och lobbyserver, även om endast en ingångsbuffert visas i figur 2, för översiktlighetens skull.The application server receives data from each client in the network. and from other devices, such as other application servers, through input buffers 5 l. There is an input buffer for each client, each other application server and lobby server, even if only one input buffer is shown in Figure 2. for the sake of clarity.

Data som mottas från klienterna kan innefatta tre typer av data: Tillståndsdata avse- ende tillämpningens tillstånd, data avseende klientens prioriteringar och annan styrinformation. Tillståndsdatat passerar genom en tillståndsobjektpaketförbindelse 5 3ltill en tillståndspost 55. Tillståndsposten 55 innehåller alla tillståndsdata för alla relevanta objekt, såsom kommer att beskrivas i mer detalj nedan. Tillståndsposten har också information om viktigheten av tillståndsdata för varje klient. Viktighets- data sätts av en klient om data är viktiga för en annan klient, men denna andra klient inte vet om detta och därför inte kan sätta sina egna prioriteringar. Viktigheten be- stäms därför av den sändande klienten och kan vara olika för olika mottagande kli- enter. Tillämpningsservem informerar den mottagande klienten om vikti ga, eller brådskande, data väntar. Viktighetsinforrnationen kan också användas för att förbju- da att viss information sänds till en eller flera klienter.Data received from clients can include three types of data: Permit data regarding the state of the application, data regarding the client's priorities and other control information. The state data passes through a state object packet connection 3 to a state record 55. The state record 55 contains all state data for all relevant objects, as will be described in more detail below. The permit record also has information about the importance of permit data for each client. Importance data is set by one client if the data is important to another client, but this other client does not know about this and therefore cannot set their own priorities. The importance is therefore determined by the sending client and may be different for different receiving clients. The application server informs the receiving client if important, or urgent, data is waiting. The importance information can also be used to prohibit certain information from being sent to one or fl your clients.

Grupper av klienter kan definieras, varvid en grupp till exempel innefattar deltagar- na i en arbetsgrupp, eller i fallet med ett spel, i samma lag. I detta fall kan prioritets- data och/eller viktighetsdata också specificeras för grupper av användare, inte bara för individuella användare.Groups of clients can be defined, whereby a group includes, for example, the participants in a working group, or in the case of a game, in the same team. In this case, priority data and / or importance data can also be specified for groups of users, not just for individual users.

Styrdata, i synnerhet data som inte behöver hanteras i realtid, såsom information av- seende tillagda eller borttagna tillämpningsobjekt, sänds från ingångsbufferten 51 till tillämpningsserverns styrenhet 57. I en hårdvarurealisering kan styrenheten 57 vara en mikroprocessor. Styrdata som hanteras av styrenheten kan avse exempelvis skapande och lörstörande av spelare och objekt, och grupper av spelare och objekt.Control data, in particular data that does not need to be handled in real time, such as information regarding added or deleted application objects, is sent from the input buffer 51 to the application server control unit 57. In a hardware implementation, the control unit 57 may be a microprocessor. Control data handled by the control unit can refer to, for example, the creation and disruption of players and objects, and groups of players and objects.

Prioritetsdata sänds genom en rörledning (pipeline) 59 för tillämpningsprioritets- styrprotokollmeddelanden till en klientprioritetslista (Client Priority List - CPL) 61 vilken innehåller prioriteringama för varje klient som betjänas av tillämpningsser- 10 15 20 30 521 442 13 vem. Prioritetslistan sparas i klientprioritetslistan 61 och kan uppdateras av klien- terna och av tillämpningsservems styrenhet. Styrenheten kan t.ex. bestämma att pri- oritetslistan för en klient skall uppdateras på grund av ett viktighetsmeddelande som mottagits från en annan klient.Priority data is sent through a pipeline 59 for application priority control protocol messages to a Client Priority List (CPL) 61 which contains the priorities for each client served by the application server 10 15 20 30 521 442 13 who. The priority list is saved in the client priority list 61 and can be updated by the clients and by the application server's control unit. The control unit can e.g. decide that the priority list for a client shall be updated due to an important message received from another client.

Varje klient styr vilken information den skall motta genom att sända prioritetsmed- delanden till tillämpningsservem. Flera olika prioriteringsstrategier kan tillämpas av tillämpningsklienterna när tillämpningsserversystemet används. En enkel metod är att tillämpningsklienter sänder en numrerad lista på objekt till klientprioriteringslis- tan 61. Om alla objekt i listan har uppdaterats kan de kvarvarande objekten uppdate- ras, t.ex. i ordningsföljd, så kallad ”round robin”. Prioritetslistan för en viss klient innefattar en lista på alla objekt för vilka en prioritet har satts av denna klient. Där- utöver innefattar listan i tillämpningsservem företrädesvis en flagga för varje objekt vilken anger om ny information för objektet har mottagits. Flaggan används för att bestämma huruvida information om ett visst objekt behöver sändas till klienten. När information har sänts till klienten återställs flaggan. När en ny uppdatering för ett objekt mottas av tillämpningsservem sätts flaggan igen.Each client controls what information it should receive by sending priority messages to the application server. Several different prioritization strategies can be applied by the application clients when the application server system is used. A simple method is for application clients to send a numbered list of objects to the client priority list 61. If all objects in the list have been updated, the remaining objects can be updated, e.g. in order, so-called "round robin". The priority list for a particular client includes a list of all objects for which a priority has been set by that client. In addition, the list in the application server preferably includes a fl agga for each object which indicates whether new information for the object has been received. The flag is used to determine whether information about a particular item needs to be sent to the client. When information has been sent to the client, fl aggan is reset. When a new update for an object is received by the application server, the gan agga is set again.

Klientprioriteringarna kan också definieras med ett tidsintervall för varje objekt.The client priorities can also be defined with a time interval for each object.

Klienten skulle då sända en serie önskemål, exempelvis på formatet mer>, , , <flaggor>. En enkel lista kan helt enkelt ha formatet , . Tillämpnings- servern kommer att försöka sända uppdateringar till klienten så att varje objekt upp- dateras åtminstone en gång under varje tidsintervall med prioritet som angiven iThe client would then send a series of requests, for example in the format more>,,, <fl aggor>. A simple list can simply have the format,. The application server will try to send updates to the client so that each object is updated at least once during each time interval with priority as specified in

Claims (17)

10 15 20 25 34 Patentkrav10 15 20 25 34 Patent claims 1. Serverenhet anslutningsbar till åtminstone en första och en andra klientenhet (l l,l2,l3, 14,15) och anordnad att möjliggöra kommunikation mellan den första och den andra klientenheten genom serverenheten för att köra en distribuerad tillämp- ning vars tillstånd kan ändras både av den första och den andra klienten, vilken serverenhet är kännetecknad av att den innefattar: första mottagarorgan (51, 53) för att motta tillståndsinformation avseende tillämp- ningens tillstånd från åtminstone den första klienten, tillståndslagringsorgan (55) för att spara tillståndsinforrnationen andra mottagarorgan (59) för att motta prioritetsinforrnation från åtminstone den första klienten, avseende tillståndsinformation som skall sändas till den första kli- enten, prioritetslagringsorgan (61) för att lagra den mottagna prioritetsinformationen, första sändarorgan (63, 65) samverkande med tillståndslagringsorganet och priori- tetslagringsorganet för att sända tillståndsinforrnation till den första klienten i bero- ende av priorítetsinfonnationen.A server unit connectable to at least a first and a second client unit (l1, l2, l3, 14,15) and arranged to enable communication between the first and the second client unit through the server unit to run a distributed application whose state can be changed both of the first and second clients, which server unit is characterized in that it comprises: first receiving means (51, 53) for receiving state information regarding the state of the application from at least the first client, state storage means (55) for storing the state information second receiving means ( 59) to receive priority information from at least the first client, regarding permission information to be sent to the first client, priority storage means (61) for storing the received priority information, first transmitting means (63, 65) cooperating with the state storage means and the priority storage means for to send condition information to the first bran nten depending on the priority information. 2. Serverenhet enligt krav 1, vidare innefattande andra sändarorgan (63, 65) för att sända tillståndsinformation och/eller prioritetsinformation mottagen från åtminstone den första klienten till åtminstone en annan serverenhet.The server unit of claim 1, further comprising second transmitter means (63, 65) for transmitting state information and / or priority information received from at least the first client to at least one other server unit. 3. Serverenhet enligt något av föregående krav, varvid tillståndsinformationslag- ringsorganet är anordnat att lagra tillståndsinformation för tillämpningen i terrner av egenskaper för objekt, vilka obj ekts tillstånd sammantaget utgör tillämpningens till- stånd. 10 l5 20 25 30 en in n i n ._ _ i f= T, r I I .. ,-.« | v, ,- _ á - 1. ¿. _ ,( ' ' 'b - _ - i , , ~ v in a . , N"h' -V n , 35A server unit according to any one of the preceding claims, wherein the state information storage means is arranged to store state information for the application in terms of properties of objects, which states of the objects together constitute the state of the application. 10 l5 20 25 30 en in n i n ._ _ i f = T, r I I .., -. «| v,, - _ á - 1. ¿. _, ('' 'b - _ - i,, ~ v in a., N "h' -V n, 35 4. Serverenhet enligt krav 3, varvid tillståndsinformationslagringsorganet är anord- nat att lagra grundpaket (AOPl1) eller datagram som beskriver hela tillståndet för ett objekt vid en viss tidpunkt.The server unit according to claim 3, wherein the state information storage means is arranged to store basic packets (AOP11) or datagrams describing the entire state of an object at a certain time. 5. Serverenhet enligt krav 4, varvid tillståndsinforrnationslagringsorganet är anord- nat att lagra inkrementella paket (AOPl2, AOP13) vilka beskriver ändringen av objektets tillstånd sedan ett visst tidigare paket och information som identifierar det tidigare paketet.The server unit according to claim 4, wherein the state information storage means is arranged to store incremental packets (AOP12, AOP13) which describe the change of the state of the object since a certain previous packet and information identifying the previous packet. 6. Serverenhet enligt något av föregående krav, varvid det andra mottagarorganet (55) är anordnat att motta viktighetsdata från åtminstone den andra klienten, avse- ende tillståndsinforrnation som skall sändas till den första klienten, och det första sändarorganet (63, 65) är anordnat att sända tillståndsinfonnation till den första kli- enten i beroende av viktighetsinfonnationen.A server unit according to any one of the preceding claims, wherein the second receiving means (55) is arranged to receive importance data from at least the second client, regarding state information to be sent to the first client, and the first transmitting means (63, 65) is arranged to send condition information to the first client depending on the importance information. 7. Serverenhet enligt något av föregående krav, vidare innefattande registreringsor- gan för att registrera behörighetsinforrnation för den åtminstone ena första noden, vilken behörighetsinformation anger vilka tillämpningsobjekt den första noden är behörig att ändra.A server unit according to any one of the preceding claims, further comprising the means for registering authorization information for the at least one first node, which authorization information indicates which application objects the first node is authorized to change. 8. Serverenhet enligt något av föregående krav, varvid tillståndsinformationslag- ringsorganet är anordnat att slänga bort lagrad tillståndsinformation efter en för- handsbestämd tidsperiod.A server unit according to any one of the preceding claims, wherein the state information storage means is arranged to discard stored state information after a predetermined time period. 9. En klientenhet, anslutningsbar till en tillämpningsserverenhet (1, 3, 5) vilken tillämpningsserverenhet är anordnad att lagra och exekvera en distribuerad interaktiv klienttillämpningsmjukvara anpassad för distribuerad interaktiv tillämpning, innefattande: inmatningsmedel (lll, ll3, ll5, 101) vilka samverkar med klienttillämpningsmjukvaran; överföringsmedel (105, 107) för att sända 10 15 20 25 30 VÛÅ1ÛOQ tlip; 5 1 :::::«¿«:m._e- _ _: . .. :- 36 tillämpningstillståndsinformation till serverenheten, mottagningsorgan (105, 107) för att mottaga tillämpningstillståndsinforrnation från tillämpningsserverenheten och en behandlingsenhet för att beräkna, kännetecknad av att: för att möjliggöra för åtminstone två klientenheter att samtidigt påverka och bidraga till tillämpningens tillstånd: inmatningsmedlen (111, 113, 115, 101) är anordnade att mata in åtminstone tillämpningstillståndsinforrnation från tillämpningsserverenheten (1, 3, 5) för den distribuerade interaktiva tillämpningen, och behandlingsenheten (101) är anordnad att beräkna ett andra tillstånd för tillämpningsmjukvaran från ti1lämpningstillståndsinformationen som mottagits från tillämpningsserverenheten, varvid det andra tillståndet används för att påverka exekveringen av klienttillämpningsmjukvaran.A client unit, connectable to an application server unit (1, 3, 5) which application server unit is arranged to store and execute a distributed interactive client application software adapted for distributed interactive application, comprising: input means (lll, ll3, ll5, 101) which cooperate with client applications ; transmission means (105, 107) for transmitting 10 15 20 25 30 VÛÅ1ÛOQ tlip; 5 1 ::::: «¿«: m._e- _ _:. ..: - 36 application state information to the server unit, receiving means (105, 107) for receiving application state information from the application server unit and a processing unit for calculating, characterized in that: to enable at least two client units to simultaneously influence and contribute to the state of the application: input means ( 111, 113, 115, 101) are arranged to enter at least application state information from the application server unit (1, 3, 5) for the distributed interactive application, and the processing unit (101) is arranged to calculate a second state of the application software from the application state information received from the application server. , the second state being used to influence the execution of the client application software. 10. Klientenhet enligt krav 9, vidare innefattande prioritetsorgan (101) för att alstra prioritetsinformation avseende tillståndsinformation som skall sändas till den första klientenheten från tillståndsserverenheten.The client unit of claim 9, further comprising priority means (101) for generating priority information regarding state information to be sent to the first client unit from the state server unit. 11. Klientenhet enligt krav 9 eller 10, vidare innefattande viktighetsdataorgan (101) för at sätta viktighetsdata för att specificera åtminstone en annan nod som skall motta tillståndsinformation från klienten så snart som möjligt.The client unit of claim 9 or 10, further comprising importance data means (101) for setting importance data to specify at least one other node to receive state information from the client as soon as possible. 12. Klientenhet enligt något av kraven 9-1 1, varvid sändarorganet för att sända till- ståndsinforrnation är anordnat att ordna informationen i tillståndsobjektpaket, där varje paket avser ett objekt som utgör en del av tillämpningen, innan paketen sänds till tillämpningsservern och mottagarorganet är anordnat att extrahera information om tillämpningsobj ekt från paket mottagna från tillämpningsservem.A client unit according to any one of claims 9 to 1, wherein the transmitting means for transmitting state information is arranged to arrange the information in state object packets, each packet relating to an object forming part of the application, before the packets are sent to the application server and the receiving means is arranged to extract application object information from packets received from the application server. 13. Kommunikationsnät kännetecknat av att det innefattar åtminstone en serveren- het (l, 3, 5) enligt något av kraven l-8. 10 15 521 442ï:?'@¥1 37Communication network characterized in that it comprises at least one server unit (1, 3, 5) according to any one of claims 1-8. 10 15 521 442ï:? '@ ¥ 1 37 14. Kommunikationsnät enligt krav 13, vidare innefattande åtminstone en klienten- het (11,12,13,14,15) enligt något av kraven 11-14 ansluten till serverenheten.A communication network according to claim 13, further comprising at least one client unit (11,12,13,14,15) according to any one of claims 11-14 connected to the server unit. 15. Kommunikationsnät enligt kraven 12-14, vidare innefattande åtminstone en lob- byserver.The communication network of claims 12-14, further comprising at least one lobby server. 16. Kommunikationsnät enligt något av kraven 12-15, vidare innefattande åtminsto- ne en andra serverenhet och anslutningsorgan som förbinder den forsta och den andra serverenheten med varandra, varvid kommunikationsresurser kan reserveras på anslutningsorganet.A communication network according to any one of claims 12-15, further comprising at least a second server unit and connection means connecting the first and the second server unit to each other, wherein communication resources can be reserved on the connection means. 17. Kommunikationsnät enligt något av kraven 12-16, vidare innefattande en tredje tillämpningsserver, vilken kommunicerar med den andra tillämpningsservern, men inte med den andra tillämpningsservem, på ett sådant sätt att en hierarki av tillämp- ningsservrar uppstår i nätet.A communication network according to any one of claims 12-16, further comprising a third application server, which communicates with the second application server, but not with the second application server, in such a way that a hierarchy of application servers arises in the network.
SE9901694A 1999-05-10 1999-05-10 Server for use in communication network, transmits portion of information from application state record to each client SE521442C2 (en)

Priority Applications (16)

Application Number Priority Date Filing Date Title
SE9901694A SE521442C2 (en) 1999-05-10 1999-05-10 Server for use in communication network, transmits portion of information from application state record to each client
CNA2005100910756A CN1728712A (en) 1999-05-10 2000-05-10 Method and apparatus in a communication network
IL14634800A IL146348A0 (en) 1999-05-10 2000-05-10 Method and apparatus in a communication network
CNB008073821A CN1222902C (en) 1999-05-10 2000-05-10 Method and apparatus in a communication network
AT00930049T ATE516539T1 (en) 1999-05-10 2000-05-10 METHOD AND DEVICE IN A COMMUNICATIONS NETWORK
PCT/SE2000/000932 WO2000068864A1 (en) 1999-05-10 2000-05-10 Method and apparatus in a communication network
EP00930049A EP1194876B1 (en) 1999-05-10 2000-05-10 Method and apparatus in a communication network
AU47940/00A AU770710C (en) 1999-05-10 2000-05-10 Method and apparatus in a communication network
JP2000616572A JP4463999B2 (en) 1999-05-10 2000-05-10 Method and apparatus in a communication network
KR1020017014310A KR100741463B1 (en) 1999-05-10 2000-05-10 Method and apparatus in a communication network
IL146348A IL146348A (en) 1999-05-10 2001-11-05 Server unit, client unit and communications network for multi-user applications
NO20015499A NO319874B1 (en) 1999-05-10 2001-11-09 Method and apparatus in a communication network
AU2004202290A AU2004202290B2 (en) 1999-05-10 2004-05-21 Method and apparatus in a communication network
NO20051907A NO20051907D0 (en) 1999-05-10 2005-04-19 Method and apparatus in a communication network
IL179054A IL179054A (en) 1999-05-10 2006-11-06 Server unit, client unit and communications network for multi-user applications
JP2007226573A JP2008022573A (en) 1999-05-10 2007-08-31 Method and apparatus in communication network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9901694A SE521442C2 (en) 1999-05-10 1999-05-10 Server for use in communication network, transmits portion of information from application state record to each client

Publications (3)

Publication Number Publication Date
SE9901694D0 SE9901694D0 (en) 1999-05-10
SE9901694L SE9901694L (en) 2000-11-11
SE521442C2 true SE521442C2 (en) 2003-11-04

Family

ID=20415535

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9901694A SE521442C2 (en) 1999-05-10 1999-05-10 Server for use in communication network, transmits portion of information from application state record to each client

Country Status (2)

Country Link
CN (1) CN1728712A (en)
SE (1) SE521442C2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484009B2 (en) * 2010-05-14 2013-07-09 GM Global Technology Operations LLC Timing analysis using formal methods

Also Published As

Publication number Publication date
SE9901694L (en) 2000-11-11
CN1728712A (en) 2006-02-01
SE9901694D0 (en) 1999-05-10

Similar Documents

Publication Publication Date Title
US6763371B1 (en) Method and apparatus for collaborative communication in a communication network
IL179054A (en) Server unit, client unit and communications network for multi-user applications
Hong et al. Finishing flows quickly with preemptive scheduling
CN103701916B (en) The dynamic load balancing method of distributed memory system
CN103051629B (en) Software defined network-based data processing system, method and node
CN104798356B (en) Method and apparatus for the utilization rate in controlled level expanding software application
US20030236887A1 (en) Cluster bandwidth management algorithms
CN112600759B (en) Multipath traffic scheduling method and system based on deep reinforcement learning under Overlay network
JP2003502729A (en) Communication between software elements
CN106453625B (en) Information synchronization method and high availability cluster system
Delaney et al. On consistency and network latency in distributed interactive applications: A survey—Part II
CN101171803A (en) Method and arrangements for reservation of resources in a data network
CN109302329B (en) A kind of optimal reconfiguration method and system of satellite communication routed path
US8510365B2 (en) Method for optimising the distribution of a service from a source to a plurality of clients in a network
CN105700940B (en) A kind of statistical multiplex method of scheduler and scheduler
CN109412976A (en) Data transmission method, device, system, server, electronic equipment and medium
Kadur et al. Delay-jitter control in multimedia applications
SE521442C2 (en) Server for use in communication network, transmits portion of information from application state record to each client
CN109547352A (en) The dynamic allocation method and device of packet buffer queue
CN109739800A (en) The scheduling system and FPGA board of Node Controller
Cano-Cano et al. QoS provision in hierarchical and non-hierarchical switch architectures
Ahn et al. A multiplayer real-time game protocol architecture for reducing network latency
Vrable et al. The SAAM architecture: enabling integrated services
Chang et al. End-host multicasting in support of distributed real-time simulation systems
EP2184091A1 (en) Communication parameters leveler for users coupled to a telecommunication server or game server

Legal Events

Date Code Title Description
NUG Patent has lapsed