US20040059711A1 - Configuration of a flexible infrastructure - Google Patents

Configuration of a flexible infrastructure Download PDF

Info

Publication number
US20040059711A1
US20040059711A1 US10/415,080 US41508003A US2004059711A1 US 20040059711 A1 US20040059711 A1 US 20040059711A1 US 41508003 A US41508003 A US 41508003A US 2004059711 A1 US2004059711 A1 US 2004059711A1
Authority
US
United States
Prior art keywords
session
application
client
profile
network
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US10/415,080
Inventor
Magnus Jandel
Jonas Jonsson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Terraplay Systems AB
Original Assignee
Individual
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 Individual filed Critical Individual
Assigned to TERRAPLAY SYSTEMS AB reassignment TERRAPLAY SYSTEMS AB ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JONSSON, JONAS, JANDEL, MAGNUS
Publication of US20040059711A1 publication Critical patent/US20040059711A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Definitions

  • This invention relates to a configuration device of a flexible communication infrastructure for multi-user applications of the kind stated in the preamble of claim 1, and a method for making the configuration.
  • the application for the invention is networked virtual environments where widely distributed, multiple users interact in real-time.
  • An application is here defined as a distributed computer process that is processing a networked virtual environment.
  • Such applications aim for a sense of realism and an intensified (immersed) experience in a virtual world. They are used for military and industrial team training, collaborative design and engineering, multi-player games, virtual shopping, virtual conferences, remote customer support and distance learning.
  • An application session is an instance of an application started at a given point in time. Clients can join, rejoin and leave the application session. The application session is terminated under some predefined conditions.
  • PCT/SE00/00932 “Application Access Server”, having the priority date 1999-0510 from both SE 9901694-1 and U.S. Ser. No. 09/307,712, is a co-pending application, which describes a real-time performance in a communication network between a large number of participants.
  • a server unit is provided comprising receiving means for receiving information from the client units.
  • the server unit stores state information received from each of the client units and forwards this information to nodes in the network. It also transmits at least a part of the stored information to the clients. In this way the whole state of an application can be kept in one or more units in the network. This removes the need for each client to store the entire state, thereby reducing memory and bandwidth requirement for each client.
  • the present invention is based on the co-pending PCT/SE00/00932 but performs a semi-automatic configuration of the infrastructure for multi-user applications.
  • An object of the invention is to provide a semi-automatic configuration of a flexible communication infrastructure for multi-user applications.
  • Another object of the invention is to provide improved quality and economic use of network resources.
  • a session profile consists of a set of application network parameters valid for/applied on an application session.
  • the session profile is used to initialize and prepare the programmable application network before or in connection with an application session is started.
  • a client profile consists of a set of application network parameters valid for a participant in an application session. The client profile is used to initialize and prepare the programmable application network and the client computer before or in connection with a given client joins the application session.
  • a set of client profiles may be associated to a session profile.
  • Each application is optionally associated to one or several client profiles and application session profiles.
  • the session and client profiles associated with the application gives the run-time conditions for the application session.
  • Session participants may join the session without having been provided with a particular session access ticket by the programmable application network (PAN).
  • Session participants use the application name and/or the application session profile identity and/or the client profile identity as session access ticket and/or an identity assigned to each client access possibility (for example consecutive numbers 1 . . . 10, if clients are able to be connected with a certain client profile).
  • This could be an optional part of a session access ticket in the case when only client type/session type is used a access ticket.
  • This information may be encoded according to any feasible method. It makes it possible for the programmable application network to perform a simple authorization test of the client and at the same time set the client specific parameters.
  • a simple authorization test could comprise that the client must know possible client profile names and/or session profile names and/or application names.
  • Client specific parameters are provided in the client computer when the client is connected. These parameters are preferably provided in the programmable application network PAN before the client is connected but are associated to the client at the connection.
  • a pre-configure could be provided by an application lobby server ALS, if a session management interface is used, or by a manual configuration of the system with this feature if there is no session management interface.
  • the programmable application network PAN could be open for connection of clients in a number of sessions for a number of applications.
  • a client can connect by enclose a session access ticket, which points out the application session type and client type ⁇ for example 1) A+S+E:12, or 2) S+E if S is associated only to A, or 3) E if E is associated only to S or S is associated only to A, or 4) A if the client does not bother about the session type or client type ⁇ .
  • the system could be pre-configured for a number of different applications of the type A, B etc.
  • application A the number of N sessions having the session profile S, the number of M sessions having the session profile T etc.
  • session with the session profile S the number of P clients having the client profile E, the number on Q clients having the client profile F etc.
  • the programmable application network support the application with a session management interface the session and client profiles together with the alterations to these agreed upon by the client gives the run-time conditions for the application session. Session participants can join the session using the session access ticket provided by the programmable application network.
  • a user that wishes to initiate an application session negotiates the use of a certain session profile with the programmable application network.
  • a user that wishes to join an application session negotiates the use of a certain client profile with the programmable application network.
  • the invention enables that sufficient resources in the communication network and in all nodes of the programmable application network are allocated. This means that high and consistent end-user quality is guaranteed.
  • the allocated resources are precisely tailored to the needs of the application. No wasteful over-provisioning is needed. Almost no human intervention is needed since the client and session profiles can be pre-prepared and used automatically.
  • the invention also gives a flexible way to set up sessions in the programmable application network both with and without the use of the Session management interface.
  • the sign-on procedure using session access tickets is the same in these two cases.
  • FIG. 1 illustrates a logic picture of a programmable application network (PAN) suitable for supporting networked virtual environments for the invention.
  • PAN programmable application network
  • PAN Programmable Application Network
  • a programmable application network 1 suitable for supporting networked virtual environments is shown in the Figure. It is a part of a communication network 2 , for example included in an internet, an intranet or the like or being a private network.
  • the communication network 2 comprises communication links and routers for general-purpose communication protocols, for example Internet protocols.
  • the communication network 2 includes also several nodes AC, ANS, ACG, AR, AS, APDB, ALS, ANMS, CAS that are dedicated for supporting an application session APS. Not all such nodes must be present in a given application session. Nodes that are optional are shown with dashed lines, like optional connections. Several instances of a given node type may be present.
  • the programmable application network 1 can be programmed or configured to support a given application session APS and to serve a given set of clients 3 , 4 , 7 , one of them could have the role of a game console as well, as will be explain below.
  • the network 1 then sets application network parameters so that sufficient bandwidth, network addresses, server memory, server computing power, application content generator capacity, application session name server capacity etc are allocated.
  • the nodes of a programmable application network 1 are described in detail below.
  • the optional ALS is used for setting up the application session APS. All optional nodes have dashed lines in the Figure. It is to be noted that the application lobby server need not be a part of the programmable application network (PAN) and instead be an external element connected to the network. Participants 5 in spe (pre-participants) could register at the ALS and negotiate with the programmable application network 1 through the application network management system ANMS (described below) to start an application session APS. An application service provider might use the ALS to authenticate participants and to handle accounting.
  • PAN programmable application network
  • ANMS Application Network Management System
  • the application network management system ANMS is used for initializing application sessions APS that may have been negotiated at the ALS. It is optional to have an application session management interface I between the ALS and the ANMS.
  • the programmable application network 1 support the application with a session management interface I, the session and client profiles 11 , 12 together with the alterations to these agreed upon by the Client gives the run-timed conditions for the application session APS.
  • the access ticket is the same as in case no session management interface I is provided.
  • the application network management system ANMS is used for reserving resources, optionally in the communication network 1 and at AS, AR, ACG and ASNS nodes (see below).
  • the application network management system ANMS might also be used for handling error conditions.
  • the application network management system ANMS is using at least one session profile 11 and at least one client profile 12 for configuring the programmable application network 1 .
  • a session profile 11 may include a set of application network parameters valid for an application session APS.
  • the session profile 11 is used to initialize and prepares the programmable application network 1 before or in connection with an application session APS is started.
  • a session profile 11 may include parameters specifying:
  • Client groups are sets of clients known to the application network 1 . Client groups can be used e.g. for multicasting application data.
  • Each client profile 12 initializes and prepares the programmable application network 1 and the client computer 5 before a given client joins the application session APS.
  • the client profile 12 limits the number of resources a given client 3 , 4 , 5 can use.
  • Client profiles 12 are optionally set individually for each client. However, standardized default client profiles can be set for convenience.
  • a client profile 12 could include parameter settings for:
  • a client or session profile 11 , 12 is a file or a database record that includes the following elements:
  • An application server AS receives application data and stores application data.
  • the application server AS distributes application data to application clients 3 , 4 according to queries, requests or subscriptions. Such queries, requests or subscriptions may be expressed in terms of subscriptions to application data units 6 carrying application tags (see below).
  • Computer memory for application data and for subscriptions and processing resources are reserved for an application session APS according to the session profile 11 and for an application client according to the client profile 12 .
  • An application client AC is a local instance of the computer process that is simulating the networked virtual environment.
  • An application client AC could e.g. be a Windows/UNIX process or thread.
  • One computer process could run one or several application clients AC.
  • An application client is thus a logical instance of a game or simulation and is not always identical to any specific computer process, thread, program or machine.
  • the participant computers 3 , 4 or for example a game console 7 that is running the application client AC have means for receiving input from the programmable application network and various inputs from users, as in SE . . . Fredriks, (through AR) and is displaying the output of the application as graphics, video, audio or haptic (physical sensing indication) output.
  • the application client AC may subscribe to, receive and process tagged application data units 6 and send tagged application data units 6 .
  • the session profile 11 and the client profile 12 are used to configure the application client AS so that it communicates according to the session and client profiles.
  • the Programmable application network accepts that a client 3 , 4 joins an application session APS only if the client logs on with an Session access ticket 10 that confirms the client's right to use network resources according to a given client profile 11 and session profile. Clients with incorrect application tickets are rejected.
  • the session access ticket 10 for a session participant to be connected to a particular session has such information to uniquely point out either
  • a client type for a specific session type for a specific game (a client profile and/or a session profile and/or an application name); or
  • Case 1 is preferable to use if the programmable application network PAN is run without session management interface I.
  • This information may be encoded according to any feasible method. This makes it possible for the programmable application network 1 to perform a simple authorization test of the client and at the same time set the client specific parameters.
  • the programmable application network performs an authorization test of the client by means of the coded session access ticket 10 and sets simultaneously the client specific parameters.
  • An application router AR is routing application data units 6 .
  • the session access ticket 10 is sent to the application router AR.
  • the participants are then connected to the application router R through the application client AC and from there to the programmable application network 1 .
  • the routing is dependent on the application tags (see below) carried by each application data unit 6 .
  • the application router AR receives data-grams containing application data units from the Communication Network 2 .
  • the application router AR reads the application tags of the application data units 6 and resends the application data units 6 over the Communication Network 2 with a network address that depends on the application tags and possibly also on Client subscriptions.
  • Computer memory for routing tables and for client subscriptions and processing resources are reserved for an application session APS according to the session profile 11 and for an application client AC according to the client profile 12 .
  • ACG Application Content Generator
  • An application content generator ACG is a server that generates content for an application session APS. It might e.g. be a game server in multi-player games that makes decisions about kills, collisions and damage. It might also be responsible for 4 running avatars that appear to be human-controlled but are managed by artificial intelligence.
  • the application content generator ACG receives and processes application data units 6 and sends application data units 6 carrying application tags. Computer memory for application data and processing resources are reserved for an application session according to the session profile and for an application client according to the client profile.
  • ASNS Application Session Name Server
  • the optional ASNS maps application session names to application tags in application data units 6 and vice versa and responds to operations such as setting names, removing names and inquiring about names. It will be described in detail below.
  • Computer memory for application databases and processing resources are reserved for an application session APS according to the session profile 11 and for an application client according to the client profile 12 .
  • An accounting system 8 could measure the properties of an application session APS including the start and stop time of the session and the join and leave time of each client 3 , 4 .
  • the session profile 11 and the client profile 12 are known by the accounting system 8 and give a description of the network resources, which have been used by the session and by each client 3 , 4 . This means that the amendments a profile parameter, such as an ALS, could demand.
  • the used session and client profiles could be different that the ones stored, since the ALS can amend individual parameters in the ALS for a session and per participant.
  • the accounting system 8 calculates charges for clients, application service providers, application lobby service providers, and operators according to the business model of the service.
  • Clients 3 , 4 may log in at the optional client authentication server CAS before joining an application session APS.
  • the optional client authentication server CAS may be connected to a user database and reports optionally to the Accounting System 8 .
  • the optional client authentication server CAS is used for ensuring that clients correspond to known users that have a customer account.
  • the client authentication server CAS is optionally connected to the application lobby server ALS for authorization of the ALS.
  • API Application Profile Database
  • Default session profiles and client profiles are stored in the application profile database APDB.
  • Each type of application e.g. the computer game Quake m Arena
  • Each session or client profile may have a name, so that they can be retrieved by referring to the name.
  • the communication network is typically using several packet-based communication protocols e.g. IP protocols 9 .
  • the communication network 2 carries data-grams from senders to receivers.
  • a data-gram consists typically of a Header and a Payload.
  • a Header may include one or several network addresses that are used by Routers in the communication network for sending the data-gram to the receiver.
  • Protocols 9 are often layered so that the payload of one protocol layer may include one or several data-grams of the next protocol layer.
  • Application data units are carried as payload in the network protocol data-grams.
  • the Application may include its own communication protocol.
  • the data-gram of is the application will here be called an application data unit 6 .
  • An application data unit 6 consists of several application tags and a payload.
  • the payload consists of application specific data such as positions, avatar properties, coded voice data etc.
  • An application tag is a field in packet header or in an application data unit header. It consists hence of a set of bits.
  • An application tag has a type that is marked by the corresponding field's position in the protocol or by flags in the protocol that indicates the type of the tag. If an application tag is a field in a general communication protocol it might be a network address, a multicast address or a port number. In the context of reference PCT/SE00/00932 it is an object identifier, a client identifier, a group identifier or a stream object key.
  • Application tags should be as short as possible for saving network bandwidth.
  • the application session APS is typically a simulation of a virtual world.
  • This world includes application items that are meaningful for the human users such as human participants, avatars controlled by humans, avatars controlled by AI, fixed roles in the game that may be switched between users (king, referee . . . ), objects in the virtual world, properties of objects and avatars, groups and teams of avatars, groups of objects, groups of groups, locations in the virtual world, media streams (voice, video) and collections of media streams. All such items may be identified by sets of application tags.
  • An application network parameter is a value of a controllable setting of any node in the programmable application network.
  • the network behavior in communicating and storing application data is changed if an application network parameter is modified.
  • the programmable application network 1 may distribute session access tickets 10 via the session management interface I (in the case when the programmable application network I does not have a CAS; one of many cases).
  • Clients 5 (and also participants which are already inserted in the system) that wishes to join or set up an application session APS will contact an ALS directly and optionally log in at the ALS by presenting a user name and a password across a secure communication link 2 .
  • the client could now either request that a new application session APS is set up or request to join an already existing application session APS.
  • the ALS sends the request further to the ANMS via the Session management interface I.
  • the ALS receives a session access ticket(s) from the ANMS if the request was approved.
  • the session access ticket(s) 10 could be distributed to the client by the ALS.
  • the client can use the session access ticket(s) 10 to join, rejoin and disconnect to/from the application session.
  • the client contacts an access node, e.g. an application router AR, in the programmable application network 1 providing the session access ticket 10 .
  • the access nodes check that the session access ticket 10 is a valid. Clients presenting a valid session access ticket 10 are allowed to join the session APS.
  • An alternative way of using the session access ticket system may be to open the session for an application with a certain session profile for a fixed number of clients, N, that are using a given client profile named P.
  • the ALS would then announce that the session is open for N clients of type P to join at one or several access nodes (identified by network addresses).
  • the application ticket is identical to the client profile name or the application ticket is translatable to the client profile name.
  • N clients with the same application ticket (AT) 10 can join the session at the announced access node(s).
  • the ANMS configures the access node(s) or the ALS, so that at the most N clients with application ticket AT can join. Any client can now join the session with the application ticket AT and be initialized with client profile P.
  • a function like that is useful when it is suitable to start e.g. a driving game with 16 drivers. All drivers have identical roles and it doesn't matter for the service provider which users that join
  • the client might optionally negotiate the use of a specific session profile.
  • the ALS could alternatively use a default session profile that is suitable for the application type.
  • the ALS contacts the Application Network Management System (ANMS) and requests that resources are reserved in the programmable application network 1 for a new session APS according to the session profile 11 .
  • ALS may send the application name to the ANMS through the interface I.
  • the session profile 11 is either sent by the ALS to the ANMS, or the name of the session profile is provided.
  • a list of modified application network parameters might optionally be sent from the ALS to the ANMS.
  • the transmitted parameter overrides the default parameters in the named session profile.
  • the ANMS retrieves optionally the session profile that corresponds to the provided name from the Application Profile Database APDB.
  • the application could either be identified by 1) the application name received from the ALS, inferred from the session profile name as e.g. a prefix, or 2) stored in conjunction with the session profile in the ANMS, or
  • the ANMS uses the session profile to configure the programmable application network for the new session.
  • ANMS or ALS selects a session identifier that is used in communication between the ALS, the ANMS and other nodes to identify the session.
  • the ALS signals to the communication network 2 by use a WWW interface or other means that the session now is available for clients to join. The client that requested the session to be set might automatically be joined.
  • a client that wishes to join a specific application session might optionally negotiate the use of a specific client profile.
  • the ALS could alternatively use a default client profile that is suitable for the client and the application type.
  • the ALS contacts the Application Network Management Systern (ANMS) and requests that resources are reserved in the programmable application network for a new client.
  • ANMS Application Network Management Systern
  • a list of modified application network parameters might optionally be sent from the ALS to the ANMS.
  • the transmitted parameter overrides the default parameters in the named client profile.
  • the ANMS retrieves optionally the client profile that corresponds to the provided name from an Application Profile Database (APDB).
  • APDB Application Profile Database
  • the ANMS uses the client profile to configure the programmable application network and optionally the client computer or the client application for the new session.
  • the client, ANMS or ALS selects a client identifier that is used in communication between the ALS, the ANMS and other nodes to identify the client.
  • the database of named session and client profiles could be stored in a database in a client machine, at the ALS, at the ANMS or in a separate APDB.
  • the invention supports a wide range of business models for providing networked virtual environments as a commercial service to users. The following roles are supported:
  • a network operator could own and operate generic equipment such as the communication network, QAS, ANMS, APDB, AS, AR and ASNS.
  • An application service provider could own and operate application specific equipment such as ALS and ACG.
  • Application publishers provide software for clients and the ACG and provide also suitable default client and session profiles that are stored e.g. in the APDB.
  • One company could e.g. be both an application publisher and an application service provider.
  • a specific node e.g. the ALS, could alternatively be owned by a network operator, an application service provider or an application publisher.
  • End users could pay a flat fee, a per-minute charge or a charge that depends on used resources in the programmable application network 1 for enjoying an application session.
  • the charge could be paid to either by a network operator, an application service provider or an application publisher.
  • the accounting system calculates the charge according to the selected charging model.
  • the party that receives the charge could forward a part of the charge to the other partners.
  • a network operator could e.g. charge a user for an application session on the telephone bill. One part of the charge is forwarded to the application service provider and another part of the charge is forwarded to the application publisher.
  • the present invention enables a charging system where the splitting of the revenues between the different business roles can be performed with fairness and accuracy.
  • the session profile and client profile accurately defines the resources that the session and client has used.
  • the owners of the various nodes in the programmable application nodes could receive revenue that is in proportion to the resources that they have provided.

Abstract

A configuration arrangement, data processing system and a computer program product for flexible communication infrastructure for a multi-user application to be provided to a programmable application network. Each user is a client comprising a client computer and is able to participate in the application as a session participant. Human supervising commanding operator after installation of the configuration elements should be essentially avoided. At least one session profile comprises a set of application network parameters valid for an application session (APS). The session profile initializes and prepares the programmable application network in connection with or before the start of the application session. Each of a number of client profiles comprises a set of application network parameters valid for the client participating in an application session.

Description

  • This invention relates to a configuration device of a flexible communication infrastructure for multi-user applications of the kind stated in the preamble of [0001] claim 1, and a method for making the configuration.
  • TECHNICAL FIELD
  • The application for the invention is networked virtual environments where widely distributed, multiple users interact in real-time. An application is here defined as a distributed computer process that is processing a networked virtual environment. Such applications aim for a sense of realism and an intensified (immersed) experience in a virtual world. They are used for military and industrial team training, collaborative design and engineering, multi-player games, virtual shopping, virtual conferences, remote customer support and distance learning. An application session is an instance of an application started at a given point in time. Clients can join, rejoin and leave the application session. The application session is terminated under some predefined conditions. [0002]
  • DESCRIPTION OF RELATED ART
  • PCT/SE00/00932 “Application Access Server”, having the priority date 1999-0510 from both SE 9901694-1 and U.S. Ser. No. 09/307,712, is a co-pending application, which describes a real-time performance in a communication network between a large number of participants. A server unit is provided comprising receiving means for receiving information from the client units. The server unit stores state information received from each of the client units and forwards this information to nodes in the network. It also transmits at least a part of the stored information to the clients. In this way the whole state of an application can be kept in one or more units in the network. This removes the need for each client to store the entire state, thereby reducing memory and bandwidth requirement for each client. [0003]
  • The present invention is based on the co-pending PCT/SE00/00932 but performs a semi-automatic configuration of the infrastructure for multi-user applications. [0004]
  • Simultaneously with this application are the co-pending applications SE- . . . Infrastructures) “Communication Infrastructure for Multi-user” and SE- . . . . Name Server) “Name Service for Networked MULTI-USER Applications”. [0005]
  • Some of the elements shown and discussed in this application are discussed in more detail in the co-pending applications, which are hereby incorporated by reference in its entirety for all and any purposes. [0006]
  • OBJECTS OF THE INVENTION
  • An object of the invention is to provide a semi-automatic configuration of a flexible communication infrastructure for multi-user applications. [0007]
  • Another object of the invention is to provide improved quality and economic use of network resources. [0008]
  • The Invention [0009]
  • A session profile consists of a set of application network parameters valid for/applied on an application session. The session profile is used to initialize and prepare the programmable application network before or in connection with an application session is started. A client profile consists of a set of application network parameters valid for a participant in an application session. The client profile is used to initialize and prepare the programmable application network and the client computer before or in connection with a given client joins the application session. [0010]
  • A set of client profiles may be associated to a session profile. Each application is optionally associated to one or several client profiles and application session profiles. [0011]
  • If the programmable application network does not support the application with a session management interface, the session and client profiles associated with the application gives the run-time conditions for the application session. [0012]
  • Session participants may join the session without having been provided with a particular session access ticket by the programmable application network (PAN). Session participants use the application name and/or the application session profile identity and/or the client profile identity as session access ticket and/or an identity assigned to each client access possibility (for example [0013] consecutive numbers 1 . . . 10, if clients are able to be connected with a certain client profile). This could be an optional part of a session access ticket in the case when only client type/session type is used a access ticket. This information may be encoded according to any feasible method. It makes it possible for the programmable application network to perform a simple authorization test of the client and at the same time set the client specific parameters. A simple authorization test could comprise that the client must know possible client profile names and/or session profile names and/or application names. Client specific parameters are provided in the client computer when the client is connected. These parameters are preferably provided in the programmable application network PAN before the client is connected but are associated to the client at the connection.
  • If the programmable application network PAN is configured in accordance with the invention a pre-configure could be provided by an application lobby server ALS, if a session management interface is used, or by a manual configuration of the system with this feature if there is no session management interface. [0014]
  • The programmable application network PAN could be open for connection of clients in a number of sessions for a number of applications. A client can connect by enclose a session access ticket, which points out the application session type and client type {for example 1) A+S+E:12, or 2) S+E if S is associated only to A, or 3) E if E is associated only to S or S is associated only to A, or 4) A if the client does not bother about the session type or client type}. [0015]
  • It is possible to provide still other identities, for example a number, on each ticket. If P=18 then this implies that a A+S+E:12 (or a connection possibility for [0016] number 12 of 18 possible). Se session type is just pointed out and not the specific session. If N=5, this implies that a ticket as A+S:4+E:12 or A+S+E:66 (of 18*5=90) (or connection possibility for 66 from the 90 possible). A specific session is pointed out, such as number 4 from the 5 possible. Thus, a session ticket could be constructed such that there are room for hybrids.
  • The system could be pre-configured for a number of different applications of the type A, B etc. For the application A: the number of N sessions having the session profile S, the number of M sessions having the session profile T etc. For session with the session profile S: the number of P clients having the client profile E, the number on Q clients having the client profile F etc. [0017]
  • If the programmable application network support the application with a session management interface the session and client profiles together with the alterations to these agreed upon by the client gives the run-time conditions for the application session. Session participants can join the session using the session access ticket provided by the programmable application network. [0018]
  • A user that wishes to initiate an application session negotiates the use of a certain session profile with the programmable application network. A user that wishes to join an application session negotiates the use of a certain client profile with the programmable application network. [0019]
  • Advantages [0020]
  • The invention enables that sufficient resources in the communication network and in all nodes of the programmable application network are allocated. This means that high and consistent end-user quality is guaranteed. The allocated resources are precisely tailored to the needs of the application. No wasteful over-provisioning is needed. Almost no human intervention is needed since the client and session profiles can be pre-prepared and used automatically. [0021]
  • The invention also gives a flexible way to set up sessions in the programmable application network both with and without the use of the Session management interface. The sign-on procedure using session access tickets is the same in these two cases.[0022]
  • BRIEF DESCRIPTION OF DRAWING
  • For a more complete understanding of the present invention and for further objects and advantages thereof, reference is now made to the following description of an embodiment thereof as shown in the accompanying drawing. The Figure illustrates a logic picture of a programmable application network (PAN) suitable for supporting networked virtual environments for the invention.[0023]
  • DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
  • Programmable Application Network (PAN) [0024]
  • A [0025] programmable application network 1 suitable for supporting networked virtual environments is shown in the Figure. It is a part of a communication network 2, for example included in an internet, an intranet or the like or being a private network. The communication network 2 comprises communication links and routers for general-purpose communication protocols, for example Internet protocols.
  • The [0026] communication network 2 includes also several nodes AC, ANS, ACG, AR, AS, APDB, ALS, ANMS, CAS that are dedicated for supporting an application session APS. Not all such nodes must be present in a given application session. Nodes that are optional are shown with dashed lines, like optional connections. Several instances of a given node type may be present.
  • The [0027] programmable application network 1 can be programmed or configured to support a given application session APS and to serve a given set of clients 3, 4, 7, one of them could have the role of a game console as well, as will be explain below. The network 1 then sets application network parameters so that sufficient bandwidth, network addresses, server memory, server computing power, application content generator capacity, application session name server capacity etc are allocated. The nodes of a programmable application network 1 are described in detail below.
  • Application Lobby Server (ALS) (Optional) [0028]
  • The optional ALS is used for setting up the application session APS. All optional nodes have dashed lines in the Figure. It is to be noted that the application lobby server need not be a part of the programmable application network (PAN) and instead be an external element connected to the network. Participants [0029] 5 in spe (pre-participants) could register at the ALS and negotiate with the programmable application network 1 through the application network management system ANMS (described below) to start an application session APS. An application service provider might use the ALS to authenticate participants and to handle accounting.
  • Application Network Management System (ANMS) [0030]
  • The application network management system ANMS is used for initializing application sessions APS that may have been negotiated at the ALS. It is optional to have an application session management interface I between the ALS and the ANMS. [0031]
  • If the [0032] programmable application network 1 support the application with a session management interface I, the session and client profiles 11, 12 together with the alterations to these agreed upon by the Client gives the run-timed conditions for the application session APS.
  • If the session management interface I is provided then the access ticket is the same as in case no session management interface I is provided, [0033]
  • The application network management system ANMS is used for reserving resources, optionally in the [0034] communication network 1 and at AS, AR, ACG and ASNS nodes (see below). The application network management system ANMS might also be used for handling error conditions.
  • In accordance with the invention the application network management system ANMS is using at least one [0035] session profile 11 and at least one client profile 12 for configuring the programmable application network 1.
  • [0036] Session profile 11
  • A [0037] session profile 11 may include a set of application network parameters valid for an application session APS. The session profile 11 is used to initialize and prepares the programmable application network 1 before or in connection with an application session APS is started. A session profile 11 may include parameters specifying:
  • 1) The maximum total usage of network resources for the session including bandwidth between the various nodes AC, ANS, ACG, AR, AS, APDB, ALS, ANMS, CAS in [0038] application network 1, memory usage in the various nodes of the application network 1.
  • 2) Communication protocol and application transport protocol settings and sizes of protocol fields and application tags. [0039]
  • 3) The maximum number of [0040] clients 3, 4 and client groups. Client groups are sets of clients known to the application network 1. Client groups can be used e.g. for multicasting application data.
  • 4) Parameters that determine the global behavior of the session APS, such as under what conditions the session is automatically terminated. [0041]
  • 5) A default client profile. [0042]
  • 6) The total allowed session time and various time-out settings. [0043]
  • Client Profiles [0044] 12
  • There could be a number of client profiles [0045] 12, each comprising a set of application network parameters valid for a participant in an application session APS. Each client profile 12 initializes and prepares the programmable application network 1 and the client computer 5 before a given client joins the application session APS. The client profile 12 limits the number of resources a given client 3, 4, 5 can use. Client profiles 12 are optionally set individually for each client. However, standardized default client profiles can be set for convenience. A client profile 12 could include parameter settings for:
  • 1) The client type and status. [0046]
  • 2) Authorization parameters controlling what the [0047] client 3, 4, 5 can do and can't do.
  • 3) Controlling packet size and bandwidth on the link to the client. [0048]
  • 4) The maximum individual usage of network resources including bandwidth between the various nodes in the [0049] application network 1, memory usage in the various nodes of the application network 1. The bandwidth usage on the access link to the client is controlled.
  • 5) Client group membership. [0050]
  • 7) Communication protocol and application protocol settings and sizes of protocol fields and application tags. [0051]
  • 8) The total allowed connection time and various time-out settings. [0052]
  • Format of Profiles [0053]
  • A client or [0054] session profile 11, 12 is a file or a database record that includes the following elements:
  • 1) a profile name [0055]
  • 2) optionally the name of the application session APS including its version number [0056]
  • 3) optionally comments and other information for human readers [0057]
  • 4) A list of application network parameters according to any suitable format, e.g. [0058]
  • i) a list of parameter name followed by a parameter value [0059]
  • ii) a list of parameter values where the position in the list indicates the parameter type [0060]
  • Application Server (AS) [0061]
  • An application server AS receives application data and stores application data. The application server AS distributes application data to [0062] application clients 3, 4 according to queries, requests or subscriptions. Such queries, requests or subscriptions may be expressed in terms of subscriptions to application data units 6 carrying application tags (see below). Computer memory for application data and for subscriptions and processing resources are reserved for an application session APS according to the session profile 11 and for an application client according to the client profile 12.
  • Application Client (AC) [0063]
  • An application client AC is a local instance of the computer process that is simulating the networked virtual environment. An application client AC could e.g. be a Windows/UNIX process or thread. One computer process could run one or several application clients AC. An application client is thus a logical instance of a game or simulation and is not always identical to any specific computer process, thread, program or machine. The [0064] participant computers 3, 4 or for example a game console 7 that is running the application client AC have means for receiving input from the programmable application network and various inputs from users, as in SE . . . Fredriks, (through AR) and is displaying the output of the application as graphics, video, audio or haptic (physical sensing indication) output. The application client AC may subscribe to, receive and process tagged application data units 6 and send tagged application data units 6. The session profile 11 and the client profile 12 are used to configure the application client AS so that it communicates according to the session and client profiles.
  • [0065] Application Session Tickets 10
  • The Programmable application network accepts that a [0066] client 3, 4 joins an application session APS only if the client logs on with an Session access ticket 10 that confirms the client's right to use network resources according to a given client profile 11 and session profile. Clients with incorrect application tickets are rejected. The session access ticket 10 for a session participant to be connected to a particular session has such information to uniquely point out either
  • 1. a client type for a specific session type for a specific game (a client profile and/or a session profile and/or an application name); or [0067]
  • 2. A client in a specific session for a particular application. [0068]
  • [0069] Case 1 is preferable to use if the programmable application network PAN is run without session management interface I.
  • This information may be encoded according to any feasible method. This makes it possible for the [0070] programmable application network 1 to perform a simple authorization test of the client and at the same time set the client specific parameters.
  • Thus, the programmable application network performs an authorization test of the client by means of the coded [0071] session access ticket 10 and sets simultaneously the client specific parameters.
  • Application Router (AR) [0072]
  • An application router AR is routing [0073] application data units 6. The session access ticket 10 is sent to the application router AR. The participants are then connected to the application router R through the application client AC and from there to the programmable application network 1. The routing is dependent on the application tags (see below) carried by each application data unit 6. The application router AR receives data-grams containing application data units from the Communication Network 2. The application router AR reads the application tags of the application data units 6 and resends the application data units 6 over the Communication Network 2 with a network address that depends on the application tags and possibly also on Client subscriptions. Computer memory for routing tables and for client subscriptions and processing resources are reserved for an application session APS according to the session profile 11 and for an application client AC according to the client profile 12.
  • Application Content Generator (ACG) (Optional) [0074]
  • An application content generator ACG is a server that generates content for an application session APS. It might e.g. be a game server in multi-player games that makes decisions about kills, collisions and damage. It might also be responsible for 4 running avatars that appear to be human-controlled but are managed by artificial intelligence. The application content generator ACG receives and processes [0075] application data units 6 and sends application data units 6 carrying application tags. Computer memory for application data and processing resources are reserved for an application session according to the session profile and for an application client according to the client profile.
  • Application Session Name Server (ASNS) (optional) [0076]
  • The optional ASNS maps application session names to application tags in [0077] application data units 6 and vice versa and responds to operations such as setting names, removing names and inquiring about names. It will be described in detail below. Computer memory for application databases and processing resources are reserved for an application session APS according to the session profile 11 and for an application client according to the client profile 12.
  • [0078] Accounting System 8
  • An [0079] accounting system 8 could measure the properties of an application session APS including the start and stop time of the session and the join and leave time of each client 3, 4. The session profile 11 and the client profile 12 are known by the accounting system 8 and give a description of the network resources, which have been used by the session and by each client 3, 4. This means that the amendments a profile parameter, such as an ALS, could demand. The used session and client profiles could be different that the ones stored, since the ALS can amend individual parameters in the ALS for a session and per participant. The accounting system 8 calculates charges for clients, application service providers, application lobby service providers, and operators according to the business model of the service.
  • Client Authentication Server (CAS) (optional) [0080]
  • [0081] Clients 3, 4 may log in at the optional client authentication server CAS before joining an application session APS. The optional client authentication server CAS may be connected to a user database and reports optionally to the Accounting System 8. The optional client authentication server CAS is used for ensuring that clients correspond to known users that have a customer account. The client authentication server CAS is optionally connected to the application lobby server ALS for authorization of the ALS.
  • Application Profile Database (APDB) [0082]
  • Default session profiles and client profiles are stored in the application profile database APDB. Each type of application (e.g. the computer game Quake m Arena) may have one or several associated session profiles [0083] 11 and client profiles 12 in the database APDB. Each session or client profile may have a name, so that they can be retrieved by referring to the name.
  • Communication Protocols [0084]
  • [0085] Network Protocols 9
  • The communication network is typically using several packet-based communication protocols e.g. [0086] IP protocols 9. The communication network 2 carries data-grams from senders to receivers. A data-gram consists typically of a Header and a Payload. A Header may include one or several network addresses that are used by Routers in the communication network for sending the data-gram to the receiver. Protocols 9 are often layered so that the payload of one protocol layer may include one or several data-grams of the next protocol layer. Application data units are carried as payload in the network protocol data-grams.
  • Application Transport Protocol [0087]
  • The Application may include its own communication protocol. The data-gram of is the application will here be called an [0088] application data unit 6. An application data unit 6 consists of several application tags and a payload. The payload consists of application specific data such as positions, avatar properties, coded voice data etc.
  • Application Tags [0089]
  • An application tag is a field in packet header or in an application data unit header. It consists hence of a set of bits. An application tag has a type that is marked by the corresponding field's position in the protocol or by flags in the protocol that indicates the type of the tag. If an application tag is a field in a general communication protocol it might be a network address, a multicast address or a port number. In the context of reference PCT/SE00/00932 it is an object identifier, a client identifier, a group identifier or a stream object key. Application tags should be as short as possible for saving network bandwidth. [0090]
  • The application session APS is typically a simulation of a virtual world. This world includes application items that are meaningful for the human users such as human participants, avatars controlled by humans, avatars controlled by AI, fixed roles in the game that may be switched between users (king, referee . . . ), objects in the virtual world, properties of objects and avatars, groups and teams of avatars, groups of objects, groups of groups, locations in the virtual world, media streams (voice, video) and collections of media streams. All such items may be identified by sets of application tags. [0091]
  • Programming the Application Network [0092]
  • Application Network Parameters [0093]
  • An application network parameter is a value of a controllable setting of any node in the programmable application network. The network behavior in communicating and storing application data is changed if an application network parameter is modified. [0094]
  • Starting a Session and Including Clients in a Session [0095]
  • Ticket handling when joining an existing application session [0096]
  • The [0097] programmable application network 1 may distribute session access tickets 10 via the session management interface I (in the case when the programmable application network I does not have a CAS; one of many cases). Clients 5 (and also participants which are already inserted in the system) that wishes to join or set up an application session APS will contact an ALS directly and optionally log in at the ALS by presenting a user name and a password across a secure communication link 2. The client could now either request that a new application session APS is set up or request to join an already existing application session APS.
  • The ALS sends the request further to the ANMS via the Session management interface I. The ALS receives a session access ticket(s) from the ANMS if the request was approved. The session access ticket(s) [0098] 10 could be distributed to the client by the ALS. The client can use the session access ticket(s) 10 to join, rejoin and disconnect to/from the application session.
  • The client contacts an access node, e.g. an application router AR, in the [0099] programmable application network 1 providing the session access ticket 10. The access nodes check that the session access ticket 10 is a valid. Clients presenting a valid session access ticket 10 are allowed to join the session APS.
  • An alternative way of using the session access ticket system may be to open the session for an application with a certain session profile for a fixed number of clients, N, that are using a given client profile named P. The ALS would then announce that the session is open for N clients of type P to join at one or several access nodes (identified by network addresses). The application ticket is identical to the client profile name or the application ticket is translatable to the client profile name. This means that N clients with the same application ticket (AT) [0100] 10 can join the session at the announced access node(s). The ANMS configures the access node(s) or the ALS, so that at the most N clients with application ticket AT can join. Any client can now join the session with the application ticket AT and be initialized with client profile P. A function like that is useful when it is suitable to start e.g. a driving game with 16 drivers. All drivers have identical roles and it doesn't matter for the service provider which users that join
  • Setting Up a New Application Session [0101]
  • The client might optionally negotiate the use of a specific session profile. The ALS could alternatively use a default session profile that is suitable for the application type. The ALS contacts the Application Network Management System (ANMS) and requests that resources are reserved in the [0102] programmable application network 1 for a new session APS according to the session profile 11. ALS may send the application name to the ANMS through the interface I. The session profile 11 is either sent by the ALS to the ANMS, or the name of the session profile is provided. A list of modified application network parameters might optionally be sent from the ALS to the ANMS. The transmitted parameter overrides the default parameters in the named session profile. The ANMS retrieves optionally the session profile that corresponds to the provided name from the Application Profile Database APDB. The application could either be identified by 1) the application name received from the ALS, inferred from the session profile name as e.g. a prefix, or 2) stored in conjunction with the session profile in the ANMS, or 3) be a parameter in the session profile.
  • The ANMS uses the session profile to configure the programmable application network for the new session. ANMS or ALS selects a session identifier that is used in communication between the ALS, the ANMS and other nodes to identify the session. The ALS signals to the [0103] communication network 2 by use a WWW interface or other means that the session now is available for clients to join. The client that requested the session to be set might automatically be joined.
  • Joining a Client to a Application Session [0104]
  • A client that wishes to join a specific application session might optionally negotiate the use of a specific client profile. The ALS could alternatively use a default client profile that is suitable for the client and the application type. The ALS contacts the Application Network Management Systern (ANMS) and requests that resources are reserved in the programmable application network for a new client. Either the client profile is sent by the ALS to the ANMS or the name of the client profile is provided. A list of modified application network parameters might optionally be sent from the ALS to the ANMS. The transmitted parameter overrides the default parameters in the named client profile. The ANMS retrieves optionally the client profile that corresponds to the provided name from an Application Profile Database (APDB). [0105]
  • The ANMS uses the client profile to configure the programmable application network and optionally the client computer or the client application for the new session. The client, ANMS or ALS selects a client identifier that is used in communication between the ALS, the ANMS and other nodes to identify the client. [0106]
  • Implementation Modes [0107]
  • Storage Location [0108]
  • The database of named session and client profiles could be stored in a database in a client machine, at the ALS, at the ANMS or in a separate APDB. [0109]
  • Accurate Business Models [0110]
  • The invention supports a wide range of business models for providing networked virtual environments as a commercial service to users. The following roles are supported: [0111]
  • A network operator could own and operate generic equipment such as the communication network, QAS, ANMS, APDB, AS, AR and ASNS. [0112]
  • An application service provider could own and operate application specific equipment such as ALS and ACG. [0113]
  • Application publishers provide software for clients and the ACG and provide also suitable default client and session profiles that are stored e.g. in the APDB. [0114]
  • The tasks of the different roles could be modified. One company could e.g. be both an application publisher and an application service provider. A specific node, e.g. the ALS, could alternatively be owned by a network operator, an application service provider or an application publisher. [0115]
  • End users could pay a flat fee, a per-minute charge or a charge that depends on used resources in the [0116] programmable application network 1 for enjoying an application session. The charge could be paid to either by a network operator, an application service provider or an application publisher. The accounting system calculates the charge according to the selected charging model. The party that receives the charge could forward a part of the charge to the other partners. A network operator could e.g. charge a user for an application session on the telephone bill. One part of the charge is forwarded to the application service provider and another part of the charge is forwarded to the application publisher.
  • The present invention enables a charging system where the splitting of the revenues between the different business roles can be performed with fairness and accuracy. The session profile and client profile accurately defines the resources that the session and client has used. The owners of the various nodes in the programmable application nodes could receive revenue that is in proportion to the resources that they have provided. [0117]
  • Although the invention is described with respect to an exemplary embodiment it should be understood that modifications can be made without departing from the scope thereof. Accordingly, the invention should not be considered to be limited to the described embodiment, but defined only by the following claims which are intended to embrace all equivalents thereof. [0118]

Claims (30)

1. A configuration arrangement for flexible communication infrastructure for a multi-user application to be provided to a programmable application network (1), each user being a client (3, 4, 5) comprising a client computer and being able to participate in the application as a session participant, characterized by, in order to essentially avoid human supervising commanding operator after installation of the configuration means,
a) at least one session profile (11) comprising a set of application network parameters valid for an application session (APS), said session profile initializes and prepares the programmable application network (1) in connection with or before the start of the application session;
b) a number of client profiles (12), each comprising a set of application network parameters valid for the client participating in an application session, each said client profile initializes and prepares the programmable application network (1) and the client computer in connection with or before the joining of a given client (5) to the application session;
c) each client being provided with a session access ticket (10);
d) the session and client profiles (11, 12) associated with the application is adapted to give run-time conditions for the application session, if the programmable application network (1) does not support the application with a session management interface (I);
e) a session management interface (I) supporting the programmable application network support with the session and client profiles (11, 12) together with alterations to these agreed upon by the client in order to give the run-time conditions for the application session (APS); and
f) for both cases d) and e), the clients logon with their application session tickets (10).
2. A configuration arrangement according to claim 1, characterized in that the session access ticket (10) for a session participant to be connected to a session has such information to uniquely point out either a particular client and/or in a particular session and/or for a particular application or a client profile type and/or a session profile type and/or an application and/or a particular client.
3. A configuration arrangement according to claim 2, characterized in that an application name and/or session profile and/or a client profile identity and/or a client accen connection is provided as the session access ticket (10) for a session participant.
4. A configuration arrangement according to anyone of the preceding claims, characterized in that information about the session access ticket (10) is coded.
5. A configuration arrangement according to anyone or the preceding claims, characterized in that each application is associated to one or several client profiles (11) and application session profiles (12).
6. A configuration arrangement according to claim 2, characterized in that the programmable application network (1) performs an authorization test of the client by means of the coded session access ticket (10) and sets simultaneously the client specific parameters.
7. A configuration arrangement according to anyone of the preceding claims, characterized in that a set of client profiles (12) are associated to the at least one the session profile.
8. A configuration arrangement according to anyone of the preceding claims, characterized in that session participants can join the session using the session access ticket (10) provided by the programmable application network (1).
9. A configuration arrangement according to anyone of the preceding claims, characterized by negotiation means (ALS) through which a possible client (5) that wishes to initiate an application session (APS) negotiates the use of a certain session profile (11) with the programmable application network (1).
10. A configuration arrangement according to anyone of the preceding claims, characterized in that the negotiation means (ALS) provides a negotiation between the user and the programmable application network (1) about joining an application session using a certain client profile (12).
11. A data processing system for flexible communication infrastructure for a multi-user application to be provided to a programmable application network (1), in order to essentially avoid human supervising commanding operator after installation of the system, wherein each user being a client (3, 4, 5) comprising a client computer and being able to participate in the application as a session participant, characterized by,
a) at least one session profile (11) comprising a set of application network parameters valid for an application session (APS), said session profile initializes and prepares the programmable application network (1) in connection with or before the start of the application session;
b) a number of client profiles (12), each comprising a set of application network parameters valid for the client participating in an application session, each said client profile initializes and prepares the programmable application network (1) and the client computer in connection with or before the joining of a given client (5) to the application session;
e) each client being provided with a session access ticket (10);
d) the session and client profiles (11, 12) associated with the application are adapted to give run-time conditions for the application session, if the programmable application network (1) does not support the application with a session management interface (I);
e) a session management interface (I) supporting the programmable application network support with the session and client profiles (11, 12) together with alterations to these agreed upon by the client in order to give the run-time conditions for the application session (APS); and
f) for both cases d) and e), the clients logon with their application session tickets (10).
12. A data processing system according to claim 11, characterized in that the session access ticket (10) for a session participant to be connected to a session has such information to uniquely point out either a particular client and/or in a particular session and/or for a particular application or a client profile type and/or a session profile type and/or an application and/or a particular client.
13. A data processing system according to claim 12, characterized in that an application name and/or session profile and/or a client profile identity and/or a client accen connection is provided as the session access ticket (10) for a session participant.
14. A data processing system according to anyone of the claims 11 to 13, characterized in that information about the session access ticket (10) is coded.
15. A data processing system according to anyone or the claims 11 to 14, characterized in that each application is associated to one or several client profiles (11) and application session profiles (12).
16. A data processing system according to claim 12, characterized in that the programmable application network (1) performs an authorization test of the client by means of the coded session access ticket (10) and sets simultaneously the client specific parameters.
17. A data processing system according to anyone of the claims 11 to 16, characterized by a set of client profiles (12) are associated to the at least one the session profile.
18. A data processing system according to anyone of the claims 11 to 17, characterized in that session participants can join the session using the session access ticket (10) provided by the programmable application network (1).
19. A data processing system according to anyone of the claims 11 to 18, characterized by negotiation means (ALS) through which a possible client (5) who wishes to initiate an application session (APS) negotiates the use of a certain session profile (11) with the programmable application network (1).
20. A data processing system according to anyone of the claims 11 to 19, characterized in that the negotiation means (ALS) provides a negotiation between the user and the programmable application network (1) about joining an application session using a certain client profile (12).
21. A computer program product comprising a computer readable medium, having thereon:
computer program code means, when said program is loaded, to make the computer execute procedure to display information within a first window in a display of at least one client computer (7) for flexible communication infrastructure for a multi-user application to be loaded from the client computer (7) to a programmable application network (1), each user being a client (3, 4, 5) comprising a client computer and being able to participate in the application as a session participant, characterized by, in order to essentially avoid human supervising commanding operator after installation of the program in the programmable application network (1),
a) at least one session profile (11) comprising a set of application network parameters valid for an application session (APS), said session profile initializes and prepares the programmable application network (1) in connection with or before the start of the application session;
b) a number of client profiles (12), each comprising a set of application network parameters valid for the client participating in an application session, each said client profile initializes and prepares the programmable application network (1) and the client computer in connection with or before the joining of a given client (5) to the application session;
c) each client being provided with a session access ticket (10);
d) the session and client profiles (11, 12) associated with the application is adapted to give run-time conditions for the application session, if the programmable application network (1) does not support the application with a session management interface (I);
e) a session management interface (I) supporting the programmable application network support with the session and client profiles (11, 12) together with alterations to these agreed upon by the client in order to give the run-time conditions for the application session (APS); and
f) for both cases d) and e), the clients logon with their application session tickets (10).
22. A computer program product according to claim 21, characterized in that the session access ticket (10) for a session participant to be connected to a session has such information to uniquely point out either a particular client and/or in a particular session and/or for a particular application or a client profile type and/or a session profile type and/or an application and/or a particular client.
23. A computer program product according to claim 22, characterized in that an application name and/or session profile and/or a client profile identity and/or a client accen connection is provided as the session access ticket (10) for a session participant.
24. A computer program product according to anyone of the claims 21 to 23, characterized in that information about the session access ticket (10) is coded.
25. A computer program product according to anyone or the claims 21 to 24, characterized in that each application is associated to one or several client profiles (11) and application session profiles (12).
26. A computer program product according to claim 22, characterized in that the programmable application network (1) performs an authorization test of the client by means of the coded session access ticket (10) and sets simultaneously the client specific parameters.
27. A computer program product according to anyone of the claims 21 to 26, characterized by a set of client profiles (12) are associated to the at least one the session profile.
28. A computer program product according to anyone of the claims 21 to 27, characterized in that session participants can join the session using the session access ticket (10) provided by the programmable application network (1).
29. A computer program product according to anyone of the claims 21 to 28, characterized by negotiation means (ALS) through which a possible client (5) that wishes to initiate an application session (APS) negotiates the use of a certain session profile (11) with the programmable application network (1).
30. A computer program product according to anyone of the claims 21 to 29, characterized in that the negotiation means (ALS) provides a negotiation between the user and the programmable application network (1) about joining an application session using a certain client profile (12).
US10/415,080 2000-10-27 2001-10-22 Configuration of a flexible infrastructure Abandoned US20040059711A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE0003926A SE517815C2 (en) 2000-10-27 2000-10-27 Configuration of a flexible infrastructure
SE0003926-3 2000-10-27
PCT/SE2001/002308 WO2002035765A1 (en) 2000-10-27 2001-10-22 Configuration of a flexible infrastructure

Publications (1)

Publication Number Publication Date
US20040059711A1 true US20040059711A1 (en) 2004-03-25

Family

ID=20281605

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/415,080 Abandoned US20040059711A1 (en) 2000-10-27 2001-10-22 Configuration of a flexible infrastructure

Country Status (10)

Country Link
US (1) US20040059711A1 (en)
EP (1) EP1334582A1 (en)
JP (1) JP4017037B2 (en)
KR (1) KR20030064774A (en)
CN (1) CN1311658C (en)
AU (2) AU2001296185B2 (en)
IL (1) IL155381A0 (en)
NO (1) NO20031871L (en)
SE (1) SE517815C2 (en)
WO (1) WO2002035765A1 (en)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204566A1 (en) * 2002-04-26 2003-10-30 Dhupelia Shekhar V. Multi-user application program interface
US20040002384A1 (en) * 2002-06-28 2004-01-01 Multerer Boyd C. Discovery and distribution of game session information
US20070005925A1 (en) * 2005-06-21 2007-01-04 Paul Burkley Methods for optimizing memory unit usage to maximize packet throughput for multi-processor multi-threaded architectures
US20070250641A1 (en) * 2006-04-21 2007-10-25 Microsoft Corporation Meetings structures and global unique identifiers
US20090094370A1 (en) * 2007-10-05 2009-04-09 Mark Lester Jacob Seamless Host Migration Based on NAT Type
US20090113060A1 (en) * 2007-10-05 2009-04-30 Mark Lester Jacob Systems and Methods for Seamless Host Migration
US20090119740A1 (en) * 2007-11-06 2009-05-07 Secure Computing Corporation Adjusting filter or classification control settings
US20090325709A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Game Clan Matchmaking
US20100185856A1 (en) * 2009-01-16 2010-07-22 Microsoft Corporation Stateless Agent
US20100287239A1 (en) * 2002-05-17 2010-11-11 Masayuki Chatani Managing Participants in an Online Session
US20100293072A1 (en) * 2009-05-13 2010-11-18 David Murrant Preserving the Integrity of Segments of Audio Streams
US20110093282A1 (en) * 2009-10-20 2011-04-21 Universal Research Solutions LLC Generation and Data Management of a Medical Study Using Instruments in an Integrated Media and Medical System
US20110093481A1 (en) * 2009-10-20 2011-04-21 Universal Research Solutions LLC Generation and Data Management of a Medical Study Using Instruments in an Integrated Media and Medical System
US20110093292A1 (en) * 2009-10-20 2011-04-21 Universal Research Solutions LLC Generation and Data Management of a Medical Study Using Instruments in an Integrated Media and Medical System
US20110161105A1 (en) * 2009-10-20 2011-06-30 Ali Adel Hussam Patient outcome-based data store
US20110184781A1 (en) * 2009-10-20 2011-07-28 Ali Adel Hussam Tracking of Patient Satisfaction Levels within a Healthcare Facility
US8126987B2 (en) 2009-11-16 2012-02-28 Sony Computer Entertainment Inc. Mediation of content-related services
WO2012116463A2 (en) * 2011-02-28 2012-09-07 Hewlett-Packard Development Company, L.P. Multi-session user interfaces
US8433759B2 (en) 2010-05-24 2013-04-30 Sony Computer Entertainment America Llc Direction-conscious information sharing
US8966557B2 (en) 2001-01-22 2015-02-24 Sony Computer Entertainment Inc. Delivery of digital content
US9483405B2 (en) 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
US20170324561A1 (en) * 2016-05-04 2017-11-09 Avaya Inc. Secure application attachment
CN110275778A (en) * 2019-06-14 2019-09-24 上海商汤智能科技有限公司 Online program operating method, device, electronic equipment and computer storage medium
US10695671B2 (en) 2018-09-28 2020-06-30 Sony Interactive Entertainment LLC Establishing and managing multiplayer sessions
US10765952B2 (en) 2018-09-21 2020-09-08 Sony Interactive Entertainment LLC System-level multiplayer matchmaking
US10812600B1 (en) * 2019-11-28 2020-10-20 International Business Machines Corporation Enforcing session properties compliance for gateway connected publish-subscribe clients
US10834556B2 (en) * 2014-09-30 2020-11-10 Google Llc Mobile application state identifier framework
US11334555B2 (en) 2004-11-08 2022-05-17 Dropbox, Inc. Method and apparatus for a file sharing and synchronization system
US11809450B2 (en) 2018-04-27 2023-11-07 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150599A1 (en) * 2005-12-22 2007-06-28 International Business Machines Corporation Generation of resource-usage profiles for application sessions of a number of client computing devices
US11115442B2 (en) * 2019-08-28 2021-09-07 Sony Interactive Entertainment Inc. Initiating multiuser sessions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5899810A (en) * 1997-01-24 1999-05-04 Kaon Interactive Corporation Distributed game architecture to overcome system latency
US6138120A (en) * 1998-06-19 2000-10-24 Oracle Corporation System for sharing server sessions across multiple clients
US6266675B1 (en) * 1997-10-07 2001-07-24 Phycom Corporation System and method for using a relational database to enable the dynamic configuration of an application program
US6311209B1 (en) * 1997-07-16 2001-10-30 Microsoft Corporation Methods for performing client-hosted application sessions in distributed processing systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2281676A (en) * 1993-09-07 1995-03-08 Motorola Ltd System for broadcast and group communications in a communications system
KR100420232B1 (en) * 1995-07-05 2004-05-31 코닌클리케 필립스 일렉트로닉스 엔.브이. A communication system including a transmitting apparatus and a receiving apparatus
JPH10257064A (en) * 1997-03-11 1998-09-25 Ricoh Co Ltd Communication control system
SE520137C2 (en) * 1997-03-11 2003-06-03 Ericsson Telefon Ab L M Method and device for sending from an Internet-connected computer its telephone number to a dialed telephone by means of a service in a node

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5899810A (en) * 1997-01-24 1999-05-04 Kaon Interactive Corporation Distributed game architecture to overcome system latency
US6311209B1 (en) * 1997-07-16 2001-10-30 Microsoft Corporation Methods for performing client-hosted application sessions in distributed processing systems
US6266675B1 (en) * 1997-10-07 2001-07-24 Phycom Corporation System and method for using a relational database to enable the dynamic configuration of an application program
US6138120A (en) * 1998-06-19 2000-10-24 Oracle Corporation System for sharing server sessions across multiple clients

Cited By (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966557B2 (en) 2001-01-22 2015-02-24 Sony Computer Entertainment Inc. Delivery of digital content
US7613800B2 (en) 2002-04-26 2009-11-03 Sony Computer Entertainment America Inc. Communication across multiple game applications
US20100285872A1 (en) * 2002-04-26 2010-11-11 Dhupelia Shekhar V Method for Authenticating a User in an Interactive Gaming Environment
USRE48700E1 (en) 2002-04-26 2021-08-24 Sony Interactive Entertainment America Llc Method for ladder ranking in a game
USRE48803E1 (en) 2002-04-26 2021-11-02 Sony Interactive Entertainment America Llc Method for ladder ranking in a game
US20090006604A1 (en) * 2002-04-26 2009-01-01 Dhupelia Shekhar V Communication across multiple game applications
US20090006545A1 (en) * 2002-04-26 2009-01-01 Dhupelia Shekhar V Creating an interactive gaming environment
US7962549B2 (en) 2002-04-26 2011-06-14 Sony Computer Entertainment America Llc Method for ladder ranking in a game
USRE48802E1 (en) 2002-04-26 2021-11-02 Sony Interactive Entertainment America Llc Method for ladder ranking in a game
US7877509B2 (en) 2002-04-26 2011-01-25 Sony Computer Entertainment America Llc Balancing distribution of participants in a gaming environment
US7822809B2 (en) 2002-04-26 2010-10-26 Sony Computer Entertainment America Llc Creating an interactive gaming environment
US7930345B2 (en) 2002-04-26 2011-04-19 Sony Computer Entertainment America Llc Method for authenticating a user in an interactive gaming environment
US20030204566A1 (en) * 2002-04-26 2003-10-30 Dhupelia Shekhar V. Multi-user application program interface
US7711847B2 (en) * 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
US8793315B2 (en) 2002-05-17 2014-07-29 Sony Computer Entertainment America Llc Managing participants in an online session
US10659500B2 (en) 2002-05-17 2020-05-19 Sony Interactive Entertainment America Llc Managing participants in an online session
US20100287239A1 (en) * 2002-05-17 2010-11-11 Masayuki Chatani Managing Participants in an Online Session
US9762631B2 (en) 2002-05-17 2017-09-12 Sony Interactive Entertainment America Llc Managing participants in an online session
US7803052B2 (en) * 2002-06-28 2010-09-28 Microsoft Corporation Discovery and distribution of game session information
US20100317430A1 (en) * 2002-06-28 2010-12-16 Microsoft Corporation Discovery and Distribution of Game Session Information
US20040002384A1 (en) * 2002-06-28 2004-01-01 Multerer Boyd C. Discovery and distribution of game session information
US8972548B2 (en) 2002-07-31 2015-03-03 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
US9729621B2 (en) 2002-07-31 2017-08-08 Sony Interactive Entertainment America Llc Systems and methods for seamless host migration
US9516068B2 (en) 2002-07-31 2016-12-06 Sony Interactive Entertainment America Llc Seamless host migration based on NAT type
US11789930B2 (en) 2004-11-08 2023-10-17 Dropbox, Inc. Method and apparatus for a file sharing and synchronization system
US11341114B2 (en) * 2004-11-08 2022-05-24 Dropbox, Inc. Method and apparatus for a file sharing and synchronization system
US11334555B2 (en) 2004-11-08 2022-05-17 Dropbox, Inc. Method and apparatus for a file sharing and synchronization system
US7373475B2 (en) * 2005-06-21 2008-05-13 Intel Corporation Methods for optimizing memory unit usage to maximize packet throughput for multi-processor multi-threaded architectures
US20070005925A1 (en) * 2005-06-21 2007-01-04 Paul Burkley Methods for optimizing memory unit usage to maximize packet throughput for multi-processor multi-threaded architectures
US7660852B2 (en) 2006-04-21 2010-02-09 Microsoft Corporation Meeting structures and global unique identifiers
US20070250641A1 (en) * 2006-04-21 2007-10-25 Microsoft Corporation Meetings structures and global unique identifiers
US9483405B2 (en) 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
US10547670B2 (en) 2007-10-05 2020-01-28 Sony Interactive Entertainment America Llc Systems and methods for seamless host migration
US8131802B2 (en) 2007-10-05 2012-03-06 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
US11228638B2 (en) 2007-10-05 2022-01-18 Sony Interactive Entertainment LLC Systems and methods for seamless host migration
US10063631B2 (en) 2007-10-05 2018-08-28 Sony Interactive Entertainment America Llc Systems and methods for seamless host migration
US8560707B2 (en) 2007-10-05 2013-10-15 Sony Computer Entertainment America Llc Seamless host migration based on NAT type
US20090113060A1 (en) * 2007-10-05 2009-04-30 Mark Lester Jacob Systems and Methods for Seamless Host Migration
US20090094370A1 (en) * 2007-10-05 2009-04-09 Mark Lester Jacob Seamless Host Migration Based on NAT Type
US20090119740A1 (en) * 2007-11-06 2009-05-07 Secure Computing Corporation Adjusting filter or classification control settings
US20090325709A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Game Clan Matchmaking
US20100185856A1 (en) * 2009-01-16 2010-07-22 Microsoft Corporation Stateless Agent
US8645689B2 (en) 2009-01-16 2014-02-04 Microsoft Corporation Stateless agent
US20100293072A1 (en) * 2009-05-13 2010-11-18 David Murrant Preserving the Integrity of Segments of Audio Streams
US10199123B2 (en) 2009-10-20 2019-02-05 Universal Research Solutions, Llc Generation and data management of a medical study using instruments in an integrated media and medical system
US20110093481A1 (en) * 2009-10-20 2011-04-21 Universal Research Solutions LLC Generation and Data Management of a Medical Study Using Instruments in an Integrated Media and Medical System
US8756072B2 (en) 2009-10-20 2014-06-17 Universal Research Solutions, Llc Generation and data management of a medical study using instruments in an integrated media and medical system
US9153003B2 (en) 2009-10-20 2015-10-06 Universal Research Solutions, Llc Generation and data management of a medical study using instruments in an integrated media and medical system
US9460267B2 (en) 2009-10-20 2016-10-04 Universal Research Solutions, Llc Generation and data management of a medical study using instruments in an integrated media and medical system
US8627221B2 (en) 2009-10-20 2014-01-07 Universal Research Solutions, Llc Generation and data management of a medical study using instruments in an integrated media and medical system
US8583453B2 (en) 2009-10-20 2013-11-12 Universal Research Solutions, Llc Generation and data management of a medical study using instruments in an integrated media and medical system
US8498881B2 (en) 2009-10-20 2013-07-30 Universal Research Solutions, Llc Generation and data management of a medical study using instruments in an integrated media and medical system
US20110093282A1 (en) * 2009-10-20 2011-04-21 Universal Research Solutions LLC Generation and Data Management of a Medical Study Using Instruments in an Integrated Media and Medical System
US20110184781A1 (en) * 2009-10-20 2011-07-28 Ali Adel Hussam Tracking of Patient Satisfaction Levels within a Healthcare Facility
US20110093796A1 (en) * 2009-10-20 2011-04-21 Otho Raymond Plummer Generation and data management of a medical study using instruments in an integrated media and medical system
US8429547B2 (en) 2009-10-20 2013-04-23 Universal Research Solutions, Llc Generation and data management of a medical study using instruments in an integrated media and medical system
US20110093292A1 (en) * 2009-10-20 2011-04-21 Universal Research Solutions LLC Generation and Data Management of a Medical Study Using Instruments in an Integrated Media and Medical System
US11170343B2 (en) 2009-10-20 2021-11-09 Universal Research Solutions, Llc Generation and data management of a medical study using instruments in an integrated media and medical system
US20110093281A1 (en) * 2009-10-20 2011-04-21 Otho Raymond Plummer Generation and Data Management of a Medical Study Using Instruments in an Integrated Media and Medical System
US8782063B2 (en) 2009-10-20 2014-07-15 Universal Research Solutions, Llc Generation and data management of a medical study using instruments in an integrated media and medical system
US20110161105A1 (en) * 2009-10-20 2011-06-30 Ali Adel Hussam Patient outcome-based data store
US8126987B2 (en) 2009-11-16 2012-02-28 Sony Computer Entertainment Inc. Mediation of content-related services
US8433759B2 (en) 2010-05-24 2013-04-30 Sony Computer Entertainment America Llc Direction-conscious information sharing
WO2012116463A2 (en) * 2011-02-28 2012-09-07 Hewlett-Packard Development Company, L.P. Multi-session user interfaces
WO2012116463A3 (en) * 2011-02-28 2013-05-10 Hewlett-Packard Development Company, L.P. Multi-session user interfaces
US10834556B2 (en) * 2014-09-30 2020-11-10 Google Llc Mobile application state identifier framework
US10601595B2 (en) * 2016-05-04 2020-03-24 Avaya Inc. Secure application attachment
US20170324561A1 (en) * 2016-05-04 2017-11-09 Avaya Inc. Secure application attachment
US11809450B2 (en) 2018-04-27 2023-11-07 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
US10765952B2 (en) 2018-09-21 2020-09-08 Sony Interactive Entertainment LLC System-level multiplayer matchmaking
US10695671B2 (en) 2018-09-28 2020-06-30 Sony Interactive Entertainment LLC Establishing and managing multiplayer sessions
US11364437B2 (en) 2018-09-28 2022-06-21 Sony Interactive Entertainment LLC Establishing and managing multiplayer sessions
CN110275778A (en) * 2019-06-14 2019-09-24 上海商汤智能科技有限公司 Online program operating method, device, electronic equipment and computer storage medium
US10812600B1 (en) * 2019-11-28 2020-10-20 International Business Machines Corporation Enforcing session properties compliance for gateway connected publish-subscribe clients

Also Published As

Publication number Publication date
AU9618501A (en) 2002-05-06
NO20031871L (en) 2003-06-26
IL155381A0 (en) 2003-11-23
AU2001296185B2 (en) 2005-10-06
NO20031871D0 (en) 2003-04-25
JP4017037B2 (en) 2007-12-05
CN1471772A (en) 2004-01-28
WO2002035765A1 (en) 2002-05-02
SE517815C2 (en) 2002-07-16
KR20030064774A (en) 2003-08-02
SE0003926L (en) 2002-04-28
EP1334582A1 (en) 2003-08-13
CN1311658C (en) 2007-04-18
JP2004512621A (en) 2004-04-22
SE0003926D0 (en) 2000-10-27

Similar Documents

Publication Publication Date Title
AU2001296185B2 (en) Configuration of a flexible infrastructure
AU2001296185A1 (en) Configuration of a flexible infrastructure
US20040030787A1 (en) Communication infrastructure arrangement for multiuser
EP1207650B1 (en) Method and apparatus for opening electronic conference
AU2001296186A1 (en) Communication infrastructure arrangement for multiuser
US6167432A (en) Method for creating peer-to-peer connections over an interconnected network to facilitate conferencing among users
US6529882B1 (en) Method for managing group membership in internet multicast applications
EP1194876B1 (en) Method and apparatus in a communication network
JP2005531048A5 (en)
US6446116B1 (en) Method and apparatus for dynamic loading of a transport mechanism in a multipoint data delivery system
US20030056002A1 (en) Load balancing and fault tolerance for server-based software applications
US6935960B2 (en) Server for mapping application names to tag values in distributed multi-user application
CA2534622A1 (en) Methods and apparatus for verifying context participants in a context management system in a networked environment
WO2007139850A2 (en) System and method for providing conferencing capabilities
AU2001296187A1 (en) Server for mapping application names to tag values in distributed multi-user application
US6870843B1 (en) Self implementing multicast level escalation
JP4857675B2 (en) Application integrated management system, apparatus and program, integrated session management server, system, program and server housing, communication system, session control server, and integrated application server
CN105847396A (en) Data transmission method and device
CN101989978A (en) Method, device and system for forwarding data by real time streaming protocol (RTSP) proxy
CN103069782B (en) Communication system and the method for being communicated by this communication system
JP4491351B2 (en) Application integrated management system, apparatus and program, integrated session management server, system, program and server housing, communication system, session control server, and integrated application server
CN101305623A (en) Method and apparatus for determining PT server having controlling function
JP2005323409A (en) Multicast communication system
CN109194983A (en) Live broadcasting method, system, storage medium, broadcasting server and server cluster
CN117135196A (en) Data transmission method and related equipment

Legal Events

Date Code Title Description
AS Assignment

Owner name: TERRAPLAY SYSTEMS AB, SWEDEN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JANDEL, MAGNUS;JONSSON, JONAS;REEL/FRAME:014052/0674;SIGNING DATES FROM 20030415 TO 20030425

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION