WO2015071799A1 - Notification à un utilisateur abonné à plusieurs applications logicielles - Google Patents

Notification à un utilisateur abonné à plusieurs applications logicielles Download PDF

Info

Publication number
WO2015071799A1
WO2015071799A1 PCT/IB2014/065754 IB2014065754W WO2015071799A1 WO 2015071799 A1 WO2015071799 A1 WO 2015071799A1 IB 2014065754 W IB2014065754 W IB 2014065754W WO 2015071799 A1 WO2015071799 A1 WO 2015071799A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
groups
software applications
user
database
Prior art date
Application number
PCT/IB2014/065754
Other languages
English (en)
Inventor
Snehasis BANERJEE
Debnath MUKHERJEE
Original Assignee
Tata Consultancy Services Limited
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 Tata Consultancy Services Limited filed Critical Tata Consultancy Services Limited
Publication of WO2015071799A1 publication Critical patent/WO2015071799A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0204Market segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

Definitions

  • the present disclosure described herein in general, relates to systems and methods for notifying a user subscribed to a plurality of software applications.
  • Smart notification systems have been deployed and being utilized in varied applications, especially in applications pertaining to smart cities.
  • the Smart notification systems may generate either generic event alerts like weather alerts which may be related to a city or specific event alerts like lift "out-of-order' which may be specific to a particular building.
  • events may be considered as a cause, whereas notifications may be considered to be an effect corresponding to the cause. Therefore, any notification system may be considered to be event-driven.
  • a typical event may comprise attributes like time, location, involved entities and description.
  • a gun shooting and robbery can be considered to be an event E which has location L, time T and description D which are all well described; however finding involved entities (i.e. persons who will be affected by this event) is a non-trivial problem. Specifically, there is challenge in identification of the relevant entities those need to be affected and notified accordingly corresponding to various events.
  • One of the existing methods to identify the relevant entities corresponding to a specific event may include analyzing persons' present and future context, the persons' profile and learned locomotion pattern.
  • the person P should receive an alert. If the person P's home or office is near the location L, the person P should be alerted. If the person P has a child who is heading towards the location L or is at the location L, the person P should be alerted. If usually around time T, the person P visits the location L then an alert can be transmitted to the person P if the person P's current location is not far from the location L. So a rule-based solution can be foreseen from these examples.
  • notification systems that are targeted at specific domains.
  • the different types of notifications can be like public alerts, social or sports event alerts, news feeds, health alerts and personal alerts.
  • the main problem in the existing systems may be that the notification systems exist as disconnected solutions.
  • most of the notification systems either do not address or partially address the needs of semantically rich context- aware and personalized notifications.
  • a method for notifying the user subscribed to a plurality of software applications may comprise receiving data and storing the data in a database.
  • the data may be received from the plurality of sources.
  • the plurality of sources may comprise at least one of a user interface (UI), an application programming interface (API), a database management system (DBMS) using a wrapper layer, or resource description framework (RDF) stores or flat RDF files, a plurality of sensors, a web comprising social web and semantic web, and a global positioning system (GPS).
  • the data may comprise a user profile data, a geo-spatial data, a social and semantic data, a sensor data, and a learnt behavior data.
  • the user profile data is received from the user through the user interface (UI)
  • the geo-location data is received through the GPS
  • the social and semantic data is received through the APIs
  • the sensor data may be received from the plurality of sensors comprising a hard sensor and a soft sensor.
  • the hard sensor data may comprise of data related to temperature obtained from thermometer and whereas the soft sensor data may comprise of Rich Site Summary (RSS) feeds about weather alert.
  • the method may further comprise classifying the plurality of software applications into a plurality of groups based on a first set of data and a second set of data.
  • the first set of data may be common among software applications in a group.
  • the second set of data may be common among two or more groups of the plurality of groups.
  • the method may comprise assigning a memory area of the database to each group of software applications.
  • the memory area may store the first set of data corresponding to each group.
  • the method may further comprise identifying one or more groups associated with one or more memory areas based upon a pre-registered query and a pre-registered rule executed on the one or more memory areas of the database.
  • the pre-registered query and a pre-registered rule are stored in a repository of the database.
  • the one or more groups of the software applications are identified based upon the first set of data or the second set of data of the database. Further, based on identified groups a notification alert may be generated. The notification alert may be associated with the one or more software applications.
  • the method may comprise passing the data through a knowledge unification layer (KUL) in order to convert the data to a uniform structured form by applying machine learning and information extraction technique or both.
  • KUL knowledge unification layer
  • a simple example is conversion of a RSS feed of form "Gun Shooting is going on at StreetX” to the RDF form " ⁇ eventl> ⁇ isOfType> ⁇ crime>; ⁇ eventl> ⁇ locatedAt> ⁇ streetX>” based on keyword matches against a dataset of city locations and crime types.
  • a system for notifying the user subscribed to a plurality of software applications may comprise a processor and a memory coupled to the processor for executing a plurality of modules stored in the memory.
  • the plurality of modules may comprise a receiving module, a stream reasoning module, and a notification generation module.
  • the receiving module may be configured to receive and store data associated with the user in a database. In one embodiment, the data may be received from the plurality of sources.
  • the stream reasoning module may be configured to classify the plurality of software applications into a plurality of groups based on a first set of data and a second set of data.
  • the first set of data is common among software applications in a group, whereas the second set of data is common among two or more groups of the plurality of groups.
  • the stream reasoning module may further configured to assign a memory area of a database to each group, wherein the memory area stores the first set of data corresponding to each group.
  • the stream reasoning module may further configured to identify one or more groups associated with one or more memory areas based upon a pre-registered query executed on the one or more memory areas of the database.
  • the one or more groups are identified based upon the first set of data or the second set of data.
  • the notification generation module may be configured to generate a notification alert associated with one or more software applications classified in the one or more groups.
  • a non-transitory computer readable medium embodying a program executable in a computing device for notifying the user subscribed to a plurality of software applications is disclosed.
  • the computer program may comprise a program code for storing data associated with the user in a database. In one embodiment, the data may be received from the plurality of sources.
  • the computer program may further comprise a program code for classifying the plurality of software applications into a plurality of groups based on a first set of data and a second set of data, wherein the first set of data is common among software applications in a group, wherein the second set of data is common among two or more groups of the plurality of groups.
  • the computer program may comprise a program code for assigning a memory area of a database to each group, wherein the memory area stores the first set of data corresponding to each group.
  • the computer program may further comprise a program code for identifying one or more groups associated with one or more memory areas based upon a pre-registered query executed on the one or more memory areas of the database. The one or more groups are identified based upon the first set of data or the second set of data.
  • the computer program may further comprise a program code for generating a notification alert associated with one or more software applications classified in the one or more groups.
  • Figure 1 illustrates a network implementation of a system, hereinafter referred to as Universal Notification System (UNS), for notifying a user subscribed to a plurality of software applications, in accordance with an embodiment of the present disclosure.
  • UMS Universal Notification System
  • Figure 2 illustrates the Universal Notification System (UNS), in accordance with an embodiment of the present disclosure.
  • Figure 3 illustrates architecture of the Universal Notification System (UNS) based on Stream Reasoning, in accordance with an embodiment of the present disclosure.
  • Figure 4 illustrates interconnectivity of software applications, in accordance with an embodiment of the present disclosure.
  • Figure 5 illustrates a method for notifying a user subscribed to a plurality of software applications, in accordance with an embodiment of the present disclosure.
  • the systems and methods enable a universal notification system (UNS) facilitating sharing of data or knowledge (hereinafter referred to as data) between the plurality of software applications.
  • UMS universal notification system
  • data data or knowledge
  • Functionally similar or closely inter-related software applications may be grouped together to take advantage of common shared data and inter-dependence, while dissimilar software applications may be grouped far apart.
  • the UNS facilitate a connection between the groups for occasional dependency. This is based on principle of high cohesion and low coupling.
  • UI User Interface
  • Administrators may be enabled to manage the UNS from the single point of the user interface.
  • developers may deploy software applications in the UNS (after selecting required data) with an option to connect with existing software applications.
  • the universal notification system (UNS)
  • the UNS may comprise a stream reasoning module applying a logical reasoning, in real time or in a near real time, on multiple heterogeneous, gigantic and inevitably noisy data streams to support the decision process of extremely large numbers of concurrent users.
  • the basic requirement of the UNS is to enable high relevance and minimum latency of alerts. Usage of a semantically rich knowledge in the UNS ensures high relevance, whereas using stream processing techniques will support latency requirements.
  • the UNS may support integration of any type of software application.
  • the UNS may be enabled to support interplay of the data between varied software applications along with processing of massive, heterogeneous data (including streams), thereby enabling the UNS to serve a large number of concurrent users.
  • the stream reasoning module may be divided into Memory Areas (MAs) each for functionally similar software applications.
  • the Memory Areas (MAs) represents working memory (WM) of the database, where static and dynamic data exists.
  • Further pre-registered rules and pre-registered queries may be executed on the MAs to produce results.
  • the results indicate notification alerts for the plurality of software applications. It may be understood that the notification alerts may comprise public alerts, social or sports event alerts, news feeds, health alerts and personal alerts.
  • the UNS may be configured to receive data and store the data in a database.
  • the UNS may be further configured to receive the data from the plurality of sources.
  • the UNS may be configured to classifying the plurality of software applications into a plurality of groups based on a first set of data and a second set of data of the database.
  • the first set of data may be common among software applications in a group.
  • the second set of data may be common among two or more groups of the plurality of groups.
  • the method may comprise assigning the memory area of the database to each group of software applications, wherein the memory area stores the first set of data corresponding to each group.
  • the UNS may further be configured to identify one or more groups associated with one or more memory areas based upon the pre-registered query executed on the one or more memory areas of the database.
  • the one or more groups of the software applications are identified based upon the first set of data or the second set of data of the database. Further, based on identified groups a notification alert is generated, wherein the notification is associated with the one or more software applications.
  • system 102 may also be implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a workstation, a mainframe computer, a network server, and the like.
  • the system 102 may be implemented in a cloud-based environment. It will be understood that the system 102 may be accessed by multiple users through one or more user devices 104-1, 104-2... 104-N, collectively also referred to as a user device 104, or a user 104, hereinafter, or applications residing on the user devices 104. Examples of the user devices 104 may include, but are not limited to, a portable computer, a personal digital assistant, a handheld device, and a workstation. The user devices 104 are communicatively coupled to the system 102 through a network 106.
  • the network 106 may be a wireless network, a wired network or a combination thereof.
  • the network 106 can be implemented as one of the different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, and the like.
  • the network 106 may either be a dedicated network or a shared network.
  • the shared network represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), and the like, to communicate with one another.
  • the network 106 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, and the like.
  • the system 102 may include at least one processor 202, an input/output (I/O) interface 204, and a memory 206.
  • the at least one processor 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions.
  • the at least one processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 206.
  • the I O interface 204 may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like.
  • the I O interface 204 may allow the system 102 to interact with a user directly or through the user device 104. Further, the I/O interface 204 may enable the system 102 to communicate with other computing devices, such as web servers and external data servers (not shown).
  • the I/O interface 204 can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite.
  • the I/O interface 204 may include one or more ports for connecting a number of devices to one another or to another server.
  • the memory 206 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes.
  • volatile memory such as static random access memory (SRAM) and dynamic random access memory (DRAM)
  • non-volatile memory such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes.
  • ROM read only memory
  • erasable programmable ROM erasable programmable ROM
  • the modules 208 include routines, programs, objects, components, data structures, etc., which perform particular tasks, functions or implement particular abstract data types.
  • the modules 208 may include a receiving module 212, a stream reasoning module 214, a notification generation module 216, and other module 218.
  • the other module 218 may include programs or coded instructions that supplement applications and functions of the system 102.
  • the data 210 serves as a repository for storing data processed, received, and generated by one or more of the modules 208.
  • the data 210 may also include a data store 220 and other data 222.
  • the other data 222 may include data generated as a result of the execution of one or more modules in the other module 218.
  • a user may use the user device 104 to access the system 102 via the I/O interface 204.
  • the user may register themselves using the I/O interface 204 in order to use the system 102.
  • the working of the system 102 using the plurality of modules 208 along with other components is explained in detail referring to Figure 3 as explained below.
  • the user module 304 may form a medium between the stream reasoning module 214 and the user 306; and may be responsible for gathering user's profile data and displaying relevant notification in user's UI of choice.
  • Contextual learned behavior of the user 306 which may be in "user, context, user model" format, like places often visited under some context may be verified by the user 306 before adding as profile data.
  • the data associated with the user 306 may be captured by the receiving module 212, details of which are explained hereinafter as below.
  • the receiving module 212 may be configured to receive and store the data associated with the user in the database 220.
  • the data may be received from the plurality of sources.
  • the data may comprise a user profile data, a geo-spatial data, a social and semantic data, a sensor data, and a learnt behavior data.
  • the user profile data may be received from the user through the user interface (UI)
  • the geo-spatial data may be received through the GPS sensors
  • the social and semantic data may be received through the APIs
  • the sensor data may further comprises the hard sensor data and, the soft sensor data.
  • the hard sensor data may comprise of data related to temperature obtained from thermometer and whereas the soft sensor data may comprise of Rich Site Summary (RSS) feeds about weather alert.
  • RSS Rich Site Summary
  • the data may be received from other sources including a database management system (DBMS) using a wrapper layer or resource description framework (RDF) stores or flat RDF files, a web comprising social web and semantic web, a global positioning system (GPS) and a plurality of sensors.
  • DBMS database management system
  • RDF resource description framework
  • a web comprising social web and semantic web
  • GPS global positioning system
  • learnt behavior data 308 the contextual learned behavior of the user like places often visited under some context is stored.
  • the data may be passed through a knowledge unification layer (KUL) 316 in order to convert the data to a uniform structured form by applying information extraction technique and machine learning or both before sending the data to the stream reasoning module 214 for further processing, the details of which are explained in detail hereinafter.
  • KUL knowledge unification layer
  • the stream reasoning module 214 may be configured to classify the plurality of software applications into a plurality of groups based on a first set of data and a second set of data.
  • the first set of data is common among software applications in a group
  • the second set of data is common among two or more groups of the plurality of groups.
  • the software applications subscribed by the user 306 include Facebook ® , Linkedln ® , Orkut ® , Twitter ® , Naukri.com ® , NDTV ® , and Tol ® .
  • the data received by the receiving module 212 comprises name, family information, personal contact details, sex, birth date, daily route information, and social networking information.
  • the stream reasoning module 214 may classify the software applications into at least three groups based on the nature of the software applications. Specifically, social networking applications which may comprise Facebook ® , Orkut ® , and Twitter ® may be grouped together to form a social networking application group. Similarly, professional websites such as Linkedln ® , and Naukri.com ® may be grouped together to form a professional website group. Further, NDTV ® and Tol ® may be grouped together to form a news feed alert application group.
  • the social networking application group may share set of data like name, sex, birth date, family information, wherein this set of data will be common for social networking application group.
  • the professional website group may share other set of data like daily route information, date of birth, personal contact details, wherein this other set of data will be common for professional website group.
  • the set of data being common to the social networking application group and the other set of data being common to the professional website group forms the first set of data.
  • the data related to personal contact details may be required by the social networking application group, therefore this type of data forms the second set of data in the database 220.
  • the plurality of software applications may be grouped into a plurality of groups.
  • the stream reasoning module 214 may be configured to assign memory area (MA) to each group of the plurality of groups.
  • the Memory Areas (MAs) represents working memory (WM) of the database 220, where the static data and the dynamic data exist.
  • figure 4 illustrates interconnectivity of software applications where similar software applications may be gathered together based on the first set of data. The second set of data may be shared among similar applications in a group.
  • the architecture of interconnectivity of software applications as shown in figure 4, the pre-registered queries and the pre-registered rules form the medium by which the various software application groups get logically connected.
  • the pre-registered rules and pre-registered queries may be executed on the MAs to produce results.
  • the pre- registered queries and the pre-registered rules may form the part of the repository of the database 220.
  • the results obtained after executing the pre-registered queries may generate notification alerts for the plurality of software applications.
  • the execution of the query and the rule in order to obtain the results related to the notification alerts is further explained with an example as described below.
  • the city event alert application and the meeting application may be associated with MAI as shown in figure 3. If the user 306 who is also an attendee of a meeting schedule in a city is also affected by an event associated with the city, then an entailment generated by the alert application using the pre-registered queries and pre- registered rules may be used by the meeting application to mark the meeting to be delayed.
  • an attendee arranges a meeting and invites other attendees by using an online calendar.
  • the information is circulated to all the other attendees.
  • the present example demonstrates the concept of functionally cohesive apps of the UNS.
  • App 1 and App 2 belongs to the same memory area, therefore App 1 and App 2 shares common event' data; whereas the data about the meeting is only specific to App 2.
  • the present disclosure utilizes the rules and SPARQL queries in order to execute the logic of the software applications to conclude that the data entailed in App 1 is of use in App 2. This is further explained in detail by way of an example as given below:
  • the system 102 associates App 1 and App2 based on the queries and rules. Since the rule specific to Appl infers that both the App 1 and App2 use the same MA, no rule may be required corresponding to App 2 for deriving facts.
  • a Knowledge Manager 326 of the stream reasoning module 214 may be responsible for passing the data or the knowledge to the MAs and inter- knowledge communication between MAs.
  • the inter-knowledge communication between MAs may be achieved by registering the pre-registered query to find patterns of facts for use in other MAs.
  • the patterns of fact may be interpreted as either the first set of data or the second set of data of the database. Only portions of the data required by any MA may be loaded, rest may be kept in the Knowledge Store 330 for future use.
  • the repository 332 stored in the database 220 may comprise of the pre-registered rules and the pre-registered queries.
  • UNS was tested using a 3GHz Intel Core2Duo Processor with 2 GB RAM.
  • Washington D.C. of United States of America (USA) was selected as a target smart city whose dataset was used to carry out the experiments.
  • the data included Open Street Map geospatial data and simulated profile data of 2,000 citizens.
  • the UNS monitored live crime feeds while context data of citizens was posted by simulation. Real recorded data was played back to simulate events in city so as to get matches of events with user's data in experiments.
  • Two metrics namely response time and processing time were used.
  • the response time is the average difference in time between an event actually happening (detected by the UNS) and the time it is shown in the UI of the relevant user.
  • the processing time is the average time taken to fire the rules and run corresponding query due to insertion of an event in the memory area.
  • the response time and processing time obtained are 2.5 s and 8.5 ms, respectively.
  • dynamic change of logic of the software application may be supported for each software application. Considering the case where logic is expressed in form of SPARQL like the queries and the rules, the same may be changed at run-time by updating the old logic attached to a working memory with the new one. So a query Ql can be changed to Q2 if requirements are such:-
  • Query Q2 - select ?event where ⁇ ?event ⁇ atLocation> ?loc. ?loc ⁇ hasNoOfCars> ?noOfCars. filter( ?noOfCars > 2500 ) ⁇
  • Case 2 requires more computation than case 1, as simply changing the logic bonded to a working memory may not help, because the data required to satisfy the ⁇ isNear> pattern might not be in the software application group's data which may be the first set of data or second set of data; it may be in common shared data, or in the first set of data or second set of data of some other application group.
  • Knowledge Manager 326 in Figure 3 keeps track of the data sets (the first set of data or the second set of data) in a registry and when one set is not available in the working memory of an software application group, but is required by an software application due to logic change, the same may be fetched from the common shared data or first set of data from other application group by looking up the registry.
  • Case 1 If the data needed by the software application is already loaded in some software application group, then it will be better to assign the software application to that particular software application group. If the data is in multiple software application groups, then the one with the least memory consumption will be assigned. If the data is not loaded in any software application group, a fresh group with current software application will be created.
  • Case 2 If software application was in a unary group, that group will be deleted on removal of that software application. If software application was in a group with other software applications, then the data needed just by that software application will be unloaded. If deleting the data of that software application makes a group spurious, then the other existing software applications may be shifted to another similar group if possible (merging with another similar group with low memory load).
  • a combination of strategies for cases 2 and 3 may be applied.
  • the developer module 318 may form a point of interaction between developer 322 and the stream reasoning module 214.
  • the developer 322 may write new rules/queries by selecting the data and ontology on which the rules/queries will be run.
  • the control to modify the software application logic lies only with that particular software application developer 322 and the system administrator 324.
  • the strategies for a developer 322 to share and reuse logic are also disclosed in the present disclosure.
  • the developer 322 may choose from an existing list of software application logic expressed in form of the queries and the rules that is used in some other software applications.
  • the developer 322 may have a black box view of the logic as well, i.e. the developer 322 might be concerned with only the output of one software application and plug it as an input to his software application. This needs re-usage rights and grants for each software application.
  • the developer 322 can not only see what software application's output might be of use to him; but also get suggestions what other software applications may get benefitted by current software applications output.
  • the administrator module 320 forms an interface between stream reasoning module 302 and the administrator 324 of the UNS.
  • the responsibilities of the administrator 324 include plugging ontologies, selecting apt data sources, adding/deleting the rules and queries from/to repositories 332, starting/stopping the stream reasoning module 214 , monitoring the developer resources and the software applications and carrying out normal administrative tasks.
  • the notification generation module 216 configured to generate a notification alert associated with the one or more software applications classified in the one or more groups.
  • Some embodiments of the present disclosure allow different software notification applications to connect to share data or knowledge.
  • Some embodiments of the present disclosure facilitate strategies to share common data among software applications for reusability and meeting resource constraints.
  • Some embodiments of the present disclosure allows single user interface for varied software applications.
  • Some embodiments of the present disclosure facilitate provision for data entered or learned for one software application can be used by other software applications. [0052] Some embodiments of the present disclosure allow the administrators in the system a managerial control of the data and the software applications.
  • a method 500 for identifying a sensor, from a plurality of sensors, to be deployed in a physical environment is shown, in accordance with an embodiment of the present disclosure.
  • the method 500 may be described in the general context of computer executable instructions.
  • computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types.
  • the method 500 may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network.
  • computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
  • the order in which the method 500 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method 500 or alternate methods. Additionally, individual blocks may be deleted from the method 500 without departing from the spirit and scope of the disclosure described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof. However, for ease of explanation, in the embodiments described below, the method 500 may be considered to be implemented in the above described system 102.
  • the data 212 associated with the user 306 may be stored in the database 220.
  • the data may be received from a plurality of sources.
  • one or more groups associated with one or more memory areas may be identified based upon a query executed on the one or more memory areas of the database 220.
  • a notification alert associated with one or more software applications may be generated, wherein one or more software applications may be classified in the one or more groups.
  • the method 500 may further comprise of passing the data through the KUL in order to convert the data to a uniform structured form by applying information extraction technique and machine learning or both. Further the method 500 may comprise the updating the pre-registered queries thereby updating the classification of the software application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

La présente invention concerne un procédé et un système de notification à un utilisateur abonné à une pluralité d'applications logicielles. Le procédé peut comprendre les étapes consistant à : stocker des données associées à l'utilisateur dans une base de données; classer la pluralité d'applications logicielles en une pluralité de groupes sur la base de premier et second ensembles de données, le premier ensemble de données étant commun aux applications logicielles d'un groupe, le second ensemble de données étant commun à au moins deux groupes de la pluralité de groupes; attribuer une zone de mémoire de la base de données à chaque groupe, la zone de mémoire stockant le premier ensemble de données correspondant à chaque groupe; et identifier un ou plusieurs groupes associés à une ou plusieurs zones de mémoire sur la base d'une interrogation préenregistrée et d'une règle préenregistrée appliquées aux une ou plusieurs zones de mémoire de la base de données.
PCT/IB2014/065754 2013-11-14 2014-11-01 Notification à un utilisateur abonné à plusieurs applications logicielles WO2015071799A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN3587/MUM/2013 2013-11-14
IN3587MU2013 IN2013MU03587A (fr) 2013-11-14 2014-11-01

Publications (1)

Publication Number Publication Date
WO2015071799A1 true WO2015071799A1 (fr) 2015-05-21

Family

ID=53056860

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2014/065754 WO2015071799A1 (fr) 2013-11-14 2014-11-01 Notification à un utilisateur abonné à plusieurs applications logicielles

Country Status (2)

Country Link
IN (1) IN2013MU03587A (fr)
WO (1) WO2015071799A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778355A (en) * 1996-06-11 1998-07-07 International Business Machines Corp. Database method and apparatus for interactively retrieving data members and related members from a collection of data
US20070016563A1 (en) * 2005-05-16 2007-01-18 Nosa Omoigui Information nervous system
US20080162637A1 (en) * 2006-11-03 2008-07-03 At&T Bls Intellectual Property, Inc. Application services infrastructure for next generation networks including a notification capability and related methods and computer program products
US20120173645A1 (en) * 2008-06-06 2012-07-05 Chris Marcellino Managing notification service connections and displaying icon badges

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778355A (en) * 1996-06-11 1998-07-07 International Business Machines Corp. Database method and apparatus for interactively retrieving data members and related members from a collection of data
US20070016563A1 (en) * 2005-05-16 2007-01-18 Nosa Omoigui Information nervous system
US20080162637A1 (en) * 2006-11-03 2008-07-03 At&T Bls Intellectual Property, Inc. Application services infrastructure for next generation networks including a notification capability and related methods and computer program products
US20120173645A1 (en) * 2008-06-06 2012-07-05 Chris Marcellino Managing notification service connections and displaying icon badges

Also Published As

Publication number Publication date
IN2013MU03587A (fr) 2015-09-25

Similar Documents

Publication Publication Date Title
Strohbach et al. Towards a big data analytics framework for IoT and smart city applications
US10541938B1 (en) Integration of distributed data processing platform with one or more distinct supporting platforms
Jabbar et al. Semantic interoperability in heterogeneous IoT infrastructure for healthcare
US10791063B1 (en) Scalable edge computing using devices with limited resources
d'Aquin et al. Smart cities' data: Challenges and opportunities for semantic technologies
US9544726B2 (en) Adding location names using private frequent location data
US20160267144A1 (en) Collecting and generating geo-tagged social media data through a network router interface
Shih et al. Democratizing mobile app development for disaster management
CN109684370A (zh) 日志数据处理方法、系统、设备及存储介质
US9477787B2 (en) Method and apparatus for information clustering based on predictive social graphs
US9990403B2 (en) System and a method for reasoning and running continuous queries over data streams
Ikram et al. Approaching the Internet of things (IoT): a modelling, analysis and abstraction framework
EP3087501A1 (fr) Détermination d'une persona active d'un dispositif d'utilisateur
US11171835B2 (en) Automated generation of an information technology asset ontology
Mohanty Big data: An introduction
Vahdat-Nejad Context-aware middleware: A review
US20220358240A1 (en) Adaptive data privacy platform
Dautov et al. Addressing self-management in cloud platforms: a semantic sensor web approach
Madhusudanan et al. Hybrid Aspect of Context‐Aware Middleware for Pervasive Smart Environment: A Review
Dautov et al. Utilising stream reasoning techniques to underpin an autonomous framework for cloud application platforms
Laukkarinen et al. An embedded cloud design for internet-of-things
Marin et al. Reaching for the clouds: contextually enhancing smartphones for energy efficiency
Sathyamoorthy et al. Profiling energy efficiency and data communications for mobile internet of things
Borelli et al. Architectural software patterns for the development of IoT smart applications
Fonteles et al. An adaptive context acquisition framework to support mobile spatial and context-aware applications

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: 14861830

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: 14861830

Country of ref document: EP

Kind code of ref document: A1