US20060247937A1 - Method and apparatus for a context-based service look up - Google Patents

Method and apparatus for a context-based service look up Download PDF

Info

Publication number
US20060247937A1
US20060247937A1 US11116717 US11671705A US2006247937A1 US 20060247937 A1 US20060247937 A1 US 20060247937A1 US 11116717 US11116717 US 11116717 US 11671705 A US11671705 A US 11671705A US 2006247937 A1 US2006247937 A1 US 2006247937A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
service
value
data
set
match
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11116717
Inventor
Carl Binding
Francois Dolivo
Reto Hermann
Christian Hoertnagl
Andreas Schade
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5015Service provider selection

Abstract

The present invention relates to a context-based service look up, wherein a service instance, having a scope (O), comprises at least one service instance data set (b) having a hierarchy of levels. A service consumer data set (a), having a hierarchy of levels is received from a service consumer (1), having a situation (S). Comparisons are made of each service consumer data set with each service instance data set, for the same level. Dependent on results of the comparisons, it is determined whether said situation (S) of said service consumer (1) matches said scope (O) of said service instance.

Description

    TECHNICAL FIELD
  • [0001]
    The present invention relates to a method for a context-based service look up. It further relates to an apparatus for a context-based service look up.
  • BACKGROUND OF THE INVENTION
  • [0002]
    More and more mobile computing devices become commonplace in every day life. Such mobile computing devices include cell phones, personal digital assistance (PDA) and notebooks all of which have achieved a high penetration rate in modern society. With such mobile computing devices it has become of interest to discover computing services, for example, in the geographical vicinity of the current location of the mobile computing device. In this respect context-based services may be, for example, location-based services or, for example, time-based services. Location-based services include printing services, weather forecast applications, travel guidance, assistance and emergency services for example.
  • [0003]
    Context-based service look up takes place in a system comprising a service consumer being represented by, for example, a mobile computing device, further comprising a service provider and a registry server. The service consumer looks up services in the registry server and consumes service functionality by invoking operations on a service instance. The service provider publishes service instances on the registry server for look up.
  • [0004]
    A service is an abstract entity encapsulating functional behaviour accessible via a well-defined service interface. A service has a service type, which defines a set of named operations, the generic semantics, and the abstract input and output messages.
  • [0005]
    A service instance is a concrete entity implementing a service. Associated with a service instance is a set of attributes describing additional aspects of the service. Binding information is a set of mandatory attributes and describes the service instances, for example an access point in terms of network address, protocol and messages format. Additional attributes may be service qualifiers, which further differentiate service instances.
  • [0006]
    The service consumer looking up a service is situated in some context. This context may be expressed by a set of attributes, which may be referred to as context qualifiers. The set of all context qualifiers applicable to the service consumer is its situation. The set of all context qualifiers applicable to a particular service instance is the service instance's scope.
  • [0007]
    Context-based service look up is the process of matching a service consumer's situation with the published service instances' scopes. A match occurs, if the service consumer situation is within a service instance's scope.
  • [0008]
    Under “http://www.cs.usy.ac.cy/courses/EPL603/gini-3.ppt” a presentation is made available to the public concerning the matching of object-oriented data structures, in particular Java objects. It discloses an example printer attribute location (floor, “3”, “1234”, building “A1”).
  • [0009]
    It is a challenge to provide a method for a context-based service look up, which enables an efficient context-based service look up. It is further a challenge to provide a device for a context-based service look up which enables an efficient context-based service look up.
  • SUMMARY OF THE INVENTION
  • [0010]
    According to one aspect of the invention there is a method for a context-based service lookup, wherein a service instance, having a scope (Ω), comprises at least one service instance data set (b) having a hierarchical state structure, with each state of each hierarchy level being contained in the respective higher-level state of the hierarchy, wherein the method comprises a reception step for receiving from a service consumer (1), having a situation (Σ), at least one service consumer data set (a) having said hierarchical state structure, and wherein said service instance data set (b) contains an amount (m) of state levels independent from an amount (n) of levels contained in said service consumer data set (a), a comparison step for comparing each service consumer data set (a) with each service instance data set (b) by performing comparisons of the respective state values (v, w) of states of the same level of hierarchy, an aggregation step for aggregating the results of the comparisons, a determining step for determining, depending on the aggregate results, whether said situation (Σ) of said service consumer (1) matches said scope (Ω) of said service instance. The hierarchical state structure of the service instance data set and of the service consumer data set makes possible in an easy way an intuitive characterisation of the scope and of the situation, respectively. In addition, it enables a very effective matching of the service consumer's situation with the service instance's scope.
  • [0011]
    The method is simple to implement without consuming a lot of computational power and requiring complex computational operations, as the main computational task conducted is the comparing operation between the respective state values of states of the same hierarchy of the respective service consumer data set and the respective service instance data set.
  • [0012]
    In a preferred embodiment of the method, the comparison step comprises comparing the respective state values of states of the same hierarchy level starting with the highest level and then going down the hierarchy until a lowest-level hierarchy state in the service consumer data set or the service instance data set has been compared. This reduces the computational effort, if the amount of state hierarchies contained in the service consumer data set differs from that of the service instance data set.
  • [0013]
    In a further preferred embodiment the method comprises an assignment step of assigning a match value to a compare variable, if the state values of the respective states of the same level in the hierarchy of the service consumer data set and the service instant data set match each other, if both have a wildcard value, or, if only the state value of the respective state of the service instance data set has the wildcard value. The wildcard value is a value that stands for all possible state values of the respective state. This has the advantage of a shortened context representation and a simple conduction of the comparison.
  • [0014]
    In a further preferred embodiment of the method an accumulation step comprises accumulating the results of the comparisons by first initializing an accumulation variable with the match value, second keeping the match value for the accumulation variable only as long as the compare-variable has the match value while going down the state hierarchy. This enables a very efficient accumulation.
  • [0015]
    In a further preferred embodiment of the method the aggregation step further comprises first initialising an aggregation variable with the match value, and second keeping the match value of the aggregation variable only as long as the accumulation variable has the matched value after the full comparison of the respective service consumer data set with the respective service instance data set. This enables a very efficient aggregation of results across multiple datasets of the full comparisons.
  • [0016]
    In a further preferred embodiment of the method, the aggregation step further comprises assigning a partial match value to the compare variable, if only the state value of respective states of the service consumer data set has the wildcard value. This enables an even more refined matching of the scope and the situation.
  • [0017]
    According to a further preferred embodiment of the method, the aggregation step further comprises assigning the partial match value to the accumulation variable, if, while going down the state hierarchy, the compare variable has the match value of the partial match value and the accumulation variable has the match value or the partial match value. This also very efficiently allows a more refined matching.
  • [0018]
    In a further preferred embodiment of the method, the aggregation step further comprises assigning the partial match value to the aggregation variable, if, while aggregating the results of the full comparisons of each respective service consumer data set with each respective service instance data set, the aggregation variable has the match value, the accumulation value has the partial match value or a fail value or the aggregation variable has the partial match value or the aggregation variable has the fail value and the accumulation variable has the match value or the partial match value. Otherwise the aggregation variable is assigned the fail value. This also enables a very efficient refined matching.
  • [0019]
    In a further preferred embodiment of the method the states are locations. This enables a location based service look up with location as the context in a very efficient way. In a further preferred embodiment of the method the states are time intervals.
  • [0020]
    According to a second aspect of the invention, an apparatus for a context-based service look up is provided, which corresponds to the method for the context-based service look up and its preferred embodiments. The respective advantages also correspond.
  • [0021]
    According to a third aspect of the present invention, a computer program element comprising a computer program code, is provided. The computer program element, when loaded in a processor of a data processing system, configures the processor to perform the method for the context-based service look up.
  • [0022]
    According to a fourth aspect of the present invention, a storage medium encoded with machine-readable program code for a context-based service look up is provided, wherein said program code includes instructions for causing a server to implement the method for the context-based service look up.
  • [0023]
    According to a fifth aspect of the present invention, there is provided a method of equipping a client system with a context-based service look up, wherein the client system is provided with a capability to compare each service consumer data set (a) of a service consumer with each service instance data set (b) of a service instance by comparing respective state values (v, w) of states of the same level of hierarchy of said service consumer data set (a) or said service instance data set (b), starting with the highest level in the hierarchy and then going down the hierarchy, aggregate the results of the comparisons of each respective service consumer data set (a) with each respective service instance data set (b) and determine, depending on the aggregate results, whether a situation (Σ) of said service consumer (1) matches a scope (Ω) of said service instance.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0024]
    The invention and its embodiments will be more fully appreciated by reference to the following detailed description of presently preferred but nonetheless illustrative embodiments in accordance with the present invention when taken in conjunction with the accompanying drawings.
  • [0025]
    FIG. 1, a system for context-based service look up,
  • [0026]
    FIG. 2, a flowchart of a program that is stored on a registry server and is run on the registry server,
  • [0027]
    FIG. 3, an input/output table for a compare function,
  • [0028]
    FIG. 4, an input/output table for an accumulation function and
  • [0029]
    FIG. 5, an input/output table for an aggregation function.
  • DETAILED DESCRIPTION OF THE DRAWINGS
  • [0030]
    FIG. 1 shows a system for conducting a context-based look up. The system comprises a service consumer which may, for example, be a cell phone, a PDA or a notebook. The system further comprises a service provider, which offers various services referred to as service instances, such as a printing service, weather forecast applications, travel guidance or assistance or emergency services. The service provider 3 is designed for publishing its service instances on the registry server 5 for look up. The context of the service look up is location information in this case for illustrative purposes.
  • [0031]
    The service consumer may have the need to print out a given document, stored on the service consumer 1, on a printer. The person carrying the service consumer 1 may be interested in printing the document on a nearby printer. The matching of the right printer takes place in the registry server 5 by running the program according to FIG. 2.
  • [0032]
    The service consumer 1 may be designed for communicating with the registry server 5, for example, via a cell phone connection or a wireless LAN.
  • [0033]
    Service instances are published on the registry server 5 by the service provider 3. Service instances have a scope Ω. The scope Ω is characterized by at least one service instance data set b having a hierarchical state structure, with each state of each hierarchy-level being fully contained in the respective higher-level state of hierarchy. The service instance is therefore characterized by a set of service instance data sets b1 to by (see FIG. 2). Each of these service instance data sets bk comprises the hierarchical states with given respective state values w which have been marked with indices k1 to km, whereas k is a counter for the respective service instance data set b and m is the amount of state hierarchies of the respective service instance data set b. The exact value of the amount m of state hierarchies of the service instance data set b may vary from each individual service instance data set b to another. The state structure is hierarchical, from which follows that each state of a lower level in the hierarchy is fully contained in the respective state of the higher level in the hierarchy.
  • [0034]
    The service instance data set may, by way of example, comprise hierarchical symbolic realms classifying, for example, locations on a company campus. Each service instance data set may in that way comprise the states “campus”, “building”, “floor”, and “room”. A specific service instance data set b may, for example, have the state values w of /ZRL/C/3/27 denoting the Zurich laboratory campus of IBM, building C in the campus, third floor of building C, and room No. 27. The state values of another service instance data set b may, for example, be /ZRL/*/*/12 denoting the set of rooms with the number “12” on all floors in all buildings of the Zurich laboratory campus of IBM. Another example for a possible service instance data set b would be in this case /ZRL/C/*/* denoting the entire C building on the Zurich laboratory campus of IBM. Another service instance data set b may, by way of example, have the state values /ZRL/C denoting the entire C building on the IBM Zurich laboratory campus. In this case, the amount m of state hierarchies would only be 2 instead of 4 regarding the previous examples. The scope Ω of the respective service instance may, for example, be characterized by six service instance data sets b having state values being representative for adjacent rooms on the same floor of the same building on the same campus.
  • [0035]
    The service consumer 1 has its situation, which is characterized by at least one service consumer data set a having the hierarchical state structure. The service instance data set b contains an amount n of state hierarchies independent from the amount m of state hierarchies contained in said service consumer data set a. Therefore, the service consumer 1 is characterized by its situation Σ (FIG. 2), which comprises the service consumer data sets a1 to ax. The respective service consumer data sets ak have allocated state values v, where k denotes the respective service consumer data set and 1 to n the respective state values in the hierarchy, where n is the amount of state hierarchies. The examples given for the service instance data sets b may in part also be valid for the respective service consumer data sets a. The situation Σ of the service consumer may, for example, be characterized by four different room numbers on a given floor of a given building on a given campus and may result from a cell phone receiver being responsible for communicating with all cell phones in these respective rooms or also a wireless LAN station coordinating all wireless LAN connections in these rooms.
  • [0036]
    The scope Ω with its service instance data sets and also the situation with its service consumer data sets a may, by way of the symbolical hierarchical state structure, be in a simple way allocated with the respective state values w, v as in the case by way of example described above. The respective campus, building, floor, and room may in a simple way be assigned with the respective state values v, w. For that purpose, the service consumer 1 may have a respective man/machine interface for inputting these things. However, it may also comprise, for example, a GPS positioning system for determining the exact geographic location and have then means for translating these geographic coordinates in the respective state values v of the respective service consumer data sets a.
  • [0037]
    A computer program for matching the service instance with the service consumer in respect of the context based service lookup, is described by the symbolic program code of FIG. 2 and in the following.
  • [0038]
    The computer program has as input the respective situation Σ of the service consumer 1 and the scope Ω of the respective service instance. In addition to that, it may have as input a partial match enabled flag PME, which when set to TRUE accelerates the computation of the matching result if also a partial match PARTIAL is one of the desired outputs of the program.
  • [0039]
    The output of the program is an aggregation variable AGG_V, which may have a match value MATCH or the partial match value PARTIAL or a fail value FAIL. In case the aggregation variable AGG_V has as output of the program the match value MATCH, then the situation of the service consumer matches the scope of the service instance. If the output of the program is the fail value FAIL of the aggregation variable AGG_V, then the situation Σ of the service consumer 1 does not match the scope Ω of the service instance. If the output of the program is the partial value PARTIAL of the aggregation variable AGG_V, then the situation Σ of the service consumer 1 matches partially the scope Ω of the service instance. It should be noted that the input parameter PME does not constrain the output of the program to the values MATCH or FAIL. The matching result PARTIAL may be interpreted optimistically as a possible match, or pessimistically as a possible fail.
  • [0040]
    The program is started then in a line 10, where the aggregation variable AGG_V is initialized with the match value MATCH. In line 12, a first “FOR” loop is started with a counter i being the first time of going through the FOR loop initialized to a value 1 and with the FOR condition being true up to the counter having a value x being the amount of service consumer data sets a characterizing the situation Σ of the service consumer 1. After that, a second FOR loop is included in the first FOR loop comprising a counter j, being initialized with 1 on the first time the four loop is started, that is for every consecutive run through the first FOR loop j is again initialized with 1. The second FOR loop is then run for y times, y being assigned the value of the amount of service instance data sets b characterizing the scope Ω. Within this second FOR loop in line 14, an accumulation variable ACC_V is first initialized with the match value MATCH. Then in line 15, a third FOR loop is started with a counter k being assigned the value 1 and is run until after the counter k has reached a value being characterized by a minimum of the amount n of levels in the state hierarchies of the respective service consumer data set a and the amount m of levels in the state hierarchies of the respective service instance data set b.
  • [0041]
    Within this third FOR loop first in line 16, a compare variable COMP_V is allocated an output of a compare function COMP_FCT with the inputs of the respective state values Vik, Wjk. The input/output characteristic of the compare function COMP_FCT is shown in the table of FIG. 3. The symbolic star symbolizes a wildcard * meaning, that all state values within the respective state are valid values. A partial match value PARTIAL is assigned to the compare variable COMP_V, if the respective state value wjk of the respective service instance data set bj has a specific value. This is the case as, for example, the wildcard value * may stand for all possible rooms whereas the state value wjk may stand, for example, for room No. 25. In this case, room No. 25 is, of course, one of the rooms covered by the wildcard value * but it may not be the exact location of the service consumer.
  • [0042]
    In line 17, then the accumulation variable ACC_V is assigned the output of the accumulation function, which has as inputs the compare variable COMP_V and the accumulation variable ACC_V. FIG. 4 shows the resulting outputs of the accumulation function ACC_V depending on the values of the compare variable COMP_V and the accumulation variable ACC_V.
  • [0043]
    After the third FOR loop, it is checked in line 19 whether the accumulation variable ACC_V has the match value MATCH and the amount n of state hierarchies of the respective service consumer data set a is smaller than the amount m of state hierarchies of the respective service instance data set b. If this is the case, then in line 20 the accumulation variable ACC_V is assigned the partial match value PARTIAL as the respective service instance data set b has a lower resolution (less levels) in its state hierarchy than the respective service consumer data set a and therefore, for example, it is just possible to determine that both match, for example, the Zurich laboratory campus of IBM and the building C. However, the respective service instance may only be available on a specific floor. However, the respective service consumer data set a does not specify the floor.
  • [0044]
    Then, in line 21, it is checked whether the accumulation variable ACC_V has the match value MATCH or the partial match enable flag PME has the true value TRUE and the accumulation variable ACC_V has the partial match value PARTIAL. In this case, a break is conducted meaning that the second FOR loop is terminated.
  • [0045]
    After terminating the second FOR loop, the aggregation variable AGG_V is assigned the output of an aggregation function AGG_FCT in line 25. The aggregation function AGG_FCT has as input the accumulation variable ACC_V and the aggregation variable AGG_V. Its output table dependent on the values of its inputs, the accumulation variable ACC_V and the aggregation variable AGG_V are shown in the table of FIG. 5.
  • [0046]
    When the first FOR loop is then terminated, the then up-to-date value of the aggregation value variable AGG_V is output by the program and is then the result of the whole matching procedure.
  • [0047]
    The program has the advantage that it is fairly simple and enables a well-structured comparison. In contrast to this, when a purely geographic approach would be taken in which both the current location of the service consumer 1 and the service instance would be given in a global coordinate system such as WGS84, shapes would need to be defined, which may be approximated by a polygon defined by a set of points given as coordinates in the global coordinate system. This geographic approach would probably require a location sensing mechanism that reports its reading with respect to the selected global coordinate system. This is natural for a system such as GPS but requires additional mapping steps if location sensing is based on cell IDs or base station IDs, as available in cellular telephony or local area network systems. The mapping steps would then map the cell or base station ID to the geographic location. Likewise, all service instances would likely be attributed with their service area in the global coordinate system. This probably requires either the capturing of geographic areas in the global coordinate system or the transformation of area maps or floor plans from some local coordinate system to the global geographic coordinate system. The data capture and processing and the data volume would pose severe data management problems. Furthermore, determining inclusion of an arbitrary polygon within another arbitrary polygon usually requires computational geometry, which is costly.
  • [0048]
    The present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computer system—or other apparatus adapted for carrying out the method described herein—is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system—is able to carry out these methods.
  • [0049]
    Computer program element or computer program in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or notation; b) reproduction in a different material form.

Claims (21)

  1. 1. Method for a context-based service lookup, wherein a service instance, having a scope (Ω), comprises at least one service instance data set (b) having a hierarchical state structure, with each state of each hierarchy level being contained in the respective higher-level state of the hierarchy, wherein the method comprises:
    a reception step for receiving from a service consumer (1), having a situation (Σ), at least one service consumer data set (a) having said hierarchical state structure, and wherein said service instance data set (b) contains an amount (m) of state levels independent from an amount (n) of levels contained in said service consumer data set (a),
    a comparison step for comparing each service consumer data set (a) with each service instance data set (b) by performing comparisons of the respective state values (v, w) of states of the same level of hierarchy,
    an aggregation step for aggregating the results of the comparisons
    a determining step for determining, depending on the aggregate results, whether said situation (Σ) of said service consumer (1) matches said scope (Ω) of said service instance.
  2. 2. Method according to claim 1, wherein the comparison step comprises comparing the respective state values (v, w) of states of the same level of hierarchy starting with the highest level in the hierarchy and then going down the hierarchy until the lowest level state in the hierarchy of either of said service consumer data set (a) or said service instance data set (b) has been compared.
  3. 3. Method according to claim 1, further comprising an assignment step of assigning a match value (MATCH) to a compare variable (COMP_V), if said state values (v, w) of said respective states of the same level in the hierarchy of said service consumer data set (a) and said service instance data set (b) match each other or if both have a wild card value (*) or if only said state value (w) of said respective state of said service instance data set (b) has said wild card value (*).
  4. 4. Method according to claim 3, further comprising an accumulation step for accumulating said results of the comparisons by first initializing an accumulation variable (ACC_V) with said match value (MATCH), second keeping said match value (MATCH) for the accumulation variable (ACC_V) only as long as while going down the state hierarchy, said compare variable (COMP_V) has said match value (MATCH).
  5. 5. Method according to claim 4, wherein the aggregation step further comprises first initializing an aggregation variable (AGG_V) with said match value (MATCH) and second, keeping said match value (MATCH) of said aggregation variable (AGG_V) only as long as said accumulation variable (ACC_V) has said match value (MATCH) after said comparison of the respective service consumer data set (a) with the respective service instance data set (b).
  6. 6. Method according to one of the claim 3, wherein the aggregation step further comprises assigning a partial match value (PARTIAL) to said compare variable (COMP_V), if only said state value (v) of said respective state of said service consumer data set (a) has said wildcard value (*).
  7. 7. Method according to claim 6, wherein the aggregation step further comprises assigning said partial match value (PARTIAL) to said accumulation variable (ACC_V), if, while going down said state hierarchy the compare variable (COMP_V) has said match value (MATCH) or said partial match value (PARTIAL) and said accumulation variable (ACC_V) has said match value (MATCH) or said partial match value (PARTIAL).
  8. 8. Method according to claim 7, wherein the aggregation step further comprises assigning said partial match value (PARTIAL) to said aggregation variable (AGG_V), if, while aggregating said results of said comparison of each respective service consumer data set (a) with each respective service instance data set (b):
    said aggregation variable (AGG_V) has said match value (MATCH) and said accumulation value (ACC_V) has said partial match value (PARTIAL) or a fail value (FAIL) or
    said aggregation variable (AGG_V) has said partial match value (PARTIAL) or
    said aggregation variable (AGG_V) has said fail value (FAIL) and said accumulation variable (ACC_V) has said match value (MATCH) or said partial-match value (PARTIAL), and otherwise assigning to said aggregation variable (AGG_V) said fail value (FAIL).
  9. 9. Method according to claim 1, wherein said states are locations or time intervals.
  10. 10. Apparatus for a context-based service lookup, the apparatus comprising:
    a service instance, having a scope (Ω), comprising at least one service instance data set (b) having a hierarchical state structure, with each state of each hierarchy level being contained in the respective higher level state of hierarchy, and
    wherein the apparatus is designed to receive from a service consumer (1), having a situation (Σ), at least one service consumer data set (a) having said hierarchical state structure, and
    said service instance data set (b) contains an amount (m) of hierarchy levels which are independent from an amount (n) of hierarchy levels contained in said service consumer data set (a), and
    wherein the apparatus is further designed to perform comparisons of each service consumer data set (a) with each service instance data set (b) by comparing the respective state values (v, w) of states of the same hierarchy level, and aggregate the results of the comparisons, and determine, depending on the aggregate results, whether said situation (Σ) of said service consumer (1) matches said scope (Ω) of said service instance.
  11. 11. Apparatus according to claim 10, wherein said comparing of the respective state values (v, w) of states of the same hierarchy level, comprises starting with the highest level in hierarchy and then going down the hierarchy until the lowest level in hierarchy state of either of said service consumer data set (a) or said service instance data set (b) has been compared.
  12. 12. Apparatus according to claim 10, designed to assign a match value (MATCH) to a compare variable (COMP_V), if said state values (v, w) of said respective states of the same hierarchy of said service consumer data set (a) and said service instance data set (b) match each other or if both have a wild card value (*) or if only said state value (w) of said respective state of said service instance data set (b) has said wild card value (*).
  13. 13. Apparatus according to claim 12, designed to accumulate said comparison results by first initializing an accumulation variable (ACC_V) with said match value (MATCH), second keeping said match value (MATCH) for the accumulation variable (ACC_V) only as long as while going down the state hierarchy, said compare variable (COMP_V) has said match value (MATCH).
  14. 14. Apparatus according to claim 13, designed to aggregate the results of the comparison of each respective service consumer data set (a) with each respective service instance data set (b) by first initializing an aggregation variable (AGG_V) with said match value (MATCH), second keeping said match value (MATCH) of said aggregation variable (AGG_V) only as long as said accumulation variable (ACC_V) has said match value (MATCH) after said comparison of the respective service consumer data set (a) with the respective service instance data set (b).
  15. 15. Apparatus according to claim 12, designed to assign a partial match value (PARTIAL) to said compare variable (COMP_V), if only said state value (v) of said respective state of said service consumer data set (a) has said wildcard value (*).
  16. 16. Apparatus according to claim 15, designed to assign said partial match value (PARTIAL) to said accumulation variable (ACC_V), if, while going down said state hierarchy, the compare variable (COMP_V) has said match value (MATCH) or said partial match value (PARTIAL) and said accumulation variable (ACC_V) has said match value (MATCH) or said partial match value (PARTIAL).
  17. 17. Apparatus according to claim 16, designed to assign said partial match value (PARTIAL) to said aggregation variable (AGG_V), if, while aggregating said results of said full comparison of each respective service consumer data set (a) with each respective service instance data set (b):
    said aggregation variable (AGG_V) has said match value (MATCH) and said accumulation value (ACC_V) has said partial match value (PARTIAL) or a fail value (FAIL) or
    said aggregation variable (AGG_V) has said partial match value (PARTIAL) or
    said aggregation variable (AGG_V) has said fail value (FAIL) and said accumulation variable (ACC_V) has said match value (MATCH) or said partial match value (PARTIAL), and otherwise assigning to said aggregation variable (AGG_V) said fail value (FAIL).
  18. 18. Apparatus according to claim 10, wherein said states are locations or time intervals.
  19. 19. A computer program element comprising a computer program code means which, when loaded in a processor of a data processing system, configures the processor to perform a method comprising the steps recited in claims 1-9.
  20. 20. A storage medium encoded with machine-readable program code for a context-based service look up, said program code including instructions for causing a server to implement a method, comprising the steps recited in claims 1-9.
  21. 21. A method of equipping a client system with a context-based service lookup comprising the steps of:
    providing the system with a capability to
    compare each service consumer data set (a) of a service consumer with each service instance data set (b) of a service instance by comparing respective state values (v, w) of states of the same level of hierarchy of said service consumer data set (a) or said service instance data set (b), starting with the highest level in the hierarchy and then going down the hierarchy,
    aggregate the results of the comparisons of each respective service consumer data set (a) with each respective service instance data set (b) and
    determine, depending on the aggregate results, whether a situation (Σ) of said service consumer (1) matches a scope (Ω) of said service instance.
US11116717 2005-04-28 2005-04-28 Method and apparatus for a context-based service look up Abandoned US20060247937A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11116717 US20060247937A1 (en) 2005-04-28 2005-04-28 Method and apparatus for a context-based service look up

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11116717 US20060247937A1 (en) 2005-04-28 2005-04-28 Method and apparatus for a context-based service look up
US12134816 US8738779B2 (en) 2005-04-28 2008-06-06 Method and apparatus for a context-based service look up

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12134816 Continuation US8738779B2 (en) 2005-04-28 2008-06-06 Method and apparatus for a context-based service look up

Publications (1)

Publication Number Publication Date
US20060247937A1 true true US20060247937A1 (en) 2006-11-02

Family

ID=37235576

Family Applications (2)

Application Number Title Priority Date Filing Date
US11116717 Abandoned US20060247937A1 (en) 2005-04-28 2005-04-28 Method and apparatus for a context-based service look up
US12134816 Active 2027-09-09 US8738779B2 (en) 2005-04-28 2008-06-06 Method and apparatus for a context-based service look up

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12134816 Active 2027-09-09 US8738779B2 (en) 2005-04-28 2008-06-06 Method and apparatus for a context-based service look up

Country Status (1)

Country Link
US (2) US20060247937A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070149213A1 (en) * 2005-11-30 2007-06-28 Gaurav Lamba Method and apparatus for supporting location services with roaming
US8904021B2 (en) 2013-01-07 2014-12-02 Free Stream Media Corp. Communication dongle physically coupled with a media device to automatically discover and launch an application on the media device and to enable switching of a primary output display from a first display of a mobile device to a second display of the media device through an operating system of the mobile device sharing a local area network with the communication dongle
US9026668B2 (en) 2012-05-26 2015-05-05 Free Stream Media Corp. Real-time and retargeted advertising on multiple screens of a user watching television
US9386356B2 (en) 2008-11-26 2016-07-05 Free Stream Media Corp. Targeting with television audience data across multiple screens
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9560425B2 (en) 2008-11-26 2017-01-31 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US9986279B2 (en) 2016-02-01 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194183A1 (en) * 2000-02-15 2002-12-19 Nortel Networks Limited Methods and systems for implementing a real-time, distributed, hierarchical database using a proxiable protocol
US6717946B1 (en) * 2002-10-31 2004-04-06 Cisco Technology Inc. Methods and apparatus for mapping ranges of values into unique values of particular use for range matching operations using an associative memory
US7039018B2 (en) * 2002-07-17 2006-05-02 Intel Corporation Technique to improve network routing using best-match and exact-match techniques

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69837194D1 (en) * 1997-01-06 2007-04-12 Bellsouth Intellect Pty Corp Method and system for network usage tracking
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
US6453347B1 (en) * 1999-10-29 2002-09-17 Mcafee.Com, Inc. Active marketing based on client computer configurations
GB0006711D0 (en) * 2000-01-13 2000-05-10 Applied Psychology Res Ltd Method and apparatus for generating profile data
US6804659B1 (en) * 2000-01-14 2004-10-12 Ricoh Company Ltd. Content based web advertising
US7747782B2 (en) * 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
US20020073165A1 (en) * 2000-10-23 2002-06-13 Pingpong Technology, Inc. Real-time context-sensitive customization of user-requested content
US7613634B2 (en) * 2000-12-21 2009-11-03 Sony Corporation Method and system for performing electronic retailing
EP1415176A4 (en) * 2001-03-19 2007-08-22 Accenture Llp Mobile valet
JP3879498B2 (en) * 2001-12-05 2007-02-14 日本電気株式会社 Mobile mobile terminal and pdp context management method always-on state for use therein
US9374451B2 (en) * 2002-02-04 2016-06-21 Nokia Technologies Oy System and method for multimodal short-cuts to digital services
US7599852B2 (en) * 2002-04-05 2009-10-06 Sponster Llc Method and apparatus for adding advertising tag lines to electronic messages
WO2003107146A3 (en) * 2002-06-18 2004-07-01 Wireless Ink Llc Method, apparatus and system for management of information content for enhanced accessibility over wireless communication networks
US7593868B2 (en) * 2003-01-29 2009-09-22 Innovation Interactive Llc Systems and methods for providing contextual advertising information via a communication network
GB0303176D0 (en) * 2003-02-12 2003-03-19 Video Networks Ltd A system for capture and selective playback of broadcast programmes
US7885963B2 (en) * 2003-03-24 2011-02-08 Microsoft Corporation Free text and attribute searching of electronic program guide (EPG) data
US7493622B2 (en) * 2003-08-12 2009-02-17 Hewlett-Packard Development Company, L.P. Use of thread-local storage to propagate application context in Java 2 enterprise edition (J2EE) applications
US7774333B2 (en) * 2003-08-21 2010-08-10 Idia Inc. System and method for associating queries and documents with contextual advertisements
US20050262428A1 (en) * 2004-05-21 2005-11-24 Little Chad M System and method for contextual correlation of web document content
US7369856B2 (en) * 2004-11-24 2008-05-06 Intel Corporation Method and system to support fast hand-over of mobile subscriber stations in broadband wireless networks
US7870605B2 (en) * 2005-03-31 2011-01-11 Google Inc. Automated screening of content based on intellectual property rights
US8489111B2 (en) * 2007-08-14 2013-07-16 Mpanion, Inc. Real-time location and presence using a push-location client and server

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194183A1 (en) * 2000-02-15 2002-12-19 Nortel Networks Limited Methods and systems for implementing a real-time, distributed, hierarchical database using a proxiable protocol
US7039018B2 (en) * 2002-07-17 2006-05-02 Intel Corporation Technique to improve network routing using best-match and exact-match techniques
US6717946B1 (en) * 2002-10-31 2004-04-06 Cisco Technology Inc. Methods and apparatus for mapping ranges of values into unique values of particular use for range matching operations using an associative memory

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070149213A1 (en) * 2005-11-30 2007-06-28 Gaurav Lamba Method and apparatus for supporting location services with roaming
US8185128B2 (en) * 2005-11-30 2012-05-22 Qualcomm Incorporated Method and apparatus for supporting location services with roaming
US8504064B2 (en) 2005-11-30 2013-08-06 Qualcomm Incorporated Method and apparatus for supporting location services with roaming
US8548500B2 (en) 2005-11-30 2013-10-01 Qualcomm Incorporated Method and apparatus for supporting location services with roaming
US9589456B2 (en) 2008-11-26 2017-03-07 Free Stream Media Corp. Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US9167419B2 (en) 2008-11-26 2015-10-20 Free Stream Media Corp. Discovery and launch system and method
US9258383B2 (en) 2008-11-26 2016-02-09 Free Stream Media Corp. Monetization of television audience data across muliple screens of a user watching television
US9386356B2 (en) 2008-11-26 2016-07-05 Free Stream Media Corp. Targeting with television audience data across multiple screens
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9560425B2 (en) 2008-11-26 2017-01-31 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US9576473B2 (en) 2008-11-26 2017-02-21 Free Stream Media Corp. Annotation of metadata through capture infrastructure
US9967295B2 (en) 2008-11-26 2018-05-08 David Harrison Automated discovery and launch of an application on a network enabled device
US9591381B2 (en) 2008-11-26 2017-03-07 Free Stream Media Corp. Automated discovery and launch of an application on a network enabled device
US9686596B2 (en) 2008-11-26 2017-06-20 Free Stream Media Corp. Advertisement targeting through embedded scripts in supply-side and demand-side platforms
US9703947B2 (en) 2008-11-26 2017-07-11 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9706265B2 (en) 2008-11-26 2017-07-11 Free Stream Media Corp. Automatic communications between networked devices such as televisions and mobile devices
US9716736B2 (en) 2008-11-26 2017-07-25 Free Stream Media Corp. System and method of discovery and launch associated with a networked media device
US9838758B2 (en) 2008-11-26 2017-12-05 David Harrison Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9848250B2 (en) 2008-11-26 2017-12-19 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9854330B2 (en) 2008-11-26 2017-12-26 David Harrison Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9866925B2 (en) 2008-11-26 2018-01-09 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9026668B2 (en) 2012-05-26 2015-05-05 Free Stream Media Corp. Real-time and retargeted advertising on multiple screens of a user watching television
US8904021B2 (en) 2013-01-07 2014-12-02 Free Stream Media Corp. Communication dongle physically coupled with a media device to automatically discover and launch an application on the media device and to enable switching of a primary output display from a first display of a mobile device to a second display of the media device through an operating system of the mobile device sharing a local area network with the communication dongle
US9986279B2 (en) 2016-02-01 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services

Also Published As

Publication number Publication date Type
US8738779B2 (en) 2014-05-27 grant
US20080243535A1 (en) 2008-10-02 application

Similar Documents

Publication Publication Date Title
US7922086B2 (en) Obtaining user assistance
US6580916B1 (en) Service framework for evaluating remote services based upon transport characteristics
US6993570B1 (en) System and method for pushing personalized content to small footprint devices
Maass Location-aware mobile applications based on directory services
US20090085806A1 (en) Applications for geographically coded access points
US6895444B1 (en) Service framework with local proxy for representing remote services
US20030195925A1 (en) Mobile information unit, service downloading server and service downloading system
US20030120634A1 (en) Data processing system, data processing method, information processing device, and computer program
US20100309508A1 (en) Network print-related service
US20020095486A1 (en) Systems and methods for locating mobile computer users in a wireless network
US20120315918A1 (en) Prediction of indoor level and location using a three stage process
US20060190428A1 (en) User assistance
US20070078997A1 (en) Efficient endpoint matching using a header-to-bit conversion table
US7076255B2 (en) Context-aware and location-aware cellular phones and methods
US20040203854A1 (en) Formatting location information based on output device specifications
US20090216438A1 (en) Facility map framework
US7363357B2 (en) Context-aware systems and methods, location-aware systems and methods, context-aware vehicles and methods of operating the same, and location-aware vehicles and methods of operating the same
US20100287178A1 (en) Refining location estimates and reverse geocoding based on a user profile
US20030182394A1 (en) Method and system for providing context awareness
US7096029B1 (en) Context aware computing devices having a common interface and related methods
US7483944B2 (en) Context aware computing devices and methods
US7743074B1 (en) Context aware systems and methods utilizing hierarchical tree structures
US6327535B1 (en) Location beaconing methods and systems
US7421486B1 (en) Context translation methods and systems
US6750883B1 (en) Identity-based context aware computing systems and methods

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BINDING, CARL;DOLIVO, FRANCOIS BERNARD;HERMANN, RETO JOSEF;AND OTHERS;REEL/FRAME:016307/0176;SIGNING DATES FROM 20040504 TO 20050504