WO2008039058A1 - Distribution mechanism for context expression evaluation - Google Patents

Distribution mechanism for context expression evaluation Download PDF

Info

Publication number
WO2008039058A1
WO2008039058A1 PCT/NL2006/050239 NL2006050239W WO2008039058A1 WO 2008039058 A1 WO2008039058 A1 WO 2008039058A1 NL 2006050239 W NL2006050239 W NL 2006050239W WO 2008039058 A1 WO2008039058 A1 WO 2008039058A1
Authority
WO
WIPO (PCT)
Prior art keywords
context
service node
expression
evaluation
environment
Prior art date
Application number
PCT/NL2006/050239
Other languages
French (fr)
Inventor
Jozef Henricus Petrus Hendriks
Erik Jan Reitsma
Hugo Zwaal
Yuri Blankenstijn
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
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 Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/NL2006/050239 priority Critical patent/WO2008039058A1/en
Publication of WO2008039058A1 publication Critical patent/WO2008039058A1/en

Links

Classifications

    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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

Definitions

  • the present invention relates to a method for providing a service in a communication network, in which the service comprises evaluating a request comprising an expression, the expression being a function of a plurality of elements, each element relating to data originating from one or more context sources available in the communication network.
  • the present invention relates to a service node for a communication network providing a service in the communication network, in which the service node is arranged to receive and evaluate a request, the request comprising an expression being a function of a plurality of elements, each element relating to data originating from one or more context sources, the service node, in operation, being connectable to the one or more context sources.
  • applications for providing a service in a communication network are implemented in a separate application server in the network, or in existing network nodes.
  • the application may need to obtain information or provide information to users of the telecommunication network, usually requiring a client-server type of implementation.
  • Existing solutions only provide fixed client-server implementations where the service logic for the application is divided in a fixed manner over the client and the server part. Development of such a service has to take into account the division of the service logic over the client and the server up front, before going into service.
  • the application includes an evaluation of an expression based on information from various context sources, this information will need to be transferred over the network, with the associated cost thereof.
  • the present invention seeks to provide an improvement in network performance and efficiency for a communication network providing a service involving multiple context sources. This is accomplished using a method as described above, in which the method comprises distributing the evaluation of the expression over two or more execution environments, in which the locations of the two or more execution environments are different.
  • the locations can be physically different (e.g. shifting part of the server logic to a mobile station), or logically different (e.g. two different service nodes or computers).
  • Spreading the evaluation or server logic over two or more locations may enable to use less expensive communication paths, as a result of which network resources may be used more efficiently.
  • the two or more execution environments comprise a server execution environment (e.g. a service node in a mobile telecommunications network) and a client execution environment (e.g. a mobile station).
  • server execution environment e.g. a service node in a mobile telecommunications network
  • client execution environment e.g. a mobile station
  • the client execution environment comprises a mobile station environment, a context source environment, or a combination of a mobile station environment and a context source environment, in which the context source environment is co-located with the respective context source.
  • the context sources are the providers of the data necessary for evaluation of the expression. When it is possible to transfer part of the service logic to the location of the context source data, only more concise information has to be sent through the network, thus improving the efficiency.
  • Distributing the evaluation is, in a further embodiment, executed dependent on a physical location of a respective one of the one or more context sources. As a result of the knowledge of the physical location of context sources, and knowledge of the structure of the network, it may be determined how the service logic needs to be distributed to allow improvement of the efficiency of executing the application. In a further embodiment, distributing the evaluation is executed once the physical location is established, i.e. becomes known to the application.
  • the cost of evaluating the expression at the two or more execution environments may be taken into account to find a possible distribution solution.
  • distributing the evaluation is executed dynamically. I.e. when the circumstances change, the distribution of the service logic is automatically adjusted.
  • the two or more execution environments may be connected using a public network, such as mobile networks using UMTS, GPRS, Wifi, WiMAX, etc. Furthermore, the two or more execution environments may be connected using a local network, such as a personal or body area network (PAN/BAN), a Wifi local area network, a bluetooth network (BT), etc. In each case, the cost of using the public network or local network may be taken into account when determining how the service logic is distributed.
  • a public network such as mobile networks using UMTS, GPRS, Wifi, WiMAX, etc.
  • a local network such as a personal or body area network (PAN/BAN), a Wifi local area network, a bluetooth network (BT), etc.
  • PAN/BAN personal or body area network
  • BT bluetooth network
  • the present invention relates to a service defined as defined above, in which the service node is further arranged to distribute the evaluation of the expression over two or more execution environments in the communication network, in which the locations of the two or more execution environments are different.
  • the locations can be physically different (e.g. shifting part of the server logic to a mobile station), or logically different (e.g. two different service nodes or computers), and in both cases, the network utilization for providing the service may be more efficient.
  • the two or more execution environments may comprise a server execution environment, in which e.g. the service node is operating, and a client execution environment.
  • the client execution environment may comprise a mobile station environment, a context source environment, or a combination of both.
  • the context source environment is co-located with the respective context source.
  • the evaluation of the expression may be executed partly on the server node itself (server execution environment), partly on a mobile station in the network (mobile station environment), and partly on a network unit comprising one of the context sources (context source environment).
  • the service node is further arranged to execute distributing the evaluation dependent on a physical location of a respective one of the one or more context sources. Distributing the evaluation may e.g. only be executed once the physical location is established. Distributing the evaluation may also be dependent on the cost of evaluating the expression at the two or more execution environments.
  • the service node is further arranged to execute distributing the evaluation dynamically, in order to allow to adapt to changing circumstances, e.g. the change of location of a mobile station from a (low cost) Wifi connection to a UMTS connection.
  • the service node may further comprise a rule interpreter for evaluating the expression.
  • the service node may further comprise a context information collector for interfacing with the one or more context sources.
  • the context information collector may in an even further embodiment comprise a context source proxy for each of the one or more context sources, for storing data associated with each respective context source.
  • Fig. 1 shows a schematic view of a network structure using service logic and a number of context sources
  • Fig. 2 shows a schematic diagram of a network implementing an embodiment of the present invention
  • Fig. 3 shows a schematic view of a service logic distribution according to an embodiment of the present invention
  • Fig. 4 shows a schematic view of a service logic distribution according to a further embodiment of the present invention.
  • Fig. 5 shows a sequence diagram of a scenario using no distribution of service logic
  • Fig. 6 shows a sequence diagram of a scenario using distribution of service logic according to an embodiment of the present invention.
  • Fig. 7 shows a schematic view of an exemplary application in which embodiments of the present invention can be applied.
  • the present invention may be applied and implemented in any type of communication network structure, such as a cellular telecommunication network.
  • the various method embodiments described below may be implemented (e.g. as a software module) in one of existing network hardware components or in a separate service node which interfaces with other nodes and/or components in the network 1 as required.
  • a schematic view of a network structure using service logic and a number of context sources is illustrated in Fig. 1. Only the elements needed to understand the invention are shown here.
  • a service or application may use a network 1 (e.g. a fixed or mobile network) to obtain the evaluation of an expression A (indicated by a square) depending on a plurality of elements.
  • a service logic block 5 which is arranged to execute the evaluation of the expression may be implemented in e.g. a service node, which is connectable to the network 1.
  • Actual context sources B, D, and E (indicated by circles and providing data related to context information) may be located inside the network, or, as indicated in Fig. 1 , outside of the network 1 , in which case the context sources B, D, E are able to communicate with the network 1.
  • the expression evaluation part may comprise context source proxies (or context source proxy servers) B', D', and E', which are arranged to store and provide context source information corresponding to context source information obtained from the context sources B, D, E via the network 1.
  • context source proxies or context source proxy servers
  • a service available in the network 1 can be described through service logic.
  • Service logic can be described as rules over an expression tree with corresponding service specific actions.
  • the expression tree associated with service logic 5 as e.g. illustrated in Fig. 1, forms the conditions to which the context sources B, D, E have to comply in order to execute certain actions in the service logic.
  • the context sources B, D, E form the end points in the expression tree and are input parameters for the service logic block 5.
  • the service logic block 5 shown in Fig. 1 may represent (part of) any kind of service depending on data from context sources B, D and E with certain relations or expressions A and C between them.
  • a request from an application or service depends on the evaluation of an expression A.
  • the expression A depends on two elements, i.e. another expression C (intermediate expression) and the value of context source B.
  • the expression C depends on the value of context sources D, E as illustrated in Fig.l.
  • expression A illustrated above comprises one further expression (expression C)
  • expression C it is also possible that no intermediate expressions are present, i.e. the expression A to be evaluated depends directly on information (data) from one or more context sources B, D, E.
  • more complex expressions may be necessary when implementing certain network services, e.g. comprising multiple intermediate expressions.
  • FIG. 2 A possible implementation of the present invention in a telecommunication network is shown in Fig. 2. Again, the context sources B, D and E are shown as being positioned outside the network 1.
  • a requestor 11 e.g. an application being executed in a mobile telephone operated by a user
  • the service node 10 comprises a context information collector 15, which in this example is connected to the context sources B, D, E through the network 1, and a rule interpreter 16 connected to the context information collector 15 and the requestor 11.
  • the network 1 forms the transport facility of information coming from the physical context sources B, D, E.
  • the physical context sources B, D, E are positioned outside the service node 10, but are represented within the service node 10 by their respective proxies B', D', E'.
  • the functionalities indicated in Fig. 2 may be implemented as software programs loaded on a processing device which is known as such, e.g. in the form of the service node 10, or another already existing processing device in the network 1.
  • the context source proxies B', D' and E' may be implemented as part of the context information collector 15.
  • a request (indicated by Request(Rule A) in Fig. 2) is posted at the rule interpreter 16 by the requestor 11.
  • the request concerns the evaluation of an expression Rule A, which is, as shown in relation to Fig. 1, based on the three context sources B, D and E.
  • Rule A which is, as shown in relation to Fig. 1, based on the three context sources B, D and E.
  • the relation between rules and context sources is already outlined in relation to Fig. 1 above.
  • the requestor 11 is notified by the rule interpreter 16 when rule A evaluates to true.
  • the context source proxies B', D', E' may be updated with an event triggering based mechanism, a request based mechanism, or a combination of both.
  • the proxies may be programmed to update the information at regular intervals.
  • a mechanism is provided for distributing a part of the expression evaluation within the service logic block 5 from the service node 10 (or server service execution environment 20) towards another physical or logical part in the network (client execution environment 21, 22, see below) where the cost-of-use of the network resources is less.
  • Fig. 1 depicts the total expression tree within the service logic block 5 of a service deployed on one server node 10 and depending on three external context sources B, D, E.
  • the service logic block 5 comprises an expression of the values of some context sources B, D, E that are external to the service node 10, where the service is executed.
  • the service is to take some action depending on the values of the context sources B, D, E.
  • the conditions and parameters for this action are determined by the expression on the values of the context sources B, D, E.
  • a mechanism is used for distributing a part of the expression evaluation from the service node 10 towards the context sources B, D, E.
  • the context sources D and E are physically located on a mobile station of the subscriber or in a PAN/BAN (Personal/ Body Area Network) network 31 of the subscriber.
  • PAN/BAN Personal/ Body Area Network
  • Fig. 3 it is shown that an optimization can be reached by moving a part of the expression evaluation (the server logic block 5 of Fig. 1) to the mobile station. It is assumed that the mobile station can evaluate this part of the expression and handle triggers on the value of the expression.
  • the part of the service logic for evaluation of the major expression A is executed in a server service environment 20
  • the part of the service logic for evaluation of the (intermediate) expression C is executed in a mobile station service environment 21 (which is a species of the client execution environment 21, 22 mentioned above).
  • the context source B is located outside both environments 20, 21, and connected to the server service environment 20 via a fixed or mobile network 1 (e.g. using context source proxy B' in the server service environment 20).
  • the context sources D and E are located in the mobile station service environment 21, and are e.g. connected to associated context source proxies D', E' via the local network 31. Furthermore the mobile station service environment 21 is able to communicate with the server service environment 20 using the fixed/mobile network 1, e.g. using an expression proxy C in the server service environment 20.
  • Fig. 1 there are two communication paths through the public fixed/mobile network 1 (i.e., context source proxy D' and E' connected to context source D and E respectively).
  • the public fixed/mobile network 1 i.e., context source proxy D' and E' connected to context source D and E respectively.
  • context source D and E have the same address of origin (i.e., the mobile station)
  • the conclusion can be drawn that both context sources D, E are co-located with the mobile station and that optimization is guaranteed when part of the expression evaluation is moved to the mobile station (i.e. mobile station service environment 21).
  • the service logic is even further distributed to one or more of the context sources B, D, E, themselves.
  • Fig. 4 a schematic diagram is shown of this embodiment.
  • This alternative could be used when the context sources D and E are not co-located.
  • the context source D can evaluate a part of the expression and handle triggers on the value of the expression.
  • the part of the service logic for evaluation of the major expression A is executed in the server service environment 20, while the part of the service logic for evaluation of the (intermediate) expression C is executed in a context source environment 22.
  • the context source B is located outside both environments 20, 22, and connected to the server service environment 20 via a fixed or mobile network 1 (e.g. using context source proxy B' in the server service environment 20).
  • the context source E is located outside the context source environment 22, and is e.g. connected to an associated context source proxy E' via the local network 32.
  • the context source environment 22 is able to communicate with the server service environment 20 using the fixed/mobile network 1, e.g. using an expression proxy C in the server service environment 20.
  • This embodiment is particularly useful when a (local) communication network 32 between a context source D environment 22 and context source E is cheaper than the original fixed/mobile (public or commercial) network 1. Distributing the evaluation is in this case executed dependent on the cost of evaluating the expression at the respective execution environments.
  • the benefits of the embodiments of the present invention are especially clarified when looking at the number of messages exchanged in each of the networks 1, 31, 32 using an exemplary scenario.
  • the scenario describes a trigger set on true for Expression A where the first context source being requested (i.e., context source E) will return false and triggering will be set for this context source. The next context source being requested will return true.
  • a trigger on true is set on expression A at the rule interpreter 16 by the requestor 11 and the rule evaluation is based on three context sources B, D and E (as described earlier with reference to Fig. 1).
  • the sequence diagram of Fig. 5 shows that six messages will go over the network boundary between the server service environment 20 and the mobile station service environment 21, i.e. six messages will be relayed over the fixed/mobile network 1. The number of messages going over the network boundary would be even more when the context sources D, E, switch values and one of the context sources D, E remains false.
  • Fig. 5 the first step after the requestor 11 has initiated the evaluation of expression A, is a request to evaluate expression C.
  • context source E will be interrogated first, which is shown in request 2 towards the context source proxy E'.
  • the context source proxy E' will then be interrogated via the network 1 (request 3), and context source E returns the value false, again via the network 1 (message 4).
  • This is relayed back from the context source proxy E' (message 5), expression C will evaluate to false, which is relayed back to the evaluation of expression A (message 6).
  • a trigger mechanism will be initiated for context source E, using the messages 7, 8, and 9, of which the latter crosses the network boundary.
  • context source E changes to the value true
  • an event is generated and sent from the context source E to context source proxy E '(across the network 1) all the way back to the evaluation of expression C (messages 10 and 11).
  • the next context source D is interrogated (messages 12 and 13) using context source proxy D'.
  • Context source D returns the value true, and this is relayed back to evaluation of expression C (message 14 across the network boundary and message 15).
  • This expression C evaluates to true, and this is relayed back to the evaluation of expression A (message 16).
  • Fig. 6 a sequence diagram is shown for the case of the embodiment of Fig. 3, in which the evaluation of part of the expression is transferred to the mobile station service environment 21. Because the system has determined that the context sources D and E are co-located, it has determined that it is more efficient to push the condition evaluation part of the service logic of Rule C to the mobile station service environment 21 where context sources D and E are located. The requestor 11 is notified when rule A evaluates to true.
  • the first step after the requestor 11 has initiated the evaluation of expression A is a request to evaluate expression C (message 1) using the expression proxy C.
  • the expression proxy C forwards the request to the actual evaluation of expression C in the mobile station service environment, thus crossing the network boundary using message 2.
  • context source E will be interrogated first, which is shown in request 3 towards the context source proxy E'.
  • the context source proxy E' will then be interrogated via the local network 31 (message 4), and context source E returns the value false, again via the local network 31 (message 5). This is relayed back from the context source proxy E' (message 6) to the expression C evaluation (message 6).
  • Context source D returns the value true, and this is relayed back to evaluation of expression C (message 17 across the local network 31 boundary and message 18). This expression C evaluates to true, and this is relayed back to the expression proxy C using message 19 which uses the network 1. Finally, the event that expression C evaluates to true is relayed back to the evaluation of expression A (message 20).
  • Fig. 6 shows that only four messages go over the network boundary (messages 2, 7, 10 and 19). This is an optimization of two messages. The optimization would be even better as long as the context sources switch values but one of the context sources remains false.
  • the advantage of the embodiments of the present invention is that (part of) the expression evaluation within the service logic block 5 may be dynamically moved to another execution environment (mobile station service environment 21 and/or context source environment 22) where the resource usage is cheaper or of a different kind (e.g. battery power vs. monetary value).
  • dynamically distributing the expression evaluation changing circumstances may be taken into account, e.g. when a mobile station moves from a (costly) UMTS connection to a local network connection (e.g. using a Will access point).
  • the distribution of the evaluation of expressions may furthermore be executed, once the (physical) location of a context source is known.
  • Another advantage is that the number of messages going through more expensive (mobile) network is minimized.
  • FIG. 7 A possible application in which an evaluation of an expression may be divided over multiple locations according to one of the embodiments above is a traffic information system.
  • Fig. 7 the possible architecture is shown for a traffic information service where subscribers (or better the mobile stations 41a, 41b, 41c of three subscribers Carol, Bob and John) provide location information via a context information collector 15 to the traffic information service application 17 in service node 10.
  • the mobile stations 41 can communicate with the service node 10 via the GPRS/UMTS network 1.
  • the traffic information service 17 provides the subscribers via their mobile stations 41 with proposals to continue their journey.
  • Each of the mobile stations 41 of the subscribers are arranged to comprise a number of context sources: a GPS module, a mobile device profile (MDP), and a Bluetooth connection (BC).
  • a GPS module i.e. the mobile station service environment 21 of the embodiment of Fig. 3
  • MDP mobile device profile
  • BC Bluetooth connection
  • This rule can be read as: the mobile device has a profile called "in car” and the Bluetooth connection is on and the speed according to the GPS module is less than the maximum Speed minus some Offset.
  • the context sources at the mobile station 41 are used for evaluating the expression Rulel locally.
  • other context sources may be used, e.g. the context sources shown in Fig. 7 which communicate directly with the context information collector 15.
  • a further example of an intelligent application 17 is a heart failure surveillance application.
  • the subscriber terminal 41 will need to comprise the following context sources: a GPS Module, a Heart Frequency Sensor, and an Oxygen Sensor. These can e.g. be provided as separate devices able to use the mobile terminal 41 to process and transmit the respective relevant data.
  • the heart frequency sensor has a value lower than Lowlimit or the heart frequency sensor has a value more than Highlimit, and the oxygen sensor has a value lower than Lowlimit.

Abstract

Method for providing a service in a communication network and service node (10) for such a communication network (1). The service node (10) is arranged to receive and evaluate a request (A). The request comprises an expression being a function of a plurality of elements (B, C), each element relating to data originating from one or more context sources (B, D, E). The service node (10) is, in operation, connectable to the one or more context sources (B, D, E), and further arranged to distribute the evaluation of the expression over two or more execution environments (20, 21, 22) in the communication network (1). The locations of the two or more execution environments (20, 21, 22) is different.

Description

Distribution mechanism for context expression evaluation
Technical field
The present invention relates to a method for providing a service in a communication network, in which the service comprises evaluating a request comprising an expression, the expression being a function of a plurality of elements, each element relating to data originating from one or more context sources available in the communication network.
In a further aspect, the present invention relates to a service node for a communication network providing a service in the communication network, in which the service node is arranged to receive and evaluate a request, the request comprising an expression being a function of a plurality of elements, each element relating to data originating from one or more context sources, the service node, in operation, being connectable to the one or more context sources.
Background
In present day systems, applications for providing a service in a communication network are implemented in a separate application server in the network, or in existing network nodes. The application may need to obtain information or provide information to users of the telecommunication network, usually requiring a client-server type of implementation. Existing solutions only provide fixed client-server implementations where the service logic for the application is divided in a fixed manner over the client and the server part. Development of such a service has to take into account the division of the service logic over the client and the server up front, before going into service. When the application includes an evaluation of an expression based on information from various context sources, this information will need to be transferred over the network, with the associated cost thereof.
Summary
The present invention seeks to provide an improvement in network performance and efficiency for a communication network providing a service involving multiple context sources. This is accomplished using a method as described above, in which the method comprises distributing the evaluation of the expression over two or more execution environments, in which the locations of the two or more execution environments are different. The locations can be physically different (e.g. shifting part of the server logic to a mobile station), or logically different (e.g. two different service nodes or computers). Spreading the evaluation or server logic over two or more locations may enable to use less expensive communication paths, as a result of which network resources may be used more efficiently.
In an embodiment of the present invention, the two or more execution environments comprise a server execution environment (e.g. a service node in a mobile telecommunications network) and a client execution environment (e.g. a mobile station). By distributing the server logic, i.e. the evaluation of the expression in an application, it is possible to utilize possible savings in operating cost.
In an even further embodiment, the client execution environment comprises a mobile station environment, a context source environment, or a combination of a mobile station environment and a context source environment, in which the context source environment is co-located with the respective context source. The context sources are the providers of the data necessary for evaluation of the expression. When it is possible to transfer part of the service logic to the location of the context source data, only more concise information has to be sent through the network, thus improving the efficiency.
Distributing the evaluation is, in a further embodiment, executed dependent on a physical location of a respective one of the one or more context sources. As a result of the knowledge of the physical location of context sources, and knowledge of the structure of the network, it may be determined how the service logic needs to be distributed to allow improvement of the efficiency of executing the application. In a further embodiment, distributing the evaluation is executed once the physical location is established, i.e. becomes known to the application.
In the execution of the distributing step, the cost of evaluating the expression at the two or more execution environments may be taken into account to find a possible distribution solution. In an embodiment of the present method, distributing the evaluation is executed dynamically. I.e. when the circumstances change, the distribution of the service logic is automatically adjusted.
The two or more execution environments may be connected using a public network, such as mobile networks using UMTS, GPRS, Wifi, WiMAX, etc. Furthermore, the two or more execution environments may be connected using a local network, such as a personal or body area network (PAN/BAN), a Wifi local area network, a bluetooth network (BT), etc. In each case, the cost of using the public network or local network may be taken into account when determining how the service logic is distributed.
In a further aspect, the present invention relates to a service defined as defined above, in which the service node is further arranged to distribute the evaluation of the expression over two or more execution environments in the communication network, in which the locations of the two or more execution environments are different. The locations can be physically different (e.g. shifting part of the server logic to a mobile station), or logically different (e.g. two different service nodes or computers), and in both cases, the network utilization for providing the service may be more efficient.
The two or more execution environments may comprise a server execution environment, in which e.g. the service node is operating, and a client execution environment. The client execution environment may comprise a mobile station environment, a context source environment, or a combination of both. The context source environment is co-located with the respective context source. E.g. the evaluation of the expression may be executed partly on the server node itself (server execution environment), partly on a mobile station in the network (mobile station environment), and partly on a network unit comprising one of the context sources (context source environment).
In a further embodiment, the service node is further arranged to execute distributing the evaluation dependent on a physical location of a respective one of the one or more context sources. Distributing the evaluation may e.g. only be executed once the physical location is established. Distributing the evaluation may also be dependent on the cost of evaluating the expression at the two or more execution environments. In an even further embodiment, the service node is further arranged to execute distributing the evaluation dynamically, in order to allow to adapt to changing circumstances, e.g. the change of location of a mobile station from a (low cost) Wifi connection to a UMTS connection.
For operation of the service node, the service node may further comprise a rule interpreter for evaluating the expression. Also, the service node may further comprise a context information collector for interfacing with the one or more context sources. The context information collector may in an even further embodiment comprise a context source proxy for each of the one or more context sources, for storing data associated with each respective context source.
Brief description of the drawings
The present invention will be discussed in more detail below, using a number of exemplary embodiments, with reference to the attached drawings, in which
Fig. 1 shows a schematic view of a network structure using service logic and a number of context sources;
Fig. 2 shows a schematic diagram of a network implementing an embodiment of the present invention;
Fig. 3 shows a schematic view of a service logic distribution according to an embodiment of the present invention;
Fig. 4 shows a schematic view of a service logic distribution according to a further embodiment of the present invention;
Fig. 5 shows a sequence diagram of a scenario using no distribution of service logic;
Fig. 6 shows a sequence diagram of a scenario using distribution of service logic according to an embodiment of the present invention; and
Fig. 7 shows a schematic view of an exemplary application in which embodiments of the present invention can be applied.
Detailed description
The present invention may be applied and implemented in any type of communication network structure, such as a cellular telecommunication network. The various method embodiments described below may be implemented (e.g. as a software module) in one of existing network hardware components or in a separate service node which interfaces with other nodes and/or components in the network 1 as required.
A schematic view of a network structure using service logic and a number of context sources is illustrated in Fig. 1. Only the elements needed to understand the invention are shown here. A service or application may use a network 1 (e.g. a fixed or mobile network) to obtain the evaluation of an expression A (indicated by a square) depending on a plurality of elements. A service logic block 5 which is arranged to execute the evaluation of the expression may be implemented in e.g. a service node, which is connectable to the network 1. Actual context sources B, D, and E (indicated by circles and providing data related to context information) may be located inside the network, or, as indicated in Fig. 1 , outside of the network 1 , in which case the context sources B, D, E are able to communicate with the network 1. The expression evaluation part (service logic 5) may comprise context source proxies (or context source proxy servers) B', D', and E', which are arranged to store and provide context source information corresponding to context source information obtained from the context sources B, D, E via the network 1.
A service available in the network 1 can be described through service logic. Service logic can be described as rules over an expression tree with corresponding service specific actions. The expression tree associated with service logic 5 as e.g. illustrated in Fig. 1, forms the conditions to which the context sources B, D, E have to comply in order to execute certain actions in the service logic. The context sources B, D, E form the end points in the expression tree and are input parameters for the service logic block 5.
The service logic block 5 shown in Fig. 1 may represent (part of) any kind of service depending on data from context sources B, D and E with certain relations or expressions A and C between them. A request from an application or service depends on the evaluation of an expression A. In the situation shown in Fig. 1, the expression A depends on two elements, i.e. another expression C (intermediate expression) and the value of context source B. The expression C depends on the value of context sources D, E as illustrated in Fig.l.
Other expressions may also be used in the embodiments of the present invention. Although the expression A illustrated above comprises one further expression (expression C), it is also possible that no intermediate expressions are present, i.e. the expression A to be evaluated depends directly on information (data) from one or more context sources B, D, E. Also, more complex expressions may be necessary when implementing certain network services, e.g. comprising multiple intermediate expressions.
A possible implementation of the present invention in a telecommunication network is shown in Fig. 2. Again, the context sources B, D and E are shown as being positioned outside the network 1. A requestor 11 (e.g. an application being executed in a mobile telephone operated by a user) may send a request to a service node 10, which service node 10 may be part of the network 1, or, as indicated in Fig. 2, is connected to the network 1. The service node 10 comprises a context information collector 15, which in this example is connected to the context sources B, D, E through the network 1, and a rule interpreter 16 connected to the context information collector 15 and the requestor 11. The network 1 forms the transport facility of information coming from the physical context sources B, D, E. The physical context sources B, D, E are positioned outside the service node 10, but are represented within the service node 10 by their respective proxies B', D', E'.
The functionalities indicated in Fig. 2 may be implemented as software programs loaded on a processing device which is known as such, e.g. in the form of the service node 10, or another already existing processing device in the network 1. The context source proxies B', D' and E' may be implemented as part of the context information collector 15.
A request (indicated by Request(Rule A) in Fig. 2) is posted at the rule interpreter 16 by the requestor 11. In this case, the request concerns the evaluation of an expression Rule A, which is, as shown in relation to Fig. 1, based on the three context sources B, D and E. The relation between rules and context sources is already outlined in relation to Fig. 1 above. The requestor 11 is notified by the rule interpreter 16 when rule A evaluates to true. In order to have an as accurate as possible context information the context source proxies B', D', E' may be updated with an event triggering based mechanism, a request based mechanism, or a combination of both. Furthermore, the proxies may be programmed to update the information at regular intervals. According to various embodiments of the present invention, a mechanism is provided for distributing a part of the expression evaluation within the service logic block 5 from the service node 10 (or server service execution environment 20) towards another physical or logical part in the network (client execution environment 21, 22, see below) where the cost-of-use of the network resources is less.
Fig. 1 depicts the total expression tree within the service logic block 5 of a service deployed on one server node 10 and depending on three external context sources B, D, E. In this example, it is assumed that the service logic block 5 comprises an expression of the values of some context sources B, D, E that are external to the service node 10, where the service is executed. The service is to take some action depending on the values of the context sources B, D, E. The conditions and parameters for this action are determined by the expression on the values of the context sources B, D, E.
In a further embodiment, shown schematically in Fig. 3, a mechanism is used for distributing a part of the expression evaluation from the service node 10 towards the context sources B, D, E. In this particular case the context sources D and E are physically located on a mobile station of the subscriber or in a PAN/BAN (Personal/ Body Area Network) network 31 of the subscriber.
In Fig. 3 it is shown that an optimization can be reached by moving a part of the expression evaluation (the server logic block 5 of Fig. 1) to the mobile station. It is assumed that the mobile station can evaluate this part of the expression and handle triggers on the value of the expression. In this situation, the part of the service logic for evaluation of the major expression A is executed in a server service environment 20, while the part of the service logic for evaluation of the (intermediate) expression C is executed in a mobile station service environment 21 (which is a species of the client execution environment 21, 22 mentioned above). The context source B is located outside both environments 20, 21, and connected to the server service environment 20 via a fixed or mobile network 1 (e.g. using context source proxy B' in the server service environment 20). The context sources D and E are located in the mobile station service environment 21, and are e.g. connected to associated context source proxies D', E' via the local network 31. Furthermore the mobile station service environment 21 is able to communicate with the server service environment 20 using the fixed/mobile network 1, e.g. using an expression proxy C in the server service environment 20.
In the implementation shown in Fig. 1 there are two communication paths through the public fixed/mobile network 1 (i.e., context source proxy D' and E' connected to context source D and E respectively). By moving the expression tree behind Expression C to the mobile station service environment 21 and creating a representing expression proxy C as shown in the embodiment of Fig. 3, one communication path through the public fixed/mobile network 1 is saved. In this embodiment, distributing the evaluation of the expression is executed dependent on the (physical) location of one more of the context sources B, D, E.
When context source D and E have the same address of origin (i.e., the mobile station), the conclusion can be drawn that both context sources D, E are co-located with the mobile station and that optimization is guaranteed when part of the expression evaluation is moved to the mobile station (i.e. mobile station service environment 21).
In an even further embodiment of the present invention, the service logic is even further distributed to one or more of the context sources B, D, E, themselves.
In Fig. 4, a schematic diagram is shown of this embodiment. This alternative could be used when the context sources D and E are not co-located. It is assumed that the context source D can evaluate a part of the expression and handle triggers on the value of the expression. In this situation, the part of the service logic for evaluation of the major expression A is executed in the server service environment 20, while the part of the service logic for evaluation of the (intermediate) expression C is executed in a context source environment 22. The context source B is located outside both environments 20, 22, and connected to the server service environment 20 via a fixed or mobile network 1 (e.g. using context source proxy B' in the server service environment 20). The context source E is located outside the context source environment 22, and is e.g. connected to an associated context source proxy E' via the local network 32. Furthermore the context source environment 22 is able to communicate with the server service environment 20 using the fixed/mobile network 1, e.g. using an expression proxy C in the server service environment 20.
This embodiment is particularly useful when a (local) communication network 32 between a context source D environment 22 and context source E is cheaper than the original fixed/mobile (public or commercial) network 1. Distributing the evaluation is in this case executed dependent on the cost of evaluating the expression at the respective execution environments.
As will be apparent to the skilled person, combinations of the above embodiments may also be envisaged, especially in situations were the expression to be evaluated is more complex, and/or when more context sources are involved.
The benefits of the embodiments of the present invention are especially clarified when looking at the number of messages exchanged in each of the networks 1, 31, 32 using an exemplary scenario. The scenario describes a trigger set on true for Expression A where the first context source being requested (i.e., context source E) will return false and triggering will be set for this context source. The next context source being requested will return true.
In Fig. 5, the scenario of evaluating an expression according to the service logic block 5 of Fig. 1 is described in a sequence diagram. In this scenario, a trigger on true is set on expression A at the rule interpreter 16 by the requestor 11 and the rule evaluation is based on three context sources B, D and E (as described earlier with reference to Fig. 1).
The sequence diagram of Fig. 5 shows that six messages will go over the network boundary between the server service environment 20 and the mobile station service environment 21, i.e. six messages will be relayed over the fixed/mobile network 1. The number of messages going over the network boundary would be even more when the context sources D, E, switch values and one of the context sources D, E remains false.
In Fig. 5, the first step after the requestor 11 has initiated the evaluation of expression A, is a request to evaluate expression C. As explained before, context source E will be interrogated first, which is shown in request 2 towards the context source proxy E'. The context source proxy E' will then be interrogated via the network 1 (request 3), and context source E returns the value false, again via the network 1 (message 4). This is relayed back from the context source proxy E' (message 5), expression C will evaluate to false, which is relayed back to the evaluation of expression A (message 6). As a result of this, a trigger mechanism will be initiated for context source E, using the messages 7, 8, and 9, of which the latter crosses the network boundary. As soon as context source E changes to the value true, an event is generated and sent from the context source E to context source proxy E '(across the network 1) all the way back to the evaluation of expression C (messages 10 and 11). Then, the next context source D is interrogated (messages 12 and 13) using context source proxy D'. Context source D returns the value true, and this is relayed back to evaluation of expression C (message 14 across the network boundary and message 15). This expression C evaluates to true, and this is relayed back to the evaluation of expression A (message 16).
In Fig. 6, a sequence diagram is shown for the case of the embodiment of Fig. 3, in which the evaluation of part of the expression is transferred to the mobile station service environment 21. Because the system has determined that the context sources D and E are co-located, it has determined that it is more efficient to push the condition evaluation part of the service logic of Rule C to the mobile station service environment 21 where context sources D and E are located. The requestor 11 is notified when rule A evaluates to true.
In Fig. 6, the first step after the requestor 11 has initiated the evaluation of expression A, is a request to evaluate expression C (message 1) using the expression proxy C. The expression proxy C forwards the request to the actual evaluation of expression C in the mobile station service environment, thus crossing the network boundary using message 2. As explained before, context source E will be interrogated first, which is shown in request 3 towards the context source proxy E'. The context source proxy E' will then be interrogated via the local network 31 (message 4), and context source E returns the value false, again via the local network 31 (message 5). This is relayed back from the context source proxy E' (message 6) to the expression C evaluation (message 6). The expression C will evaluate to false and this is relayed back to the expression proxy C (message 7), crossing again the network 1 boundary, which in its turn is returned to the evaluation of expression A (message 8). As a result of this, a trigger mechanism will be initiated for context source E, using the messages 9, 10, 11, and 12, of which message 10 uses network 1. As soon as context source E changes to the value true, an event is generated and sent from the context source E to context source proxy E'(across the local network 31) all the way back to the evaluation of expression C (messages 13 and 14). Then, the next context source D is interrogated (messages 15 and 16) using context source proxy D'. Context source D returns the value true, and this is relayed back to evaluation of expression C (message 17 across the local network 31 boundary and message 18). This expression C evaluates to true, and this is relayed back to the expression proxy C using message 19 which uses the network 1. Finally, the event that expression C evaluates to true is relayed back to the evaluation of expression A (message 20).
The sequence diagram of Fig. 6 shows that only four messages go over the network boundary (messages 2, 7, 10 and 19). This is an optimization of two messages. The optimization would be even better as long as the context sources switch values but one of the context sources remains false.
The advantage of the embodiments of the present invention is that (part of) the expression evaluation within the service logic block 5 may be dynamically moved to another execution environment (mobile station service environment 21 and/or context source environment 22) where the resource usage is cheaper or of a different kind (e.g. battery power vs. monetary value). By dynamically distributing the expression evaluation, changing circumstances may be taken into account, e.g. when a mobile station moves from a (costly) UMTS connection to a local network connection (e.g. using a Will access point). The distribution of the evaluation of expressions may furthermore be executed, once the (physical) location of a context source is known. Another advantage is that the number of messages going through more expensive (mobile) network is minimized.
A possible application in which an evaluation of an expression may be divided over multiple locations according to one of the embodiments above is a traffic information system. In Fig. 7 the possible architecture is shown for a traffic information service where subscribers (or better the mobile stations 41a, 41b, 41c of three subscribers Carol, Bob and John) provide location information via a context information collector 15 to the traffic information service application 17 in service node 10. The mobile stations 41 can communicate with the service node 10 via the GPRS/UMTS network 1. The traffic information service 17 provides the subscribers via their mobile stations 41 with proposals to continue their journey.
Each of the mobile stations 41 of the subscribers are arranged to comprise a number of context sources: a GPS module, a mobile device profile (MDP), and a Bluetooth connection (BC). By checking the mobile device profile and/or Bluetooth connectivity the service logic on the mobile station 41 (i.e. the mobile station service environment 21 of the embodiment of Fig. 3) can determine whether the owner is driving in his/her car. By checking the GPS device it can be determined what the speed is that he/she is moving at which location.
This information is only given to the traffic information system application 17 when the combination of these three context sources complies with the following expression: Rulel = (MDprofile = (in car) & BC (on) & (GPS Modulespeed < Speedmax - Offset).
This rule can be read as: the mobile device has a profile called "in car" and the Bluetooth connection is on and the speed according to the GPS module is less than the maximum Speed minus some Offset.
In case the rule condition is not satisfied, none of the personal information like location is sent to the traffic information system application 17. In this example, it is thus not necessary to send the information from each of the context sources to the service node 10, in order to allow evaluation of the expression Rulel. This will also guarantee privacy in other personal situations.
As indicated in Fig. 7, the context sources at the mobile station 41 are used for evaluating the expression Rulel locally. In the application 17, other context sources may be used, e.g. the context sources shown in Fig. 7 which communicate directly with the context information collector 15.
A further example of an intelligent application 17 is a heart failure surveillance application. In this case, the subscriber terminal 41 will need to comprise the following context sources: a GPS Module, a Heart Frequency Sensor, and an Oxygen Sensor. These can e.g. be provided as separate devices able to use the mobile terminal 41 to process and transmit the respective relevant data.
By checking the heart frequency and the oxygen level the condition of the person in question can be determined. When the service logic determines that a critical situation occurs, an alarm with the exact location of the mobile station 41 of the patient can be sent to the health care center. The healthcare center can send help to the exact location of patient. The location of the patient is only sent to the healthcare center in case of an emergency situation. The emergency situation can be determined by the following expression: Rule2 = (HFS < LowLimit || HFS > HighLimit) & (OS < LowLimit)
This rule can be read as: The heart frequency sensor has a value lower than Lowlimit or the heart frequency sensor has a value more than Highlimit, and the oxygen sensor has a value lower than Lowlimit.
In case the expression evaluates as false in the mobile station 41, the personal information like location is not sent to the healthcare center. This will also guarantee privacy in normal circumstances.
The above described embodiments and examples are not meant to limit the scope of protection of the present application, which is defined by the features as described in the appended claims.

Claims

1. Method for providing a service in a communication network, in which the service comprises evaluating a request comprising an expression (A), the expression being a function of a plurality of elements (B, C), each element relating to data originating from one or more context sources (B, D, E) available in the communication network, the method comprising distributing the evaluation of the expression over two or more execution environments (20, 21, 22), in which the locations of the two or more execution environments (20, 21, 22) are different.
2. Method according to claim 1, in which the two or more execution environments (20, 21, 22) comprise a server execution environment (20) and a client execution environment (21, 22).
3. Method according to claim 2, in which the client execution environment (21, 22) comprises a mobile station environment (21), a context source environment (22), or a combination of a mobile station environment (21) and a context source environment (22), in which the context source environment (22) is co-located with the respective context source (B, D, E).
4. Method according to any one of claims 1-3, in which distributing the evaluation is executed dependent on a physical location of a respective one of the one or more context sources (B, D, E).
5. Method according to claim 4, in which distributing the evaluation is executed once the physical location is established.
6. Method according to any one of claims 1-5, in which distributing the evaluation is executed dependent on the cost of evaluating the expression at the two or more execution environments (20, 21, 22).
7. Method according to any one of claims 1-6, in which distributing the evaluation is executed dynamically.
8. Method according to any one of claims 1-7, in which the two or more execution environments (20, 21, 22) are connected using a public network (1).
9. Method according to any one of claims 1-8, in which the two or more execution environments (20, 21, 22) are connected using a local network (31, 32).
10. Service node for a communication network (1) providing a service in the communication network, in which the service node (10) is arranged to receive and evaluate a request (A), the request comprising an expression being a function of a plurality of elements (B, C), each element relating to data originating from one or more context sources (B, D, E), the service node (10), in operation, being connectable to the one or more context sources (B, D, E), in which the service node (10) is further arranged to distribute the evaluation of the expression over two or more execution environments (20, 21, 22) in the communication network (1), in which the locations of the two or more execution environments (20, 21, 22) are different.
11. Service node according to claim 10, in which the two or more execution environments (20, 21, 22) comprise a server execution environment (20) and a client execution environment (21, 22).
12. Service node according to claim 11, in which the client execution environment (21, 22) comprises a mobile station environment (21), a context source environment (22), or a combination of a mobile station environment (21) and a context source environment (22), in which the context source environment (22) is co-located with the respective context source (B, D, E).
13. Service node according to any one of claims 10-12, in which the service node (10) is further arranged to execute distributing the evaluation dependent on a physical location of a respective one of the one or more context sources (B, D, E).
14. Service node according to claim 13, in which the service node (10) is further arranged to execute distributing the evaluation once the physical location is established.
15. Service node according to any one of claims 10-14, in which the service node (10) is further arranged to execute distributing the evaluation dependent on the cost of evaluating the expression at the two or more execution environments (20, 21, 22).
16. Service node according to any one of claims 10-15, in which the service node (10) is further arranged to execute distributing the evaluation dynamically.
17. Service node according to any one of claims 10-16, in which the two or more execution environments (20, 21, 22) are connected using a public network (1).
18. Service node according to any one of claims 10-17, in which the two or more execution environments (20, 21, 22) are connected using a local network (31, 32).
19. Service node according to any one of claims 10-18, in which the service node (10) comprises a rule interpreter (16) for evaluating the expression.
20. Service node according to any one of claims 10-19, in which the service node (10) comprises a context information collector (15) for interfacing with the one or more context sources (B, D, E).
21. Service node according to claim 20, in which the context information collector (15) comprises a context source proxy (B', D', E') for each of the one or more context sources (B, D, E), for storing data associated with each respective context source (B, D, E).
PCT/NL2006/050239 2006-09-29 2006-09-29 Distribution mechanism for context expression evaluation WO2008039058A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/NL2006/050239 WO2008039058A1 (en) 2006-09-29 2006-09-29 Distribution mechanism for context expression evaluation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/NL2006/050239 WO2008039058A1 (en) 2006-09-29 2006-09-29 Distribution mechanism for context expression evaluation

Publications (1)

Publication Number Publication Date
WO2008039058A1 true WO2008039058A1 (en) 2008-04-03

Family

ID=38157873

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/NL2006/050239 WO2008039058A1 (en) 2006-09-29 2006-09-29 Distribution mechanism for context expression evaluation

Country Status (1)

Country Link
WO (1) WO2008039058A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5720770A (en) * 1995-10-06 1998-02-24 Pacesetter, Inc. Cardiac stimulation system with enhanced communication and control capability
US20040039786A1 (en) * 2000-03-16 2004-02-26 Horvitz Eric J. Use of a bulk-email filter within a system for classifying messages for urgency or importance
EP1596300A1 (en) * 2004-05-10 2005-11-16 Agilent Technologies, Inc. Distributed application using mobile agents

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5720770A (en) * 1995-10-06 1998-02-24 Pacesetter, Inc. Cardiac stimulation system with enhanced communication and control capability
US20040039786A1 (en) * 2000-03-16 2004-02-26 Horvitz Eric J. Use of a bulk-email filter within a system for classifying messages for urgency or importance
EP1596300A1 (en) * 2004-05-10 2005-11-16 Agilent Technologies, Inc. Distributed application using mobile agents

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BHIDE M ET AL: "Adaptive push-pull: disseminating dynamic Web data", IEEE TRANSACTIONS ON COMPUTERS, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 51, no. 6, June 2002 (2002-06-01), pages 652 - 668, XP002433530, ISSN: 0018-9340 *

Similar Documents

Publication Publication Date Title
CN109495524B (en) Method, equipment and system for subscribing resources of Internet of things
Sarkar et al. Theoretical modelling of fog computing: a green computing paradigm to support IoT applications
US10726035B2 (en) Database access control method and apparatus
CN107637034B (en) System and method for virtual infrastructure management between carrier networks
CN102204216B (en) Distributed content caching solution for a mobile wireless network
Khriji et al. Design and implementation of a cloud-based event-driven architecture for real-time data processing in wireless sensor networks
Zhang et al. A novel contact prediction‐based routing scheme for DTNs
Sneps-Sneppe et al. About M2M standards and their possible extensions
CN106339267B (en) A kind of Object Query method and server-side
WO2009010902A1 (en) Method, sensor network, and sensor node for accessing sensed data
CN104980525A (en) Pervasive mobile computing frame based on state middleware
Zheng et al. Task scheduling using edge computing system in smart city
Mohamed et al. Adaptability of SOA in IoT services–an empirical survey
CN114024826A (en) Application multi-active system based on service grid technology and used in distributed ESB scene
Gupta et al. Reliability and survivability analysis of long-term evolution vehicular ad-hoc networks: an analytical approach
CN112752352B (en) Method and equipment for determining I-SMF (intermediate session management function)
CN113424608B (en) Entity for providing external services to a network
Ho et al. Mobile intercloud system and objects transfer mechanism
WO2008039058A1 (en) Distribution mechanism for context expression evaluation
Li et al. A novel scheme of cross‐network radio resources scheduling in SAGN based on unified resources mapping and genetic algorithm
Yitong et al. Web-of-things framework for WeChat
US8661074B2 (en) Adaptive choice for context source request
CN115150406B (en) Cross-data center distributed ESB configuration management system
CN109361776A (en) Method for message transmission and device in cloud computing system
Yamamoto et al. A context sharing message broker architecture to enhance interoperability in changeable environments

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06799529

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06799529

Country of ref document: EP

Kind code of ref document: A1