WO2007019689A1 - Coordination of client and geo-location oriented services in a mobile network - Google Patents

Coordination of client and geo-location oriented services in a mobile network Download PDF

Info

Publication number
WO2007019689A1
WO2007019689A1 PCT/CA2006/001337 CA2006001337W WO2007019689A1 WO 2007019689 A1 WO2007019689 A1 WO 2007019689A1 CA 2006001337 W CA2006001337 W CA 2006001337W WO 2007019689 A1 WO2007019689 A1 WO 2007019689A1
Authority
WO
WIPO (PCT)
Prior art keywords
mobile clients
server
services
service
mobile
Prior art date
Application number
PCT/CA2006/001337
Other languages
French (fr)
Inventor
André Claude BAYOMOCK LINWA
Samuel Pierre
Original Assignee
Corporation De L'ecole Polytechnique De Montreal
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 Corporation De L'ecole Polytechnique De Montreal filed Critical Corporation De L'ecole Polytechnique De Montreal
Publication of WO2007019689A1 publication Critical patent/WO2007019689A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data

Definitions

  • the present invention relates to a mobile network and more specifically to the coordination of client and geo-location oriented services provided to mobile clients in a mobile network.
  • a geo-located web service is a web service that is offered in a particular geographical region or area.
  • a geo-located web service uses the mobile position to deliver a service.
  • a geo- located web service could be an emergency application which informs the police or firefighter administration of a particular region about the location of a car accident, using the driver's mobile phone position.
  • next generation (superior or equals to the third generation) of mobile networks
  • a geo-located web service will interact with the position or Location Server (LCS) of a mobile network operator [3GPP, "Functional stage 2 description of location services in UMTS", Technical Specifications TS 23.171 V3.9.0, Reference http://www.arib.or.jp/IMT- 2000/ARIB-spec/ARIB/23171_300.PDF, September 2002].
  • LCS Location Server
  • the geo-located web services can be deployed on the next generation mobile networks. Then, it will be possible to a Supplier Application Server (SAS) to get the location or geographical position of a mobile client.
  • SAS Supplier Application Server
  • an SAS is considered as a set of web services that require the client position to deliver the service.
  • a geo-located web service generates a maintainability problem of a service execution when a mobile client moves to a location area where the service is no longer offered by the SAS in execution.
  • Geo-located web services are web services offered in a particular geographical region.
  • a geo-located web service can be mapped to a set of mobile network location areas.
  • SAS supplier application server
  • a mobile client roams in a mobile network, if he has a geo-located web service in execution progress at a supplier application server (SAS), he will lose its session in case when its current location is not covered by this SAS.
  • SAS supplier application server
  • the geographical position of a mobile client will be sent back by a Location Server (LCS) to an application which requests it.
  • LCS Location Server
  • the great challenge for a mobile client will be to discover and maintain a geo-located web service when he is roaming.
  • the GLWSA is a set of discover servers named GLWSMs (Geo-Located Web Service Manager) which are distributed in the topology.
  • the GLWSA extends the UDDI and MLP protocols to add the GLWSM topology management and the thematic location of a mobile clients group, respectively.
  • a thematic location consists of sending to a LCS, a chain of characters that represents a theme or a subject linking a group of mobile clients.
  • An example of thematic location is to determine the position of all railroad trains of Via Rail Canada which are in Montreal area.
  • the "railroad trains of Via Rail Canada” is the subject or theme.
  • a method of coordinating client oriented services provided to mobile clients in a network comprising: -discovering the mobile clients in the network;
  • the step of establishing linking data preferably comprises binding software components selected for each of the mobile clients as a function of the profile information with a service application program operable to interact with and serve all of the mobile clients.
  • the profile information preferably includes quality of service parameters, the steps are preferably coordinated using at least one middleware server, wherein the step of getting profile information on the mobile clients preferably comprises sending the profile information from the mobile clients to the middleware server.
  • the profile information can also be predetermined, then the step of getting profile information on the mobile clients preferably comprises looking in a client database server, and the steps are preferably coordinated using at least one middleware server, wherein the linking data is communicated from the middleware server to at least one server providing the services without involving the mobile clients.
  • the step of discovering the mobile clients in the network preferably comprises identifying the mobile clients while the mobile clients contacting their respective home middleware servers.
  • the step of discovering the mobile clients in the network preferably includes determining a location of the mobile clients, the step of determining services that apply to the mobile clients preferably comprises determining a most appropriate application server providing a set of the services, and the step of giving access of the services to the mobile clients is preferably carried out using the most appropriate application server.
  • the method preferably further comprises, if required, coordinating migration of the determined services provided by an application server to the most appropriate application server.
  • the most appropriate application server is preferably a nearest application server to the mobile clients' location.
  • the most appropriate application server can also be an application server that provides the set of the services and that allows access of the set of the services to some of the mobile clients in according to quality of service requirements.
  • the services preferably consist of a same application service executed by different application servers according to different quality of service parameters.
  • a method of locating mobile clients in a network comprising:
  • a system for coordinating client oriented services provided to mobile clients in a network comprising (see Fig. 6):
  • the middleware server in communication with the location server for receiving locations of the mobile clients within the network, the middleware server further receiving profile information on the mobile clients, determining services that apply to the mobile clients as a function of the profile information, determining a most appropriate application server among the at least one application server to provide each of the services determined to be applicable, and for transmitting to at least one of the most appropriate application server and the mobile clients linking data for facilitating a connection of the mobile clients to the most appropriate server.
  • the system preferably further comprises at least one client database server connected to the at least one middleware server for receiving the profile information on the mobile clients.
  • the profile information can also be sent by the mobile clients.
  • the at least one application server preferably comprises a large number of application servers.
  • the system preferably further comprises at least one UDDIM server in communication with the at least one middleware server for transmitting network topology and characteristics.
  • the at least one middleware server preferably comprises a large number of middleware servers, and the system preferably further comprises a root server connected to each of the large number of middleware servers for facilitating communication therebetween.
  • Fig. 1 is a view showing a GLWSA architecture
  • Fig. 2 is a view showing a GLWSA topology
  • Fig. 3 a is a view showing the impact of the micromobility in GLWSA in case of HMIPv6;
  • Fig. 3 b is a view showing the impact of the macromobility in GLWSA in case of HMIPv6;
  • Fig. 4 is a UML class diagram showing UDDIM data structures
  • Fig. 5 is a UML class diagram showing MLPe data structures
  • Fig. 6 is a block diagram of a system for coordinating client-oriented services provided to mobile clients in a network
  • Fig. 7 is a view showing a functional architecture of GLWSA.
  • Fig. 8 is a view showing the process of nearest service lookup with or without QoS
  • Fig. 9 is a view showing the process of service publication
  • Fig. 10 is a view showing the process of coordination of the service migration with or without QoS;
  • Fig. 11 is a view showing the generated network topology and trajectory of a target mobile client
  • Fig. 12 is a view showing Round Trip Time of a nearest service lookup in case of one client
  • Fig. 13 is a view showing nearest service lookup time comparison
  • Fig. 14 is a view showing Round Trip Time of a nearest service lookup in the case where the number of clients varies between 1 and 50;
  • Fig. 15 is a view showing coordination time of a service migration without QoS
  • Fig. 16 is a view showing geo-located web service publication time in two
  • Fig. 17 is a view showing geo-located web service publication time in two
  • Fig. 18 is a view showing geo-located web service publication time in ten
  • Fig. 19 is a view showing geo-located web service publication time in twenty GLWSM leaf nodes
  • Fig. 20 is a view showing comparison of the sending location time of a group of mobiles (locateMsids) versus a thematic location (locateSubject).
  • the UDDI is a directory or a register of companies in order to publish Web services and describe the manner of reaching each Web service in a WSDL (Web Service Description Language) document.
  • the UDDI fulfills the functions of white, yellow and green pages.
  • a detailed description of the UDDI protocol is described in [UDDI, http://www.uddi.org/specification.html].
  • the UDDI is made up mainly of four entities: businessEntity, businessServices, bindingTemplates and tModels.
  • the businessEntity describes a company or an organization. It contains basic information about an organization (name, description, category, person contacts, etc.), the businessServices that it offers and the URL addresses where its Web services can be discovered.
  • the businessEntity envelopes all other entities.
  • the businessServices is a collection of businessService entity offered by an organization.
  • Each businessService has one or more technical Web Service Descriptions captured in an XML element called a bindingTemplate.
  • the bindingTemplate contains the information that is relevant for application programs that need to invoke or to bind to a specific Web Service. This information includes the Web Service' URL address, and other information describing hosted services, routing and load balancing facilities contains the data required to invoke a service. Before invoking a Web Service, it is useful to determine whether the specific service being invoked complies with a particular behavior or programming interface.
  • Each bindingTemplate element therefore, contains an element called a tModel that has information which enables a client to determine whether a specific Web Service is a compliant implementation.
  • the protocol UDDI offers two sets of API: inquiry and publish API.
  • the inquiry API lookup or search for a businessEntity, businessService, bindingTemplate and tModel in the registry.
  • the publish API verify credentials of a publisher, save or delete a businessEntity, businessService, bindingTemplate and tMode ⁇ in the registry.
  • the Mobile Location Protocol is an application-level protocol that uses XML messages for querying the position of mobile stations independent of underlying network technology (UMTS, CDMA-2000, or WGS-136).
  • the MLP serves as the interface between a Location Server and an application server [Location Inter-operability Forum (LIF) 1 "Mobile Location Protocol", LIF TS 101 Specification, Version 3.0.0 6, Reference http://dan.greening.name/profession/manuscripts/LIF%20TS%20101%20v 3.0.0.pdf, June 2002].
  • LIF Location Inter-operability Forum
  • the MLP protocol has three main layers: service, element and transport. On the lowest level, the transport protocol defines how XML content is transported. Possible MLP transport protocols include HTTP, SOAP and others.
  • the element layer defines all common elements used by the services in the service layer.
  • the service layer (top layer) defines the services offered by the MLP.
  • the services are classified into five categories: standard location immediate service, emergency location immediate service, standard location reporting service, emergency location reporting service and triggered location reporting service.
  • the standard location immediate service is a standard query service with support for a large set of parameters. This service is used when a single location response is required immediately (within a set time).
  • the emergency location immediate service is a service used especially for querying the location of a mobile client that has initiated an emergency call. The response to this service is required immediately (within a set time).
  • the standard location reporting service is a service that is used when a mobile client wants an application server to receive its location.
  • the position is sent to the application server from the location server.
  • the concerned application and its address are defined in the location server or specified by the mobile client.
  • the emergency location reporting service is a service that is used when the wireless network automatically initiates the positioning at an emergency call.
  • the position and related data are then sent to the emergency application from the location server.
  • the triggered location reporting service is a service used when the mobile client's location should be reported at a specific time interval or on the occurrence of a specific event.
  • the Global Architecture Proposed 0 The approach used to design the GLWSA is to analyze the web services discovering in mobility context. For these purposes, all entities that interact with the system must be found.
  • UDDI is a base registry of web services and extend it for client mobility.
  • MLP the interoperability location protocol and extend it to add factorized common 5 location methods.
  • the proposed system GLWSA (Fig. 1) is described before the GLWSA topology. Then, the impact of mobility will be illustrated. Finally, the UDDIM (UDDI for Mobiles) registry and the MLPe (Mobile Location Protocol extension) will be described.
  • the GLWSA illustrated in Fig. 1 , is composed of three main entities: the server Geo-Located Web Services Manager (GLWSM), the UDDIM and ClientlnfosDB (Client personal Information DataBase) databases.
  • GLWSM server Geo-Located Web Services Manager
  • UDDIM User DataBase
  • ClientlnfosDB Client personal Information DataBase
  • the UDDIM database is an extension of UDDI to store the GLWSA topology. This extension is related to the geographical position of GLWSM nodes, the service agreement to a specific GLWSM node and the desired QoS limit values of a specific service.
  • the database ClientlnfosDB stores user personal data such as identification (name, address, username, 0 password, etc.), equipment (mobile station identifier, phone number), subscription and quality of service data.
  • the GLWSM interacts with external entities such as: mobile clients, LCS, and SAS.
  • SOAP Simple Object Accces Protocol
  • MLPe protocol is used between GLWSM and LCS.
  • a data connector such as ODBC (Open Data Base Connectivity) is used. The messages exchanged are carried out through the mobile network and Internet.
  • ODBC Open Data Base Connectivity
  • the GLWSA topology proposed is a bi-level hierarchical model.
  • a bi-level tree was chosen to reduce the number of exchanged messages among the GLWSM nodes when a publication service is initiated and to limit the lookup service to a single node.
  • the lower level corresponds to the level of the tree leaves and the higher level represents the tree root.
  • the leaf level includes or contains several GLWSM nodes.
  • a leaf node contains a set of published services from the suppliers.
  • the service publication is coordinated by the root node which stores all GLWSM nodes of the GLWSA topology.
  • Each mobile access network is associated with one GLWSM node.
  • a GLWSM covers a region that represents the location areas of the mobile access network with which it is associated. Two different GLWSM nodes cannot cover the same location areas.
  • a SAS can be associated with many GLWSMs.
  • a supplier's particular web service can be distributed over many SAS. The main characteristic of the leaf nodes is that they are dependent on the location areas of the network operator to ensure the mobility tracking, to maintain service execution in a SAS, and to coordinate the service migration when a mobile client moves to location areas controlled by another GLWSM node where the service in execution exists. Otherwise, the service execution will continue to be provided by the SAS in progress. We impose a migration delay constraint of 2 seconds to migrate a service.
  • Home Node is the GLWSM leaf node where the mobile client is registered.
  • Visited Node is a GLWSM leaf node other than the home node of a mobile client.
  • Nearest Node is a GLWSM leaf node where the mobile client is located.
  • Nearest SAS is the SAS attached to the nearest GLWSM node and where the service requested by a mobile client is in execution phase.
  • micromobility and macromobility Two mobility scenarios are possible when a mobile client interacts with a GLWSM node: micromobility and macromobility (Fig. 3a) and 3b)).
  • an IP micromobility protocol such as HMIPv ⁇ , Cellular IPv6 or Hawaii IPv6 is used to know the location address of a mobile client in the network layer.
  • HMIPv6 Mobile Anchor Point
  • a mobile client who is attached to access router AR,i sends a lookup message to GLWSM h and changes point of attachment to AR, 2 before receiving the result.
  • the mobile client will receive two care-of-addresses: new local care-of-address LCoA, 2 and a regional care-of-address RCoA 1 .
  • He will send a binding update containing RCoA 1 and LCoA,2 to a gateway router GR, acting as MAP (Mobile Anchor Point).
  • MAP Mobile Anchor Point
  • the GR 1 extracts the LCoA, 2 and RCoA 1 , then update its routing table to forward all received packets sent by GLWSMh with RCoA 1 to LCoA, 2 .
  • the mobile client will received the server SAS 1 address and will interact with it.
  • the mobile client will receive a new local care-of-address LCoA j i and a new regional care-of-address RCoA j . He will send three binding updates.: the first one to GRj acting as MAP that contains the LCoA j i and RCoA j , the second to the home agent that contains the RCoA, and the third to the correspondent GLWSM h that contains the RCoA j too. All packets addressed to the mobile client will be routed to its new RCoA,. Thus, the GR j will forward them to the new LCOAJ- I .
  • the current UDDI version does not define data structures and API to find and publish a geo-located web service.
  • UDDI protocol to add the GLWSA topology and the agreement service in order to find and publish a geo-located web service.
  • UDDI extension a UDDIM (UDDI for Mobiles).
  • UDDI UDDI for Mobiles
  • the data structure of a Node element describes information about a GLWSM node.
  • the parameters that identify a GLWSM node are node key, the node URL, the type of the node ("root” or “leaf), the geographical position of the node (xPos, yPos, zPos), the maximum distance distanceMaxNodeSetvice allowed between an SAS and the node nodeld, the MAP address of the MAP associated with the node and the number of line segments numberOfPolygonLineSegment that delimit the node covered area (we consider that a node covered area has a polygon shape).
  • the Agreement element represents service agreement of a particular service. It is composed of the agreement key, service key, service administrator identifier and coordinate system reference.
  • the AgreementNode element represents the detailed description of an agreement service in a particular GLWSM node. It is composed of the static QoS parameters (costService, BW_min, BWjnax, PPD_min, PPDjnax, SDU_smax).
  • CostService CostService
  • BW_min, BWjnax, PPD_min, PPDjnax, SDU_smax The BW min and BW_max represent the minimum and maximum bandwidth a service serviceld can offer at the node nodeld.
  • the PPD_min and PPD_max represent the minimum and maximum propagation path delay a service serviceld can offer at the node nodeld.
  • the SDU_smax is the maximum size of the service data unit.
  • the parameters (xPos, yPos, and zPos) of an AgreementNode element materialize the geographical position of a SAS that offers the service serviceld at the node nodeld.
  • the PolygonLineSegment allows determining one line segment of a node-covered area which has a polygon shape.
  • the (X1, Y1) and (X2, Y2) parameters represent the X and Y cartesian coordinate values of two points "1" and "2" belonging at one line segment, respectively.
  • the UDDIM API are methods that manage the data structures that we described above.
  • createAgreement(paramefers are all parameters of element 'Agreement) creates a new Agreement for a specific service
  • removeAgreement(agreementld: String) removes a specific agreement
  • findAgreement(agreementld: String) finds a specific agreement
  • createAgreementNode(parameters are all parameters of element ⁇ greementNode) creates a new agreement for a specific service in a particular node
  • removeAgreementNode(agreementld: String, nodeKey: String) removes a specific agreement for particular node
  • createPolygonLineSegment(parameters are all parameters of element 'PolygonLineSegmenf) creates a new line segment for a specific node
  • removePolygonLineSegment(lineSegmentld: String) removes a specific line segment
  • the usability of mobile client location to offer services is a common characteristic of geo-located applications.
  • an application requests the positions of a group of mobiles, it sends a list of mobile identifiers to the LCS (Table 1).
  • LCS mobile identifiers
  • thematic factorization would allow requesting the positions of a group of mobiles bound by a subject and thus avoid loading on the network a list of the mobiles which would increase the transmission time of the requests to the GLWSM.
  • the current MLP was extended.
  • the MLPe was also provided with the API to manage elements Theme and ThemeMsid: addTheme(parameters are all parameters of element Theme) adds a theme to an LCS, removeTheme(themeld: String) removes a specific theme; findTheme(themeld: String) finds a specific theme; addThemeMsid (themeld: String, msld: String) relates or adds a specific mobile identifier msld to the particular theme themeld; findAIIMsidOfTheme(themeld: String) finds all mobile client identifiers related to the theme themeld; removeThemeMsid (themeld: String, msid: String ) removes a specific mobile identifier msld from the particular theme themeld.
  • - locateSubjectNearOf(subject, position, precision) allows to locate the position of all the mobiles of the queried subject whose distance compared to the value "position" is less than or equal to "precision"
  • - locateSubjectlnZone(subject, idzone) allows locating the position of all the mobiles of the subject queried which are in the area "idzone”;
  • the LocationData object contains the position result status (success or failure) of a specific mobile.
  • the zone is the node covered area (specifically, it is a collection of PolygonLineSegment elements).
  • the detailed information of a mobile position is contained in the LocatedMobileStation object.
  • the parameter urlList contains two URL addresses listened by the Ericsson MPS Emulator.
  • the method pushAnnounceEntry called by notifyEntry just adds a found mobile identifier in the list of found mobiles in the SAS.
  • the thematic location generates a security problem to know if a location requester that is authorized to use a thematic location has the right to obtain the position of a particular client. Then, for security reasons, the authorization process to get a mobile location verifies first if a particular user has the right to use the requested thematic location and if he has the right to see the position of a client before getting a mobile client location.
  • the global process of locating thematically a group of mobile clients comprises the following steps:
  • a client (mobile or fix) defines a location criterion and a thematic subject associated with a group of mobile clients and sends it to a middleware server.
  • the middleware server sends the received client request to a location server in order to determine the location of mobile clients in according to the request criterions;
  • the MLPe protocol process the request and interacts with a client database to determine a first list of mobile clients from the theme contained in the request;
  • the MLPe sends the first list of mobile clients determined to the Location Server (LCS) in order to localize them within the network.
  • LCS Location Server
  • the Location Sever localize the mobile clients contained in the first list and determine those among them who respect the location criterion specified by the client in his request and includes these mobile clients in a second list;
  • the Location Server sends the second list of mobile clients to the middleware server.
  • the middleware server sends the second list of located mobile clients to the client. TABLE 2
  • Call call (Call) service createCall(), call setTargetEndpo ⁇ ntAddress( new java net URL(urlApp) ), call setOperat ⁇ onName(new QNamefhttp //soapinterop org/", "pushAnnounceEntry”)),
  • Theme theme null
  • ThemeMsid themeMsid null
  • com ericsson snf mps Connection conn null
  • LocationResult result null
  • Fig. 7 The functional architecture of a GLWSA is illustrated in Fig. 7. In this section, we describe the manager objects where API functions are implemented.
  • the functional architecture has three main layers: published services and asynchronous message, service managers and basic classes.
  • a published service is a web service.
  • Axis Apache container that parses developed classes to SOAP (and SOAP to classes), deploys the methods selected in a service manager to a web service.
  • the asynchronous message listeners consist of listening to the message sent to the broker destination addresses of a specific GLWSM node.
  • Sun Message Queue 3.5 toolkit To implement asynchronous messages, we used Sun Message Queue 3.5 toolkit. Each message has a producer who writes and sends the message and one or many subscribers that consum the message.
  • the service managers layer is composed of eight software modules: AA "Authentication and Authorization”, DSM “Discovery Services Manager”, SM “Subscription Manager”, LM “Location Manager”, TM “Topology Manager”, AM “Agreement Manager”, NQoSM “Network QoS Manager”, and MM “Migration Manager”.
  • Authentication and Authorization Manager Authentication and authorization operations are conducted in GLWSM home. Mobile clients first connect with GLWSM home giving their credentials (username, password). After successful authentication, access control takes place. The access control operation is based on the user's role and capabilities. There are three types of roles: administrator, supplier and client. 2) Subscription Manager
  • Suppliers use a subscription manager to register new clients who want to use one of their applications. This operation will assign a GLWSM home to a client according to his home address. Personal data such as name, username, password, address, subscribed services, mobile equipment identifier will be recorded in the ClientlnfosDB database attached to the GLWSM home node.
  • the mobile client sends first a nearest service lookup request containing the service name and the mobile identifier to his home
  • the home GLWSM node sends a client position request to the
  • the LCS returns the client's geographical position to the
  • the home GLWSM node finds and selects in his UDDIM database the GLWSM leaf node that covers the current location area of the mobile client (the covered areas property described in the section
  • IV-B is used in this step. If the mobile position does not belong in the covered areas of any of the GLWSM leaf nodes, then the requested service is not offered in the location area where the mobile client currently resides and no SAS will be selected. 4- If a GLWSM leaf node is found, it is considered to be the nearest
  • the home GLWSM node finds and selects the requested service in his UDDIM (the visibility relation described in the section
  • GLWSM will be returned to the mobile client. 7- The SAS that offers the returned service will be considered to be the nearest SAS offering this service.
  • the migration manager of a current nearest GLWSM node tracks the position of any mobile client in communication with a current SAS attached to it. It also coordinates the service migration by informing the current nearest SAS in execution of the next SAS address. At the beginning of the process, a mobile client MC is attached to a current nearest SAS in execution. This SAS is considered as the current SAS where the requested service is in execution.
  • the detailed description of the coordination of the service migration with QoS is beyond the scope of this paper. The steps below described the coordination of a migration process without QoS (Fig. 10):
  • the current nearest GLWSM where the mobile MC is attached sends to an LCS a location request that consists of tracking if the mobile MC is presently in its covered location areas.
  • the geographical position obtained is processed by the current nearest GLWSM to find the next nearest GLWSM node that covers the current location area of the mobile client.
  • the current nearest GLWSM verifies if the next nearest GLWSM found is a member of the service agreement nodes. In other terms, the current nearest GLWSM verifies if the requested service is offered in the next nearest GLWSM.
  • next nearest GLWSM is either attached to the same current nearest SAS or a next nearest SAS.
  • next nearest GLWSM is attached to the current nearest SAS, the service execution will continue to this current nearest SAS and the next nearest GLWSM will be notified by the current nearest GLWSM to track the position of the mobile client who has just entered into his covered location areas.
  • the current nearest GLWSM informs the current nearest SAS in execution progress of the URL address of the next nearest SAS where the service must be migrated so that the service remains closer of the client's current position. Once the service has migrated, the current nearest GLWSM associated with the current nearest SAS closes the client session and instructs the next nearest GLWSM to continue tracking the target client position.
  • the maintainability of services in execution provides the continuity of a service and eventually reduces the communication costs. Indeed, when a client moves over a mobile network topology, the number of used hops between him and the SAS taking part in the communication will generally increase if the client moves farther away. Consequently, the total delay of exchanged messages between these two entities may considerably increase due principally to the queuing delay in the hops.
  • the service migration will reduce this latency by selecting the nearest SAS that offers the service in the mobile client location context and decrease communication costs in cases where time billing model is used [www.3G.co.uk., "SFR launch 3G” , http://www.3g.co.uk/PR/June2004/7922.htm, June 17, 2004].
  • the process migration between two SAS is not in the scope of the GLWSA. Meanwhile, the SAS process migration can be done using thread migration without transferring the application code (in fact that each SAS has a persistent application code) or using session migration.
  • An interesting work in thread migration realized by [S. Bouchenak, D. Hagimont, S. Krakowiak, N. De Palma and F. Boyer. "Experiences Implementing Efficient Java Thread Serialization, Mobility and Persistence", INRIA Technical Report No. RR-4662, December 2002], conducted to build a thread migration tool that does not generate the message overhead. This tool is certified and protected by Sun Microsystems.
  • the performance of thread or session migration depends on the size of frames and the size of serialized objects to migrate.
  • the session or thread median migration latency is in order of three milliseconds to few hundred of milliseconds.
  • the topology manager object maintains the topology of the GLWSA. It adds, removes and modifies GLWSM node information. Those operations can only be performed by a GLWSM administrator. 6) Location Manager
  • the location manager interacts with the LCS to obtain the position of mobile clients. It contains location API and thematic location API to get position of a mobile or a group of mobile clients.
  • the agreement manager defines the agreement contract of a geo-located web service. It binds a geo-located web service of a SAS to a list of GLWSM nodes, defines the service cost at each GLWSM node, the minimum and maximum QoS requirements that the supplier wishes to be controlled.
  • the network QoS will be used to collect the QoS parameters (network path bandwidth, SAS utilization rate) in a particular domain controlled by a
  • the proposed network manager does not provided the negotiation or re- negotiation QoS mechanisms. The detailed operations of the network QoS manager fall beyond the scope of this paper.
  • This prototype implements the functionalities of the GLWSM and communicates with the LCS and the SAS servers. Communication with the
  • LCS was carried out through Ericsson MPS 6.0 emulator.
  • the emulator uses an MLP V3.0 protocol to determine the position of a client (or a group of clients) moving over the network topology.
  • the GLWSMh is the home GLWSM domain of the target mobile client and its geographical covered areas
  • the GLWSM1 and GLWSM2 are the visited GLWSM domains of the target mobile client with their associated geographical covered areas.
  • a static route file that contains the current cell identifier where the mobile resides, the relative distance between the mobile and the current base station and the mobile position data calculated each 10 seconds and given in geographical system coordinate (latitude/longitude/altitude) is created.
  • the tool calculates the client position between two consecutive offset times of the route file (for example between 0 and 10 seconds) by using the interpolation operations. But the formula used to do the interpolation operations is not given by the MPS tool specifications.
  • the emulator starts a clock and reads the mobile position in function clock time in the static route file created.
  • the machines used to materialize the GLWSM, the SAS and the LCS are similar (1.2 GHz Pentium III with 512 Mo RAM). The machines are connected in a wireless LAN.
  • the WLAN has a transmission rate of 11 Mbits/s and is compliant IEEE 802.11 b.
  • the relevant metrics selected to evaluate the performances of the GLWSM are: the nearest service lookup time, the lookup mobile time, the migration service time and the publication service time.
  • the round trip time is the time difference between the reception time of the request response at a client machine and the time when the client sent a request to a server.
  • RTT round trip time
  • Fig. 14 we measured the RTT of the nearest service lookup when the number of clients varies from 1 to 50. We found an average RTT value of 52 milliseconds and a maximal RTT of 620 milliseconds. We also found that the RTT increases considerably when the number of clients is greater than or equal to 28. We think that the increasing of RTT and the observed peak values are due to the GLWSM buffer overflow.
  • the coordination time of a service migration shown in Fig. 15 represents the RTT to send the URL of the next SAS (that implement the service in execution of a mobile client) and the mobile identifier parameter of a mobile client (who just changed the SAS domain) to the current SAS in execution.
  • the current SAS just sends back an acknowledgement to the GLWSM sender.
  • the GLWSM sender notifies the next GLWSM to track the target mobile.
  • the coordination time of a service migration has an average RTT of 11 milliseconds, a minimal value of 7 milliseconds and a peak value of 40 milliseconds. We varied the speed of the target mobile and we remarked that the speed does not have a direct impact in the coordination of the service migration.
  • the delay migration constraint must be less than or equals to 2 seconds
  • the target mobile will be at 166.67 meters of the precedent GLWSM domain when the service migration will be terminated.
  • the service migration for SAS to SAS has a maximum average rate of 300 milliseconds [S. Bouchenak, D. Hagimont, S. Krakowiak, N. De Palma and F. Boyer. "Experiences Implementing Efficient Java Thread Serialization, Mobility and Persistence", INRIA Technical Report No.
  • Fig. 16 shows a geo-located web service publication time in two GLWSM leaf nodes.
  • an authorized supplier sent a size of 1116 bytes parameter data (service, agreement service, agreement node entities) to publish to the root GLWSM machine.
  • the root GLWSM stores the data in his UDDIM and forwards them to the publication queue listened by the two GLWSM leaf nodes.
  • each GLWSM leaf node sends back a recept to the root GLWSM.
  • the sending location time of a group of mobiles in a LCS was measured to evaluate the relevance of thematic factorization of the common location functionalities. Tests were designed to compare a sending location request of a group or list of mobiles versus a thematic location. For this purpose, we built two methods: locateSubject that has one parameter representing a subject or a theme and locateMsids that takes as parameter the list of mobile identifiers that we want to locate. We calculated the sending time by building a SOAP client request that loads these two methods. The sending time of locateSubject is calculated by adding the time difference between the received time and sent time of the request and the lookup time to retrieve all mobiles identifiers in the database ClientlnfosDB on the server side.
  • the sending time of locateMsids is calculated by adding the reading time of all mobile identifiers in the database ClientlnfosDB of client machine and the time difference between the received time and sent time of the request.
  • Fig. 20 shows the comparison between the two curves with the maximum subject size implemented (250 characters) and the size of mobile identifiers implemented (20 characters). Note that the thematic location is more efficient. We also remarked that the thematic location gain increases when the number of mobiles to locate increases too.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

There is provided a method of coordinating client-oriented services provided to mobile clients in a network. The method comprises the steps of discovering the mobile clients in the network, getting profile information on the discovered mobile clients, using the profile information to determine services that apply to the discovered mobile clients, establishing linking data facilitating a connection of the discovered mobile clients to the services determined to be applicable, and giving access of the services determined to be applicable to the discovered mobile clients. There is also provided a method of locating mobile clients in a network and a system for coordinating client-oriented services provided to mobile clients in a network.

Description

COORDINATION OF CLIENT AND GEO-LOCATION ORIENTED SERVICES IN A MOBILE NETWORK
FIELD OF THE INVENTION The present invention relates to a mobile network and more specifically to the coordination of client and geo-location oriented services provided to mobile clients in a mobile network.
BACKGROUND OF THE INVENTION A geo-located web service is a web service that is offered in a particular geographical region or area. In the execution phase, a geo-located web service uses the mobile position to deliver a service. For example, a geo- located web service could be an emergency application which informs the police or firefighter administration of a particular region about the location of a car accident, using the driver's mobile phone position. In next generation (superior or equals to the third generation) of mobile networks, to obtain the mobile position, a geo-located web service will interact with the position or Location Server (LCS) of a mobile network operator [3GPP, "Functional stage 2 description of location services in UMTS", Technical Specifications TS 23.171 V3.9.0, Reference http://www.arib.or.jp/IMT- 2000/ARIB-spec/ARIB/23171_300.PDF, September 2002].
Referring to their specifications [3GPP, "Functional stage 2 description of location services in UMTS", Technical Specifications TS 23.171 V3.9.0, Reference http://www.arib.or.jp/IMT-2000/ARIB- spec/ARIB/23171_300.PDF, September 2002.], the geo-located web services can be deployed on the next generation mobile networks. Then, it will be possible to a Supplier Application Server (SAS) to get the location or geographical position of a mobile client. In this point of view, an SAS is considered as a set of web services that require the client position to deliver the service. A geo-located web service generates a maintainability problem of a service execution when a mobile client moves to a location area where the service is no longer offered by the SAS in execution.
The major challenge for a mobile client, as geo-located web services will be increasingly deployed in organizations [Ericsson, "Mapping user selected QoS to RSVP and DiffServ Attributes", http://ing.ctit.utwente.nl/WU5/D5.16/pa5.pdf, July 30, 2001], [C. Schmandt and N. Marmasse, "User-centered location awareness", Computer Volume 37, Issue 10, pp. 110 -111 , Oct. 2004], will be to discover a specific service corresponding to their requirements such as proximity, cost, network bandwidth or server utilization rate and to maintain a service in execution.
Traditional protocols for discovering services (SLP, Jini, UDDI, Globe) are not adapted to the geo-located web services as the client position is not an entry parameter to find a service. The deployment of such services thus requires the definition of a service discovery protocol allowing, among others, to select an SAS based on the location context of the mobile client (the location context refers to the current geographical area or position of a mobile client), to migrate services in execution to the nearest or closest SAS (it is an SAS that offers the service in execution at the current location context of a mobile client) and to factorize common location methods based on thematic aspect (for example, locate all taxi drivers of ABC company within two miles of my current position, where 'taxi drivers of ABC is a theme or subject). The selection of common locations based on thematic aspect is called a thematic factorization.
Related work in this field do not challenge the problem of discovering geo- located web service and maintain the service execution in the location context of a mobile client. Current architectures are either adapted to discover services where fixed clients are involved [E. Guttman, "Service Location Protocol : Automatic Discovery of IP Network Services", IEEE Internet Computing, pp. 71-80, July-August 1999] and those which consider the mobility put the emphasis on code and agent mobility [N. Harashima, T. Okoshi, J. Nakazawa, Y. Tobe, and H. Tokuda, "AMRB: Toward Location Migration Transparency of Services", IEEE International Conference on Parallel and Distributed Systems, pp. 305-314, ICPADS 2001], [F. Michahelles, M. Samulowitz and B. Schiele, "Detecting Context in Distributed Sensor Networks by Using Smart Context-Aware Packets", International Conference on Architecture of Computing Systems, Reference http://www.vision.ethz.ch/publ/arcs02.html, ARCS 2002] rather than data or task mobility to the closest SAS (as the web services are service oriented and use a client/server model) based on the location context of the mobile client and maintainability of service execution. Moreover, none of the architectures suggested in the literature offer a thematic factorization of common location methods to a set of application suppliers.
SUMMARY OF THE INVENTION Geo-located web services are web services offered in a particular geographical region. In mobile application design, a geo-located web service can be mapped to a set of mobile network location areas. As a mobile client roams in a mobile network, if he has a geo-located web service in execution progress at a supplier application server (SAS), he will lose its session in case when its current location is not covered by this SAS. With the next generation (third and up) of mobile networks, the geographical position of a mobile client will be sent back by a Location Server (LCS) to an application which requests it. As many geo-located web services will be deployed in the future, the great challenge for a mobile client will be to discover and maintain a geo-located web service when he is roaming. We propose a new system named Geo-Located Web Service - A -
Architecture (GLWSA) that aims to discover and maintain a geo-located web service with or without QoS at the nearest SAS of a mobile client current location. The GLWSA is a set of discover servers named GLWSMs (Geo-Located Web Service Manager) which are distributed in the topology. The GLWSA extends the UDDI and MLP protocols to add the GLWSM topology management and the thematic location of a mobile clients group, respectively. A thematic location consists of sending to a LCS, a chain of characters that represents a theme or a subject linking a group of mobile clients. In this paper, we present the GLWSA concepts and its mathematical formalism. Tests executed to evaluate the system performance prove that the GLWSA concepts are adequate to discover geo-located web services.
An example of thematic location is to determine the position of all railroad trains of Via Rail Canada which are in Montreal area. In this request, the "railroad trains of Via Rail Canada" is the subject or theme.
To discover a service with QoS (cost of service, network bandwidth and SAS utilization rate) and maintain a service execution with QoS, we defined a new mechanism that collects the network bandwidth of a particular geo- located web service and the SAS utilization rate at a specific GLWSM. For a specific service, the network bandwidth and SAS utilization rate are collected periodically in a particular GLWSM domain by sending a collect traffic message to all SAS that offer the concerned service in this domain. Each concerned SAS collects and sends back to the requestor GLWSM1 the bandwidth and the SAS processor rate. Collected QoS parameters are used in the SAS selection and migration process.
As a first aspect of the invention, there is provided a method of coordinating client oriented services provided to mobile clients in a network, the method comprising: -discovering the mobile clients in the network;
-getting profile information on the discovered mobile clients;
-using the profile information to determine services that apply to the discovered mobile clients;
-establishing linking data facilitating a connection of the discovered mobile clients to the services determined to be applicable;
-giving access of the services determined to be applicable to the discovered mobile clients.
The step of establishing linking data preferably comprises binding software components selected for each of the mobile clients as a function of the profile information with a service application program operable to interact with and serve all of the mobile clients.
The profile information preferably includes quality of service parameters, the steps are preferably coordinated using at least one middleware server, wherein the step of getting profile information on the mobile clients preferably comprises sending the profile information from the mobile clients to the middleware server.
The profile information can also be predetermined, then the step of getting profile information on the mobile clients preferably comprises looking in a client database server, and the steps are preferably coordinated using at least one middleware server, wherein the linking data is communicated from the middleware server to at least one server providing the services without involving the mobile clients. The step of discovering the mobile clients in the network preferably comprises identifying the mobile clients while the mobile clients contacting their respective home middleware servers. The step of discovering the mobile clients in the network preferably includes determining a location of the mobile clients, the step of determining services that apply to the mobile clients preferably comprises determining a most appropriate application server providing a set of the services, and the step of giving access of the services to the mobile clients is preferably carried out using the most appropriate application server.
The method preferably further comprises, if required, coordinating migration of the determined services provided by an application server to the most appropriate application server.
The most appropriate application server is preferably a nearest application server to the mobile clients' location. The most appropriate application server can also be an application server that provides the set of the services and that allows access of the set of the services to some of the mobile clients in according to quality of service requirements.
The services preferably consist of a same application service executed by different application servers according to different quality of service parameters.
As a another aspect of the invention, there is provided a method of locating mobile clients in a network, the method comprising:
-defining a location criterion and a theme in association with a group of mobile clients; -sending a request containing the location criterion and the theme from a client;
-determining a first list of mobile clients from the theme contained in the request at a server location;
-obtaining mobile network location for the first list of mobile clients;
-processing the first list of mobile clients according to the location criterion to produce a second list of located mobile clients;
-sending the second list of located mobile clients to the client.
As a further aspect of the invention, there is provided a system for coordinating client oriented services provided to mobile clients in a network, the system comprising (see Fig. 6):
-a location server for locating the mobile clients within the network;
-at least one application server for providing application services to the mobile clients;
-at least one middleware server in communication with the location server for receiving locations of the mobile clients within the network, the middleware server further receiving profile information on the mobile clients, determining services that apply to the mobile clients as a function of the profile information, determining a most appropriate application server among the at least one application server to provide each of the services determined to be applicable, and for transmitting to at least one of the most appropriate application server and the mobile clients linking data for facilitating a connection of the mobile clients to the most appropriate server.
The system preferably further comprises at least one client database server connected to the at least one middleware server for receiving the profile information on the mobile clients. The profile information can also be sent by the mobile clients.
The at least one application server preferably comprises a large number of application servers.
The system preferably further comprises at least one UDDIM server in communication with the at least one middleware server for transmitting network topology and characteristics.
The at least one middleware server preferably comprises a large number of middleware servers, and the system preferably further comprises a root server connected to each of the large number of middleware servers for facilitating communication therebetween.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a view showing a GLWSA architecture;
Fig. 2 is a view showing a GLWSA topology;
Fig. 3 a) is a view showing the impact of the micromobility in GLWSA in case of HMIPv6;
Fig. 3 b) is a view showing the impact of the macromobility in GLWSA in case of HMIPv6;
Fig. 4 is a UML class diagram showing UDDIM data structures;
Fig. 5 is a UML class diagram showing MLPe data structures; Fig. 6 is a block diagram of a system for coordinating client-oriented services provided to mobile clients in a network; Fig. 7 is a view showing a functional architecture of GLWSA.
Fig. 8 is a view showing the process of nearest service lookup with or without QoS;
Fig. 9 is a view showing the process of service publication; Fig. 10 is a view showing the process of coordination of the service migration with or without QoS;
Fig. 11 is a view showing the generated network topology and trajectory of a target mobile client;
Fig. 12 is a view showing Round Trip Time of a nearest service lookup in case of one client;
Fig. 13 is a view showing nearest service lookup time comparison;
Fig. 14 is a view showing Round Trip Time of a nearest service lookup in the case where the number of clients varies between 1 and 50;
Fig. 15 is a view showing coordination time of a service migration without QoS;
Fig. 16 is a view showing geo-located web service publication time in two
GLWSM leaf nodes;
Fig. 17 is a view showing geo-located web service publication time in two
GLWSM leaf nodes; Fig. 18 is a view showing geo-located web service publication time in ten
GLWSM leaf nodes;
Fig. 19 is a view showing geo-located web service publication time in twenty GLWSM leaf nodes;
Fig. 20 is a view showing comparison of the sending location time of a group of mobiles (locateMsids) versus a thematic location (locateSubject).
DETAILED DESCRIPTION
I. Overview of UDDI and MLP Protocols
In order to better understand our contribution, we first describe UDDI and MLP protocols which constitute the basis of the proposed architecture. A- The UDDI protocol
The UDDI is a directory or a register of companies in order to publish Web services and describe the manner of reaching each Web service in a WSDL (Web Service Description Language) document. The UDDI fulfills the functions of white, yellow and green pages. A detailed description of the UDDI protocol is described in [UDDI, http://www.uddi.org/specification.html]. The UDDI is made up mainly of four entities: businessEntity, businessServices, bindingTemplates and tModels. The businessEntity describes a company or an organization. It contains basic information about an organization (name, description, category, person contacts, etc.), the businessServices that it offers and the URL addresses where its Web services can be discovered. In a XML representation, the businessEntity envelopes all other entities. The businessServices is a collection of businessService entity offered by an organization. Each businessService has one or more technical Web Service Descriptions captured in an XML element called a bindingTemplate. The bindingTemplate contains the information that is relevant for application programs that need to invoke or to bind to a specific Web Service. This information includes the Web Service' URL address, and other information describing hosted services, routing and load balancing facilities contains the data required to invoke a service. Before invoking a Web Service, it is useful to determine whether the specific service being invoked complies with a particular behavior or programming interface. Each bindingTemplate element, therefore, contains an element called a tModel that has information which enables a client to determine whether a specific Web Service is a compliant implementation. The protocol UDDI offers two sets of API: inquiry and publish API. The inquiry API lookup or search for a businessEntity, businessService, bindingTemplate and tModel in the registry. The publish API verify credentials of a publisher, save or delete a businessEntity, businessService, bindingTemplate and tMode\ in the registry.
B- The MLP protocol The Mobile Location Protocol (MLP) is an application-level protocol that uses XML messages for querying the position of mobile stations independent of underlying network technology (UMTS, CDMA-2000, or WGS-136). The MLP serves as the interface between a Location Server and an application server [Location Inter-operability Forum (LIF)1 "Mobile Location Protocol", LIF TS 101 Specification, Version 3.0.0 6, Reference http://dan.greening.name/profession/manuscripts/LIF%20TS%20101%20v 3.0.0.pdf, June 2002]. The MLP protocol has three main layers: service, element and transport. On the lowest level, the transport protocol defines how XML content is transported. Possible MLP transport protocols include HTTP, SOAP and others. The element layer (second layer) defines all common elements used by the services in the service layer. The service layer (top layer) defines the services offered by the MLP. The services are classified into five categories: standard location immediate service, emergency location immediate service, standard location reporting service, emergency location reporting service and triggered location reporting service. The standard location immediate service is a standard query service with support for a large set of parameters. This service is used when a single location response is required immediately (within a set time). The emergency location immediate service is a service used especially for querying the location of a mobile client that has initiated an emergency call. The response to this service is required immediately (within a set time). The standard location reporting service is a service that is used when a mobile client wants an application server to receive its location. The position is sent to the application server from the location server. The concerned application and its address are defined in the location server or specified by the mobile client. The emergency location reporting service is a service that is used when the wireless network automatically initiates the positioning at an emergency call. The position and related data are then sent to the emergency application from the location server. (5
The triggered location reporting service is a service used when the mobile client's location should be reported at a specific time interval or on the occurrence of a specific event.
II. The Global Architecture Proposed 0 The approach used to design the GLWSA is to analyze the web services discovering in mobility context. For these purposes, all entities that interact with the system must be found. We suppose that UDDI is a base registry of web services and extend it for client mobility. We consider MLP as the interoperability location protocol and extend it to add factorized common 5 location methods. In this section, the proposed system GLWSA (Fig. 1) is described before the GLWSA topology. Then, the impact of mobility will be illustrated. Finally, the UDDIM (UDDI for Mobiles) registry and the MLPe (Mobile Location Protocol extension) will be described.
0 A- Investigated System GLWSA
The GLWSA, illustrated in Fig. 1 , is composed of three main entities: the server Geo-Located Web Services Manager (GLWSM), the UDDIM and ClientlnfosDB (Client personal Information DataBase) databases.
5 The UDDIM database is an extension of UDDI to store the GLWSA topology. This extension is related to the geographical position of GLWSM nodes, the service agreement to a specific GLWSM node and the desired QoS limit values of a specific service. The database ClientlnfosDB stores user personal data such as identification (name, address, username, 0 password, etc.), equipment (mobile station identifier, phone number), subscription and quality of service data.
The GLWSM interacts with external entities such as: mobile clients, LCS, and SAS. SOAP (Simple Object Accces Protocol) is used between: Client and GLWSM, GLWSM GLWSM, GLWSM and SAS; MLPe protocol is used between GLWSM and LCS. To connect GLWSM to the databases UDDIM and ClientlnfosDB, a data connector such as ODBC (Open Data Base Connectivity) is used. The messages exchanged are carried out through the mobile network and Internet. B- GLWSA Topology
As shown in Fig. 2, the GLWSA topology proposed is a bi-level hierarchical model. A bi-level tree was chosen to reduce the number of exchanged messages among the GLWSM nodes when a publication service is initiated and to limit the lookup service to a single node. The lower level corresponds to the level of the tree leaves and the higher level represents the tree root. The leaf level includes or contains several GLWSM nodes. A leaf node contains a set of published services from the suppliers. The service publication is coordinated by the root node which stores all GLWSM nodes of the GLWSA topology.
Each mobile access network is associated with one GLWSM node. A GLWSM covers a region that represents the location areas of the mobile access network with which it is associated. Two different GLWSM nodes cannot cover the same location areas. A SAS can be associated with many GLWSMs. A supplier's particular web service can be distributed over many SAS. The main characteristic of the leaf nodes is that they are dependent on the location areas of the network operator to ensure the mobility tracking, to maintain service execution in a SAS, and to coordinate the service migration when a mobile client moves to location areas controlled by another GLWSM node where the service in execution exists. Otherwise, the service execution will continue to be provided by the SAS in progress. We impose a migration delay constraint of 2 seconds to migrate a service.
All leaf nodes offer functionalities for authentication and authorization, subscription, tracking mobile position, coordination of the migration, lookup and publication service. These are the relation properties of GWLSA:
Covered Areas: In the topology suggested, the location areas covered by two different GLWSM leaf nodes are disjoined.
Visibility Relation. Every GLWSM node that offers a service S,- knows all GLWSM nodes which offer the same service.
Home Node is the GLWSM leaf node where the mobile client is registered.
Every mobile client is associated with a single home node. The mobile client used the home node to authenticate himself and to lookup for a service. Visited Node is a GLWSM leaf node other than the home node of a mobile client.
Nearest Node is a GLWSM leaf node where the mobile client is located.
Nearest SAS is the SAS attached to the nearest GLWSM node and where the service requested by a mobile client is in execution phase.
C- Impact of the Mobility
Two mobility scenarios are possible when a mobile client interacts with a GLWSM node: micromobility and macromobility (Fig. 3a) and 3b)). We suppose that in the mobile network, an IP micromobility protocol (such as HMIPvθ, Cellular IPv6 or Hawaii IPv6) is used to know the location address of a mobile client in the network layer.
In case of micromobility with HMIPv6 for example, let us suppose that a mobile client who is attached to access router AR,i sends a lookup message to GLWSMh and changes point of attachment to AR,2 before receiving the result. During this local handoff, the mobile client will receive two care-of-addresses: new local care-of-address LCoA,2 and a regional care-of-address RCoA1. He will send a binding update containing RCoA1 and LCoA,2 to a gateway router GR, acting as MAP (Mobile Anchor Point). The GR1 extracts the LCoA,2 and RCoA1, then update its routing table to forward all received packets sent by GLWSMh with RCoA1 to LCoA,2. Thus, the mobile client will received the server SAS1 address and will interact with it.
If the handoff occurs in macromobility for GR, to GRj when the lookup message is sent to GLWSMh, the mobile client will receive a new local care-of-address LCoAji and a new regional care-of-address RCoAj. He will send three binding updates.: the first one to GRj acting as MAP that contains the LCoAji and RCoAj, the second to the home agent that contains the RCoA, and the third to the correspondent GLWSMh that contains the RCoAj too. All packets addressed to the mobile client will be routed to its new RCoA,. Thus, the GRj will forward them to the new LCOAJ-I .
D- UDDIM Registry: UDDI Extension for Mobiles
The current UDDI version does not define data structures and API to find and publish a geo-located web service. In our work, we extend the UDDI protocol to add the GLWSA topology and the agreement service in order to find and publish a geo-located web service. We called this UDDI extension a UDDIM (UDDI for Mobiles). We select the UDDI as the basis protocol to extend because it is considered as the standard in the web service discovering process.
Practically, we add four XML data structures to the UDDI: Node, Agreement, AgreementNode and PolygonLineSegment. The UML representation of these elements is given in Fig. 4.
The data structure of a Node element describes information about a GLWSM node. The parameters that identify a GLWSM node are node key, the node URL, the type of the node ("root" or "leaf), the geographical position of the node (xPos, yPos, zPos), the maximum distance distanceMaxNodeSetvice allowed between an SAS and the node nodeld, the MAP address of the MAP associated with the node and the number of line segments numberOfPolygonLineSegment that delimit the node covered area (we consider that a node covered area has a polygon shape).
The Agreement element represents service agreement of a particular service. It is composed of the agreement key, service key, service administrator identifier and coordinate system reference. The AgreementNode element represents the detailed description of an agreement service in a particular GLWSM node. It is composed of the static QoS parameters (costService, BW_min, BWjnax, PPD_min, PPDjnax, SDU_smax). The BW min and BW_max represent the minimum and maximum bandwidth a service serviceld can offer at the node nodeld. The PPD_min and PPD_max represent the minimum and maximum propagation path delay a service serviceld can offer at the node nodeld. The SDU_smax is the maximum size of the service data unit. We chose the provided QoS parameters in conformity with the 3GPP recommendation of interactive applications [Ericsson, "Mapping user selected QoS to RSVP and DiffServ Attributes", http://ing.ctit.utwente.nl/WU5/D5.16/pa5.pdf, July 30, 2001]. The parameters (xPos, yPos, and zPos) of an AgreementNode element materialize the geographical position of a SAS that offers the service serviceld at the node nodeld. The PolygonLineSegment allows determining one line segment of a node-covered area which has a polygon shape. The (X1, Y1) and (X2, Y2) parameters represent the X and Y cartesian coordinate values of two points "1" and "2" belonging at one line segment, respectively. The attribute sign (can take one of the values '<=' or '>=') of a PolygonLineSegment is one of the line segment inequation of a node. The UDDIM API are methods that manage the data structures that we described above. The following API have been added to the UDDIM: addNode(paramefers are all parameters of element 'Node1) adds a node in the topology; removeNode(nodeld: String) removes a node; findNode(nodeld: String) finds a specific node; getRootNode(nodeld: String) finds and returns the root node of GLWSA topology. The described API of this paragraph and those presented below are implemented in the topology manager object TopologyManager and the agreement manager AgreementManager described in Section V1 respectively. createAgreement(paramefers are all parameters of element 'Agreement) creates a new Agreement for a specific service; removeAgreement(agreementld: String) removes a specific agreement; findAgreement(agreementld: String) finds a specific agreement; createAgreementNode(parameters are all parameters of element ΑgreementNode) creates a new agreement for a specific service in a particular node; removeAgreementNode(agreementld: String, nodeKey: String) removes a specific agreement for particular node; findAgreementNode(agreementld: String, nodeld: String) finds a specific agreement for a particular node; createPolygonLineSegment(parameters are all parameters of element 'PolygonLineSegmenf) creates a new line segment for a specific node; removePolygonLineSegment(lineSegmentld: String) removes a specific line segment; findPolygonl_ineSegment(lineSegmentld: String) finds a specific line segment.
E- MLPe: MLP Extension
The usability of mobile client location to offer services is a common characteristic of geo-located applications. With the current MLP version 3.0, when an application requests the positions of a group of mobiles, it sends a list of mobile identifiers to the LCS (Table 1). We analyzed these applications and found that in the location request of a group of mobiles, the mobiles are generally linked by a thematic subject. Thus, we factorized the common location methods related to a group of mobiles on the basis of a thematic subject to interact with the LCS. Thematic factorization of the common location methods appeared important to us, as it allows code re- utilization and decreases the message size of the location request of the group of mobiles loaded on the network. Indeed, thematic factorization would allow requesting the positions of a group of mobiles bound by a subject and thus avoid loading on the network a list of the mobiles which would increase the transmission time of the requests to the GLWSM. For these purposes, the current MLP was extended.
TABLE 1 GROUP OF MSIDS CONSTRUCTION IN CURRENT MLP VERSION
<msids>
<msid>461018765710</msid> <msid>441018905710</msid> <msid>401318905543</msid> <msid>341617905548</msid> <msid>286018436597</msid> <msid>494455789532</msid>
</msids>
The data structures of elements added to the MLP protocol are represented in the UML diagram (Fig. 5).
The MLPe was also provided with the API to manage elements Theme and ThemeMsid: addTheme(parameters are all parameters of element Theme) adds a theme to an LCS, removeTheme(themeld: String) removes a specific theme; findTheme(themeld: String) finds a specific theme; addThemeMsid (themeld: String, msld: String) relates or adds a specific mobile identifier msld to the particular theme themeld; findAIIMsidOfTheme(themeld: String) finds all mobile client identifiers related to the theme themeld; removeThemeMsid (themeld: String, msid: String ) removes a specific mobile identifier msld from the particular theme themeld. In order to factorize the common geolocated services, we established a typology of the geolocated applications documented in the literature. We distinguish among four categories of applications: informational services, mobile client tracking, resource management services and navigation services [M.A Dm and S. Saada, "Location based mobile services: the essentials", Alcatel Telecommunications review, pp. 71-76, 1st quarter 2001].
These are the factorized location methods: - locateSubject(subject): allows to locate the position of all the mobiles bound on the queried subject;
- locateSubjectNearOf(subject, position, precision): allows to locate the position of all the mobiles of the queried subject whose distance compared to the value "position" is less than or equal to "precision"; - locateSubjectlnZone(subject, idzone): allows locating the position of all the mobiles of the subject queried which are in the area "idzone";
- ifEntry(subject, idzone): allows to find the mobiles of the subject queried entering the location area "idzone" and to notify the entry to the SAS server; notifyEntry(msid): notifies the SAS that the mobile identifier is entering into the covered location areas;
- ifExit(subject, idzone): allows to find the mobiles of the subject queried leaving the location area "idzone" and to notify the exit to the SAS server; notifyExit(msid): notifies the SAS that the mobile identifier "msid" is leaving; - collocate(msid, subject): allows finding the mobiles of the queried subject which are in the same location area as the mobile "msid".
To implement the MLPe protocol, we modified the MPS 6.0 tool of Ericsson that simulates mobile location. This tool is originally implemented using Java language. We created a new package
"com.ericsson.mps.jml.mlp.Theme" where we added the data structure of Theme, ThemeMsid and PolygonLineSegment. For simulation purposes, we mapped this structure to a database ClientlnfosDB by creating associated tables. An extract of the detailed implementation of thematic methods added is described in Table 2. Due to the basic function getLocation (of LocationProtocol class) called to locate a mobile in the LCS server, we were constraint to add to every thematic location method (except notify Entry and notifyExit), a new parameter that represents a request context RequestContext object in order to initialize the location parameters in MPS tool. We modified the MPS "com.ericsson.mps.jml.DefaultConnection" class to implement all thematic location methods and APIs that manage data structure Theme and ThemeMsid. We also add in this class a private method getSpatialData that converts longitude/latitude/altitude coordinates to Cartesian coordinates and a private method islnsideCoveredArea which verifies a mobile is inside a node covered area.
In Table 2, parameters myUser and myPassword are attributes of the DefaultConnection class. The LocationData object contains the position result status (success or failure) of a specific mobile. The zone is the node covered area (specifically, it is a collection of PolygonLineSegment elements). The detailed information of a mobile position is contained in the LocatedMobileStation object. The parameter urlList contains two URL addresses listened by the Ericsson MPS Emulator. The method pushAnnounceEntry called by notifyEntry just adds a found mobile identifier in the list of found mobiles in the SAS.
The thematic location generates a security problem to know if a location requester that is authorized to use a thematic location has the right to obtain the position of a particular client. Then, for security reasons, the authorization process to get a mobile location verifies first if a particular user has the right to use the requested thematic location and if he has the right to see the position of a client before getting a mobile client location. We propose a scheme <authorized subject to track the members of a thematic location> <authorized operations> <target object> <object conditions> to perform this kind of access control. For example, authorized user to track the members of the subject ABC Taxi><collocate> <the mobile client identifier msid ><if the mobile client identifier msid is a member of the subject ABC Taxi>.
The global process of locating thematically a group of mobile clients comprises the following steps:
1 - A client (mobile or fix) defines a location criterion and a thematic subject associated with a group of mobile clients and sends it to a middleware server. 2 - The middleware server sends the received client request to a location server in order to determine the location of mobile clients in according to the request criterions;
- The MLPe protocol process the request and interacts with a client database to determine a first list of mobile clients from the theme contained in the request;
- The MLPe sends the first list of mobile clients determined to the Location Server (LCS) in order to localize them within the network.
3 - The Location Sever localize the mobile clients contained in the first list and determine those among them who respect the location criterion specified by the client in his request and includes these mobile clients in a second list;
- The Location Server sends the second list of mobile clients to the middleware server.
4 - The middleware server sends the second list of located mobile clients to the client. TABLE 2
EXTRACT OF THEMATIC LOCATION METHODS public synchronized void ifEntry(String subject, Array List zone.String urlApp.LocationRequestContext requestContext)
{
LocationResult result=null, ArrayList mobιleFound=null, boolean flag=false, try{ result=locateSubjecl(subject, requestContext), ArrayList locatιons=(Arrayϋst) result getLocatιons(), for (int ι=0, ι<locatιons sιze(), ι++){ ιf(((LocatιonData)locatιons get(ι)) getLocationStatusO == Lc cationData SUCCESSFU L_LOCATION){
LocatedMobileStation lms =(LocatedMobιleStatιon)locatιons get(ι), Spatial spatial = getSpatιalData(lms), flag=ιslnsιdeCoveredArea(zone, spatial), if(Hag==true){ notιfyEntry(((LocatιonData)locatιons get(ι)) getMobιleStatιonld(),urlApp),
} } }
}catch(Exceptιon e){ e printStackTraceO, }
} public synchronized void notifyEntry(String msid, String urlApp) { try {
Service service = new Servιce(),
Call call = (Call) service createCall(), call setTargetEndpoιntAddress( new java net URL(urlApp) ), call setOperatιonName(new QNamefhttp //soapinterop org/", "pushAnnounceEntry")),
String rep= (String) call ιnvoke( new ObjectQ {msid} ), } catch (Exception e) {
System err prιntln(e toStπngO), } public synchronized LocationResult locateSubject(String subject, LocationRequestContext requestContext) {
Theme theme=null, ThemeMsid themeMsid =null, com ericsson snf mps Connection conn=null, LocationResult result=null,
CommunicationException communicationexception = null, LocationProtocol locationprotocol = null, java net URL urlListQ = factory getURLs(), java net URL urlLCS=null, try{ themeMsid = new ThemeMsιd(), theme = new Theme(),
ArrayList msιdLιst=(ArrayLιst) themeMsid findAIIMsιd(theme fιndThemeBySubject(subject) getThemeld()), if (msidLιst sιze()'=0){
LocationTargetfJ target=new LocatιonTarget[msιdLιst sιze()], for (int i=0, ι<msιdLιst sιze(), ι++){ target[ι]=new MobιleStatιon(msιdLιst get(ι) toStπngO),
} if (UrILiSt[O] '=null) urlLCS=urlϋst[O], if (urlList[1] ι=null) urlLCS=urlLιst[1],
HttpURLConnection httpurlconnection = locationprotocol openConnection(urlLCS), result = locationprotocol getLocation(httpurlconnection, myUser, myPwd, target, requestContext), httpurlconnection dιsconnect(),
}
}catch(Exceptιon e) { e printStackTraceO, } fιnally{ try{ conn closeO, }catch(LocatιonExceptιon lex){
System out pπntlπflex getMessage()), } I
Figure imgf000024_0001
III. The Functional Architecture
To determine the functional architecture, we used a top-down approach based on the use cases analysis of the different types of applications that can be deployed in a GLWSA to discover objects and API functions. The functional architecture of a GLWSA is illustrated in Fig. 7. In this section, we describe the manager objects where API functions are implemented.
The functional architecture has three main layers: published services and asynchronous message, service managers and basic classes.
A- Published services and asynchronous message listeners layer
The published services and asynchronous message listeners expose some synchronous methods of the service managers layer that will be accessible to an external client and listen for asynchronous messages sent by another entity. The terms synchronous and asynchronous mean that in a service execution, a client will wait or will not wait for the server response, respectively. A published service is a web service. To publish services (Table 3), we used Axis Apache container that parses developed classes to SOAP (and SOAP to classes), deploys the methods selected in a service manager to a web service.
TABLE 3 PUBLISHED SERVICES OR WEB SERVICES SUB-LAYER DESCRIPTION
Figure imgf000025_0001
The asynchronous message listeners consist of listening to the message sent to the broker destination addresses of a specific GLWSM node. To implement asynchronous messages, we used Sun Message Queue 3.5 toolkit. Each message has a producer who writes and sends the message and one or many subscribers that consum the message.
TABLE 4 ASYNCHRONOUS MESSAGES LISTENERS SUB-LAYER
Figure imgf000026_0001
B- The Service Managers Layer The service managers layer is composed of eight software modules: AA "Authentication and Authorization", DSM "Discovery Services Manager", SM "Subscription Manager", LM "Location Manager", TM "Topology Manager", AM "Agreement Manager", NQoSM "Network QoS Manager", and MM "Migration Manager".
1) Authentication and Authorization Manager Authentication and authorization operations are conducted in GLWSM home. Mobile clients first connect with GLWSM home giving their credentials (username, password). After successful authentication, access control takes place. The access control operation is based on the user's role and capabilities. There are three types of roles: administrator, supplier and client. 2) Subscription Manager
Suppliers use a subscription manager to register new clients who want to use one of their applications. This operation will assign a GLWSM home to a client according to his home address. Personal data such as name, username, password, address, subscribed services, mobile equipment identifier will be recorded in the ClientlnfosDB database attached to the GLWSM home node.
3) Discovery Services Manager Nearest service lookup: When an authorized mobile client looks up for a geo-located web service (Fig. 8), the following steps are executed:
1- The mobile client sends first a nearest service lookup request containing the service name and the mobile identifier to his home
GLWSM node. 2- The home GLWSM node sends a client position request to the
LCS. The LCS returns the client's geographical position to the
GLWSM home. 3- The home GLWSM node finds and selects in his UDDIM database the GLWSM leaf node that covers the current location area of the mobile client (the covered areas property described in the section
IV-B is used in this step). If the mobile position does not belong in the covered areas of any of the GLWSM leaf nodes, then the requested service is not offered in the location area where the mobile client currently resides and no SAS will be selected. 4- If a GLWSM leaf node is found, it is considered to be the nearest
GLWSM node. 5- Then, the home GLWSM node finds and selects the requested service in his UDDIM (the visibility relation described in the section
IV-B is used in this step). 6- The URL of the requested service associated with the nearest
GLWSM will be returned to the mobile client. 7- The SAS that offers the returned service will be considered to be the nearest SAS offering this service.
Nearest Service lookup with QoS: The detailed description of this feature consists of finding a service with the associated network QoS. This aspect is beyond the scope of this paper.
Service Publication: After a successful authentication of an SAS administrator to the GLWSM root, the administrator sends the service entity to be published and its agreement identifier to the root node (Fig. 9). The system verifies the agreement conformity and saves the service in the UDDIM root. This service is forwarded to all GLWSM leaf nodes that are included in the agreement service. The forwarding message is done by sending an asynchronous message destined to all nodes that subscribed to this service publication topic (all GLWSM leaf nodes included in the agreement service contract except the producer of the message). Each concerned leaf node receives the message, stores the data and sends back a receipt to the GLWSM root. The GLWSM root keeps a list of received messages and compares it to the list of selected leaf nodes in order to confirm whether publication was well done in all nodes.
4) Migration Manager
The migration manager of a current nearest GLWSM node tracks the position of any mobile client in communication with a current SAS attached to it. It also coordinates the service migration by informing the current nearest SAS in execution of the next SAS address. At the beginning of the process, a mobile client MC is attached to a current nearest SAS in execution. This SAS is considered as the current SAS where the requested service is in execution. The detailed description of the coordination of the service migration with QoS is beyond the scope of this paper. The steps below described the coordination of a migration process without QoS (Fig. 10):
1- The current nearest GLWSM where the mobile MC is attached sends to an LCS a location request that consists of tracking if the mobile MC is presently in its covered location areas.
2- The geographical position obtained is processed by the current nearest GLWSM to find the next nearest GLWSM node that covers the current location area of the mobile client.
3- Then, the current nearest GLWSM verifies if the next nearest GLWSM found is a member of the service agreement nodes. In other terms, the current nearest GLWSM verifies if the requested service is offered in the next nearest GLWSM.
4- If not, the service does not exist in the location area where the mobile is moving. Otherwise, the next nearest GLWSM is either attached to the same current nearest SAS or a next nearest SAS.
5- If the next nearest GLWSM is attached to the current nearest SAS, the service execution will continue to this current nearest SAS and the next nearest GLWSM will be notified by the current nearest GLWSM to track the position of the mobile client who has just entered into his covered location areas.
6- If the next nearest GLSWM is attached to a next nearest SAS that offers this service, the current nearest GLWSM informs the current nearest SAS in execution progress of the URL address of the next nearest SAS where the service must be migrated so that the service remains closer of the client's current position. Once the service has migrated, the current nearest GLWSM associated with the current nearest SAS closes the client session and instructs the next nearest GLWSM to continue tracking the target client position.
The maintainability of services in execution provides the continuity of a service and eventually reduces the communication costs. Indeed, when a client moves over a mobile network topology, the number of used hops between him and the SAS taking part in the communication will generally increase if the client moves farther away. Consequently, the total delay of exchanged messages between these two entities may considerably increase due principally to the queuing delay in the hops. The service migration will reduce this latency by selecting the nearest SAS that offers the service in the mobile client location context and decrease communication costs in cases where time billing model is used [www.3G.co.uk., "SFR launch 3G" , http://www.3g.co.uk/PR/June2004/7922.htm, June 17, 2004].
The process migration between two SAS is not in the scope of the GLWSA. Meanwhile, the SAS process migration can be done using thread migration without transferring the application code (in fact that each SAS has a persistent application code) or using session migration. An interesting work in thread migration realized by [S. Bouchenak, D. Hagimont, S. Krakowiak, N. De Palma and F. Boyer. "Experiences Implementing Efficient Java Thread Serialization, Mobility and Persistence", INRIA Technical Report No. RR-4662, December 2002], conducted to build a thread migration tool that does not generate the message overhead. This tool is certified and protected by Sun Microsystems. The performance of thread or session migration depends on the size of frames and the size of serialized objects to migrate. The session or thread median migration latency is in order of three milliseconds to few hundred of milliseconds.
5) Topology Manager
The topology manager object maintains the topology of the GLWSA. It adds, removes and modifies GLWSM node information. Those operations can only be performed by a GLWSM administrator. 6) Location Manager
The location manager interacts with the LCS to obtain the position of mobile clients. It contains location API and thematic location API to get position of a mobile or a group of mobile clients.
7) Agreement Manager
The agreement manager defines the agreement contract of a geo-located web service. It binds a geo-located web service of a SAS to a list of GLWSM nodes, defines the service cost at each GLWSM node, the minimum and maximum QoS requirements that the supplier wishes to be controlled.
8) Network QoS Manager
The network QoS will be used to collect the QoS parameters (network path bandwidth, SAS utilization rate) in a particular domain controlled by a
GLWSM node. Thus, when the mobile client sends a lookup message with
QoS1 the GLWSM home will verify if the desired QoS can be obtained.
Then, the found service URL will be returned to the mobile client. The proposed network manager does not provided the negotiation or re- negotiation QoS mechanisms. The detailed operations of the network QoS manager fall beyond the scope of this paper.
IV. Implementation Details and Evaluation
In order to evaluate the proposed GLWSA architecture, we built a prototype using the Java programming language (Jbuider 7 and Sun Mesasge Queue
3.5). This prototype implements the functionalities of the GLWSM and communicates with the LCS and the SAS servers. Communication with the
LCS was carried out through Ericsson MPS 6.0 emulator. The emulator uses an MLP V3.0 protocol to determine the position of a client (or a group of clients) moving over the network topology. We generate a network topology with the network density set to urban, the distance between two base stations is set to 5000 meters and created a mobile trajectory with a constant speed value (Fig. 11). In Fig. 11 , the GLWSMh is the home GLWSM domain of the target mobile client and its geographical covered areas, the GLWSM1 and GLWSM2 are the visited GLWSM domains of the target mobile client with their associated geographical covered areas. In our tests, we used three constant speeds 50 km/h, 100 km/h and 200 km/h. By using the configuration settings described above, a static route file that contains the current cell identifier where the mobile resides, the relative distance between the mobile and the current base station and the mobile position data calculated each 10 seconds and given in geographical system coordinate (latitude/longitude/altitude) is created. The tool calculates the client position between two consecutive offset times of the route file (for example between 0 and 10 seconds) by using the interpolation operations. But the formula used to do the interpolation operations is not given by the MPS tool specifications. At the beginning of the simulation, the emulator starts a clock and reads the mobile position in function clock time in the static route file created. We used the database management system Oracle 9i to store data in UDDIM registry and ClientlnfosDB. We used JUDDI [jUDDI, http://ws.apache.org/juddi/] and appended UDDIM API to interact with the registry UDDIM. The machines used to materialize the GLWSM, the SAS and the LCS are similar (1.2 GHz Pentium III with 512 Mo RAM). The machines are connected in a wireless LAN. The WLAN has a transmission rate of 11 Mbits/s and is compliant IEEE 802.11 b. The relevant metrics selected to evaluate the performances of the GLWSM are: the nearest service lookup time, the lookup mobile time, the migration service time and the publication service time.
The round trip time (RTT) is the time difference between the reception time of the request response at a client machine and the time when the client sent a request to a server. In Fig. 12, we measured the RTT of a nearest service lookup when a mobile client sends a request each 2 seconds to his home GLWSM. We found a minimal RTT value of 20 milliseconds, an average RTT of 28 milliseconds and a maximum RTT of 52 milliseconds. Then, we compared in Fig. 13, the average RTT obtained with the lookup service time (RTT) in Jini and SLP [J. Govia and M. Barbeau, "Results of Comparing Bandwidth Usage and Latency: Service Location Protocol and Jini", Workshop on Ad hoc Communications, held in conjunction with the Seventh European Conference on Computer Supported Cooperative Work (ECSCW 2001), Bonn, Germany, Reference http://www.scs.carleton.ca/~barbeau/Publications/2001/WAHC/govea.pdf, September 16-20, 2001] to which we added the average calculation time of the position to the LCS which is 23 milliseconds, a total lookup service time of 46 and 51 milliseconds are obtained for SLP and Jini respectively. Note that the substantial gain of the GLWSM over Jini and SLP in the nearest service lookup of geo-located web service is related to the fact that the two traditional protocols Jini and SLP do not integrate the UDDI structure in their architecture and thus require additional data transformation operations to be compatible with a UDDI data structure.
In Fig. 14, we measured the RTT of the nearest service lookup when the number of clients varies from 1 to 50. We found an average RTT value of 52 milliseconds and a maximal RTT of 620 milliseconds. We also found that the RTT increases considerably when the number of clients is greater than or equal to 28. We think that the increasing of RTT and the observed peak values are due to the GLWSM buffer overflow.
The coordination time of a service migration shown in Fig. 15 represents the RTT to send the URL of the next SAS (that implement the service in execution of a mobile client) and the mobile identifier parameter of a mobile client (who just changed the SAS domain) to the current SAS in execution. At the receiving of the message, the current SAS just sends back an acknowledgement to the GLWSM sender. Then, the GLWSM sender notifies the next GLWSM to track the target mobile. The coordination time of a service migration has an average RTT of 11 milliseconds, a minimal value of 7 milliseconds and a peak value of 40 milliseconds. We varied the speed of the target mobile and we remarked that the speed does not have a direct impact in the coordination of the service migration. Meanwhile, as we imposed that the delay migration constraint must be less than or equals to 2 seconds, if a mobile client has a speed of 300 Km/h when the migration is relevated, the target mobile will be at 166.67 meters of the precedent GLWSM domain when the service migration will be terminated. As the service migration for SAS to SAS has a maximum average rate of 300 milliseconds [S. Bouchenak, D. Hagimont, S. Krakowiak, N. De Palma and F. Boyer. "Experiences Implementing Efficient Java Thread Serialization, Mobility and Persistence", INRIA Technical Report No. RR- 4662, December 2002], we will have a maximum total service migration time (SAS service migration time and coordination migration time) of 355 milliseconds which is less than the delay migration service constraint. Thus, the system has a margin time 1645 milliseconds for huge applications.
Fig. 16 shows a geo-located web service publication time in two GLWSM leaf nodes. To measure the service publication, we suppose that an authorized supplier sent a size of 1116 bytes parameter data (service, agreement service, agreement node entities) to publish to the root GLWSM machine. Then, the root GLWSM stores the data in his UDDIM and forwards them to the publication queue listened by the two GLWSM leaf nodes. After storing the forwarded data in their UDDIM, each GLWSM leaf node sends back a recept to the root GLWSM. We found an average RTT of 105 milliseconds with a minimal and maximal RTT of 88 and 300 milliseconds during 10 minutes observation. We also analyzed the publication time in function of the number GLWSM leaf nodes (which increases the size of parameters sent in a publication process) where they are published. We found that the publication time increases when the number of GLWSM leaf nodes increases too. We found an average RTT of 110, 147 and 247 milliseconds for 5 (Fig. 17), 10 (Fig 18) and 20 GLWSM leaf nodes (Fig. 19), respectively. This variation is due in fact that the size of message sent to a root GLWSM increases when the number of selected GLWSM leaf nodes increases too.
The sending location time of a group of mobiles in a LCS was measured to evaluate the relevance of thematic factorization of the common location functionalities. Tests were designed to compare a sending location request of a group or list of mobiles versus a thematic location. For this purpose, we built two methods: locateSubject that has one parameter representing a subject or a theme and locateMsids that takes as parameter the list of mobile identifiers that we want to locate. We calculated the sending time by building a SOAP client request that loads these two methods. The sending time of locateSubject is calculated by adding the time difference between the received time and sent time of the request and the lookup time to retrieve all mobiles identifiers in the database ClientlnfosDB on the server side. The sending time of locateMsids is calculated by adding the reading time of all mobile identifiers in the database ClientlnfosDB of client machine and the time difference between the received time and sent time of the request. Fig. 20 shows the comparison between the two curves with the maximum subject size implemented (250 characters) and the size of mobile identifiers implemented (20 characters). Note that the thematic location is more efficient. We also remarked that the thematic location gain increases when the number of mobiles to locate increases too.

Claims

1. A method of coordinating client oriented services provided to mobile clients in a network, the method comprising :
discovering said mobile clients in the network;
getting profile information on said discovered mobile clients;
using said profile information to determine services that apply to said discovered mobile clients;
establishing linking data facilitating a connection of said discovered mobile clients to said services determined to be applicable;
giving access of said services determined to be applicable to said discovered mobile clients.
2. The method as claimed in claim 1 , wherein said step of establishing linking data comprises binding software components selected for each of said mobile clients as a function of said profile information with a service application program operable to interact with and serve all of said mobile clients.
3. The method as claimed in claim 1 or 2, wherein said profile information includes quality of service parameters, said steps are coordinated using at least one middleware server, wherein said step of getting profile information on said mobile clients comprises sending said profile information from said mobile clients to said middleware server.
4. The method as claimed in any one of claims 1 to 3, wherein said profile information is predetermined, said step of getting profile information on said mobile clients comprises looking in a client database server, and said steps are coordinated using at least one middleware server, wherein said linking data is communicated from said middleware server to at least one server providing said services without involving said mobile clients.
5. The method as claimed in any one of claims 1 to 4, wherein said step of discovering said mobile clients in the network comprises identifying said mobile clients while said mobile clients contacting their respective home middleware servers.
6. The method as claimed in any one of claims 1 to 5, wherein said step of discovering said mobile clients in the network includes determining a location of said mobile clients, said step of determining services that apply to said mobile clients comprises determining a most appropriate application server providing a set of said services, and said step of giving access of said services to said mobile clients is carried out using said most appropriate application server.
7. The method as claimed in claim 6, further comprising, if required, coordinating migration of said determined services provided by an application server to said most appropriate application server.
8. The method as claimed in claim 6 or 7, wherein said most appropriate application server is a nearest application server to said mobile clients' location.
9. The method as claimed in claim 8, further comprising, if required, coordinating migration of said determined services provided by an application server to said most appropriate application server.
10. The method as claimed in any one of claims 6 to 9, wherein said most appropriate application server is an application server that provides said set of said services and that allows access of said set of said services to some of said mobile clients in according to quality of service requirements.
11. The method as claimed in claim 10, further comprising, if required, coordinating migration of said determined services provided by an application server to said most appropriate application server.
12. The method as claimed in any one of claims 1 to 11 , wherein said services consist of a same application service executed by different application servers according to different quality of service parameters.
13. A method of locating mobile clients in a network, the method comprising:
defining a location criterion and a theme in association with a group of mobile clients;
sending a request containing said location criterion and said theme from a client;
determining a first list of mobile clients from said theme contained in said request at a server location;
obtaining mobile network location for said first list of mobile clients;
processing said first list of mobile clients according to said location criterion to produce a second list of located mobile clients;
sending said second list of located mobile clients to said client.
14. A system for coordinating client oriented services provided to mobile clients in a network, the system comprising:
a location server for locating said mobile clients within the network;
at least one application server for providing application services to said mobile clients;
at least one middleware server in communication with said location server for receiving locations of said mobile clients within the network, said middleware server further receiving profile information on said mobile clients, determining services that apply to said mobile clients as a function of said profile information, determining a most appropriate application server among said at least one application server to provide each of said services determined to be applicable, and for transmitting to at least one of said most appropriate application server and said mobile clients linking data for facilitating a connection of said mobile clients to said most appropriate server.
15. A system as claimed in claim 14 further comprising at least one client database server connected to said at least one middleware server for receiving said profile information on said mobile clients.
16. A system as claimed in claim 14 wherein said profile information is sent by said mobile clients.
17. A system as claimed in any one of claims 14 to 16 wherein said at least one application server comprises a large number of application servers.
18. A system as claimed in any one of claims 14 to 17 further comprising at least one UDDIM server in communication with said at least one middleware server for transmitting network topology and characteristics.
19. A system as claimed in any one of claims 14 to 18 wherein said at least one middleware server comprises a large number of middleware servers, and said system further comprises a root server connected to each of said large number of middleware servers for facilitating communication therebetween.
PCT/CA2006/001337 2005-08-16 2006-08-16 Coordination of client and geo-location oriented services in a mobile network WO2007019689A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US70837205P 2005-08-16 2005-08-16
US60/708,372 2005-08-16

Publications (1)

Publication Number Publication Date
WO2007019689A1 true WO2007019689A1 (en) 2007-02-22

Family

ID=37757284

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2006/001337 WO2007019689A1 (en) 2005-08-16 2006-08-16 Coordination of client and geo-location oriented services in a mobile network

Country Status (1)

Country Link
WO (1) WO2007019689A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613426B2 (en) 2005-12-20 2009-11-03 Microsoft Corporation Proximity service discovery in wireless networks
US7974574B2 (en) 2007-07-25 2011-07-05 Microsoft Corporation Base station initiated proximity service discovery and connection establishment
US8478300B2 (en) 2005-12-20 2013-07-02 Microsoft Corporation Proximity service discovery in wireless networks
US8559350B2 (en) 2005-12-20 2013-10-15 Microsoft Corporation Mechanism to convey discovery information in a wireless network
US8681691B2 (en) 2007-07-25 2014-03-25 Microsoft Corporation Base station initiated proximity service discovery and connection establishment
US8909738B2 (en) 2008-03-20 2014-12-09 Tajitshu Transfer Limited Liability Company Redundant data forwarding storage
US9105031B2 (en) 2008-02-22 2015-08-11 Microsoft Technology Licensing, Llc Authentication mechanisms for wireless networks
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US10681151B2 (en) 2006-05-15 2020-06-09 Microsoft Technology Licensing, Llc Notification framework for wireless networks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167261A (en) * 1997-02-27 2000-12-26 At&T Wireless Svcs. Inc. Wireless communication service management
EP1107512A1 (en) * 1999-12-03 2001-06-13 Sony International (Europe) GmbH Communication device and software for operating multimedia applications
US20040014455A1 (en) * 2000-09-14 2004-01-22 Ronan Viel Method and device for co-ordinating telecommunications services
EP1455545A1 (en) * 2003-03-05 2004-09-08 Alcatel Method, network server and mobile device for providing services

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167261A (en) * 1997-02-27 2000-12-26 At&T Wireless Svcs. Inc. Wireless communication service management
EP1107512A1 (en) * 1999-12-03 2001-06-13 Sony International (Europe) GmbH Communication device and software for operating multimedia applications
US20040014455A1 (en) * 2000-09-14 2004-01-22 Ronan Viel Method and device for co-ordinating telecommunications services
EP1455545A1 (en) * 2003-03-05 2004-09-08 Alcatel Method, network server and mobile device for providing services

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613426B2 (en) 2005-12-20 2009-11-03 Microsoft Corporation Proximity service discovery in wireless networks
US8478300B2 (en) 2005-12-20 2013-07-02 Microsoft Corporation Proximity service discovery in wireless networks
US8559350B2 (en) 2005-12-20 2013-10-15 Microsoft Corporation Mechanism to convey discovery information in a wireless network
US10681151B2 (en) 2006-05-15 2020-06-09 Microsoft Technology Licensing, Llc Notification framework for wireless networks
US9036558B2 (en) 2007-07-25 2015-05-19 Microsoft Technology Licensing, Llc Base station initiated proximity service discovery and connection establishment
US8681691B2 (en) 2007-07-25 2014-03-25 Microsoft Corporation Base station initiated proximity service discovery and connection establishment
US10321515B2 (en) 2007-07-25 2019-06-11 Microsoft Technology Licensing, Llc Base station initiated proximity service discovery and connection establishment
US7974574B2 (en) 2007-07-25 2011-07-05 Microsoft Corporation Base station initiated proximity service discovery and connection establishment
US9105031B2 (en) 2008-02-22 2015-08-11 Microsoft Technology Licensing, Llc Authentication mechanisms for wireless networks
US9591483B2 (en) 2008-02-22 2017-03-07 Microsoft Technology Licensing, Llc Authentication mechanisms for wireless networks
US8909738B2 (en) 2008-03-20 2014-12-09 Tajitshu Transfer Limited Liability Company Redundant data forwarding storage
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US9961144B2 (en) 2008-03-20 2018-05-01 Callahan Cellular L.L.C. Data storage and retrieval

Similar Documents

Publication Publication Date Title
WO2007019689A1 (en) Coordination of client and geo-location oriented services in a mobile network
Yiping et al. A new 4G architecture providing multimode terminals always best connected services
CN101036353B (en) Method, apparatus and system for routing AAA-messages from a home service network over a number of intermediary networks to a roaming network
EP2849467B1 (en) Method and apparatus providing user programmable personalized location-aware services
US8929330B2 (en) Network discovery mechanisms
US7436843B2 (en) Method for access selection
US7050815B2 (en) Deriving location information about a communicating entity
CN103119987B (en) The method of fix data points, the network using the method and subscriber&#39;s installation
EP1506688B1 (en) Wireless communications arrangements with location based services
EP2536171B1 (en) Location method, device and system for secure user plane location enabled terminal
JP2005510912A (en) Telecommunications system and privacy management method
EP1587249A1 (en) Location management program, computer program, and recording medium
CN101147407A (en) Terminal, system and method for providing location information service by interworking between wlan and mobile communication network
Kühn Location-based services in mobile communication infrastructures
JP2004507181A (en) System and method for providing services across different networks
Kanter An open service architecture for adaptive personal mobile communication
Bayomock Linwa et al. A geo-located web services architecture for next generation mobile networks
Linwa et al. Discovering the architecture of geo-located web services for next generation mobile networks
CN102957668B (en) The method and access service router of positional information are obtained in mark net
JP7343729B1 (en) Mobile communication system and communication control method
Linwa et al. Discovering Architecture Formalism of Geo-Located Web Services for Next Generation of Mobile Networks
Papazafeiropoulos et al. Retrieving position from indoor WLANs through GWLC
US20230422142A1 (en) Collaboration Between Mobile Network Operators for Mobile Edge Computing Applications
Wegdam et al. An architecture for user location in heterogeneous mobile networks
Zafeiris et al. An agent‐based perspective to handover management in 4G networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06775112

Country of ref document: EP

Kind code of ref document: A1