Patent Description:
An IoT SL can provide applications and devices access to a collection of IoT oriented capabilities. A few examples include security, charging, data management, device management, discovery, provisioning, and connectivity management. These capabilities are made available to applications via APIs which make use of message formats, resource structures, and resource representations supported by the IoT SL.

From a protocol stack perspective, SLs are typically situated above the Application Protocol Layer and provide value added services to applications they support. Hence SLs are often categorized as 'middleware' services. <FIG> shows an exemplary service layer between the Application Protocols and Applications.

From a deployment perspective, an IoT SL can be deployed on various types of network nodes including servers, gateways and devices as shown in <FIG>.

The oneM2M TS-<NUM> oneM2M Functional Architecture defines an IoT SL. The SL provides "horizontal" services that may be utilized by different "vertical" IoT systems and applications, such as e-Health, fleet management, and smart homes. The architecture of the oneM2M SL, as shown in <FIG>, defines a Common Service Entity (CSE) that supports four reference points. The Mca reference point interfaces with the Application Entity (AE). The Mcc reference point interfaces with another CSE within the same service provider domain and the Mcc' reference point interfaces with another CSE in a different service provider domain. The Mcn reference point interfaces with the underlying network service entity (NSE). An NSE provides underlying network services to the CSEs, such as device management, location services and device triggering. A CSE contains multiple logical functions called "Common Service Functions (CSFs)", such as "Discovery", "Data Management & Repository". <FIG> illustrates the CSFs supported by oneM2M.

The oneM2M architecture is a distributed architecture and supports deploying IoT services in a distributed manner across the following types of Nodes. An Application Service Node (ASN) is a Node that contains one CSE and contains at least one Application Entity (AE). Example of physical mapping: an ASN could reside in an IoT Device. An Application Dedicated Node (ADN) is a Node that contains at least one AE and does not contain a CSE. Example of physical mapping: An Application Dedicated Node could reside in a constrained IoT Device. A Middle Node (MN)is a Node that contains one CSE and contains zero or more AEs. Example of physical mapping: a MN could reside in an IoT Gateway. An Infrastructure Node (IN) is a Node that contains one CSE and contains zero or more AEs. A CSE in an IN may contain CSE functions not applicable to other node types. Example of physical mapping: an IN could reside in an IoT Service Infrastructure. A Non-oneM2M Node (NoDN) is a Node that does not contain oneM2M Entities (neither AEs nor CSEs). Such Nodes represent devices attached to the oneM2M system for interworking purposes, including management. The possible configurations of inter-connecting the various entities supported within the oneM2M system are illustrated in <FIG>.

<FIG> shows the non-roaming reference architecture with service-based interfaces within the Control Plane. <FIG> depicts the <NUM> System architecture in the non-roaming case, using the reference point representation showing how various network functions interact with each other. The mobility management and session management functions are separated. A single N1 NAS connection is used for both Registration Management and Connection Management (RM/CM) and for SM-related messages and procedures for a UE. The single N1 termination point is located in AMF. The AMF forwards SM related NAS information to the SMF. AMF handles the Registration Management and Connection Management part of NAS signaling exchanged with the UE. SMF handles the Session management part of NAS signaling exchanged with the UE.

In <NUM> network, 3GPP TS <NUM>, System Architecture for the <NUM> System; Stage <NUM>, Network Data Analytics (NWDA) is defined as a network function to represent operator managed network analytics logical function. NWDA provides network slice specific network data analytics to the PCF. The subscription to NWDA by PCF is on a network slice level and the NWDA is not required to be aware of the current subscribers using the slice. NWDA notifies/publishes slice specific network status analytic information to the PCF(s) that are subscribed to it. This information is not subscriber specific. PCF uses that data in its policy decisions.

NWDA reference point resides between the Network Data Analytics (NWDA) and the PCF. According to 3GPP TS <NUM>, Procedures for the <NUM> System; Stage <NUM>, the PCF could get analytics data from NWDA by either request/response model or subscription/notification model. <FIG> show these message flows.

In <NUM> network, two types of DSF are defined: Unstructured Data Storage network function (UDSF) and Structured Data Storage Function (SDSF). As shown in <FIG>, the <NUM> system architecture allows a network function to store and retrieve its unstructured data into/from a UDSF. The UDSF belongs to the same PLMN where the network function is located. Control plane NFs may share a UDSF for storing their respective unstructured data or may each have their own UDSF (e.g. a UDSF may be located close to the respective network function). The UDSF is an optional function that supports Storage and retrieval of information as unstructured data by any network function.

As shown in <FIG>, the <NUM> system architecture allows the NEF to store structured data in the SDSF intended for external and internal network exposure by the NEF. SDSF belongs to the same PLMN where the Network Exposure Function (NEF) is located. The SDSF is an optional function that supports storage and retrieval of information as structured data by the NEF.

<CIT> discloses a cloud-based analytics system which performs analytics on data in data streams based on a selected set of rules.

<CIT> discloses a device which performs an analysis of information associated with machine-to-machine (M2M) devices via analytics techniques.

Disclosed herein are methods, systems, and apparatuses that may enable a Service Layer (SL) to support analysis of IoT data and may enable shared access to information generated by the analysis. The Analytics Management Service described herein may allow SL entities to configure Analytics Functions for many different IoT sources of data and organize the results in a customizable manner that may allow easier access and more granular authorization.

A SL may support an Analytics Management Service (AMS) capable of coordinating the analysis of IoT data from multiple independent sources and organizing the results of the analysis.

Furthermore, the claimed subject matter is not constrained to limitations that solve any or all disadvantages noted in any part of this disclosure.

In large scale IoT deployments there will be massive amounts of data collected and stored. Big data analytics methods are used to generate meaning from the raw data. Some types of big data analytics includes analysis of historical data, image classification or recognition. Generating value from the massive amounts of data collected will require the ability to analyze the data efficiently.

IoT Service Layer capabilities are focused on collection and storage of the data and access to the data. Providing analysis of data requires a lot of external processing. For example, image recognition of photos from a security camera in a oneM2M SL would require the creation of a <subscription> resource to each container where the images are stored. Then when each image is stored in the oneM2M SL a notification would be sent to a dedicated oneM2M application that would analyze the image. Then the results would be written back to a location that needs to be configured as well.

The above describes a type of configuration that is needed for the image stored in the SL, to use the image recognition functionality. If multiple cameras are used, then this configuration has to be repeated for each source of image data. If a different "owner" of the cameras needs to perform the same type of analysis, then additional repetitive configuration is added to the system. Without native support for data analytics in an IoT Service Layer there is a fair amount of repetitive configuration that systems designers or users need to handle. For example, consider the scenario where data analytics functions are interested in specific types of data. In such a scenario, the service layer needs to be configured to know what type of data each analytics functions is interested in so that the service layer may forward the data to each interested data analytics function. A similar problem exists in the 3GPP <NUM> core (5GC) network. 5GC Network Functions have access to an abundant amount of data about network activity or UE activity. Procedures are needed to define how 5GC NFs may be configured to provide select information to the NWDAF.

Disclosed herein are methods, systems, and apparatuses that may enable a Service Layer (SL) to support analysis of IoT data and may enable shared access to information generated by the analysis. The Analytics Management Service described herein may allow SL entities to configure Analytics Functions for many different IoT sources of data and organize the results in a customizable manner that may allow easier access and more granular authorization. A SL may support an Analytics Management Service (AMS) capable of coordinating the analysis of IoT data from multiple independent sources and organizing the results of the analysis. The AMS may be configured with multiple Analytic Functions that may analyze IoT SL data from multiple sources. The AMS may be configured with policies that customize the analysis performed on IoT Data by specifying the configuration of the Analytic Function (AF) for each source or groups of sources of IoT data. The AMS may be configured with policies that define how the results are stored in the IoT SL so that the results are readily accessible. The AMS may be configured to examine new data as it arrives in the IoT SL and determine if the new data should be sent to a AF. The AMS may provide methods of accessing the results of the data analysis that efficiently access relevant data. The AMS may be configured to provide authorization to data with certain detected characteristics without giving authorization to the raw data source. AMS may be configured to provide pre-processing of selected data before storage in the IoT SL.

<FIG> illustrates exemplary AMS Deployment Options. AMS <NUM> may be supported as a service within an IoT SL that is hosted on a server, gateway or device as shown in <FIG>. <FIG> illustrates an exemplary architecture of the AMS. AMS <NUM> may be configured with policies (AMS Policy <NUM>) that define how to configure an Analytics Function, select which IoT data to send to the analytics process, and how to make the results of the analytics process available to IoT entities. AMS Policies are described in more detail herein. AMS <NUM> may monitor IoT data <NUM> as it arrives in the SL from sensors. At step <NUM> is showing arrival of a IoT data at the SL, which is a trigger to begin an action (<NUM>) of comparing information about the data with AMS policies to determine what to do next (<NUM>). Access AF result <NUM> is an entity that tries to access the stored data. Once the data is stored, the access has a couple new APIs that may be used (e.g., Request <NUM>- Request <NUM> disclosed below). AMS <NUM> may compare information about IoT data <NUM> with AMS policies <NUM> to determine (at block <NUM>) if the IoT data should be sent to an Analytic Function (AF) <NUM>. An AF <NUM> may be considered a service that performs analysis on data sent by an IoT SL and provides a result back to the SL. AF may be NWDA as described herein. Network Data Analytics (NWDA) is defined as a network function to represent operator managed network analytics logical function. AMS <NUM> may receive results from one or more AFs <NUM>. AMS policies <NUM> may define how to store the results (e.g., AF data <NUM>) from AF <NUM> and how to make it available to SL entities. Receiving and storage of AF data <NUM> is described in more detail herein.

<FIG> provides an exemplary AMS <NUM> use case. In this use case, video cameras are positioned in or around a building. The video cameras, and perhaps other sensors, are used for security in the building. The sensors (including the cameras) send data to a SL where the data is stored. The desired result is to identify all people entering and exiting the building. The people entering should be identified by name or ID. A user of the SL data wants to be able to quickly see the people that entered the building, see the people that are remaining in the building, and to find the identity of those remaining in the building. AMS policy <NUM> is configured to analyze data captured from all of the web camera images. The AF(s) analyzes the image to determine that if a person is in the image, whether the person is entering or leaving, and who is left in the building (The implementation of this AF is not described in depth, but is within the capabilities of current image recognition services). AMS policy <NUM> also defines how to store the AF results such that the images are grouped in a manner that allows access to each of these desired categories (e.g., images with "identified" people are in a single location).

AMS <NUM> may be configured with policies that define how to configure analytics function <NUM>, select which IoT data to send to the analytics process, or how to make the results of the analytics process available to IoT entities. These rules may be defined via AMS Policy attributes such as the ones proposed in Table <NUM>. In one example, the AMS Policy may be stored within SL resources. The SL resources may be created, retrieved, updated, or deleted by the AMS <NUM> or SL entities or both.

The following attributes (Device (e.g., data creator), User (e.g., the profile that uses analyzed data), Data Type, Meta Data, or Data Mode) describe how the SL may select data to be sent to AF <NUM>. The attributes may be used as oneM2M attributes.

Device (e.g., data creator like a specific sensor) - AMS <NUM> may send data to AF <NUM> based on a specific list of devices or sources of data. For example, a list of door sensors may be specified to send sensor status from door1, door2 and door5 to AF <NUM>.

The following attributes (Data representation, data destination, data analysis configuration, or data analysis feedback) describe how to communicate with AF <NUM>. Some of these parameters may not be visible or accessible to SL entities, but are private between AMS <NUM> and AF <NUM>, which is discussed in more detail herein.

Each AMS policy, such as result location, result content, or result accessibility may help define the configuration of the way the results are stored. With reference to result location, it may specify where results from AF <NUM> are stored. For example, result location may define a root location for the storage of results coming from AF <NUM>. A default value may be as a child of the AMS policy. This may be specified as the original location of the IoT source data. In another example, a result structure may be specified as fixed or dynamic. If the result structure is fixed the policy may specify a specific structure for the data storage. If the result structure is dynamic the data structure may be generated based on the characteristics detected by the AF.

With reference to result content, it may specify duplication, annotation, or linking. If the Result Content is Annotation the original IoT data analyzed may be updated to reflect the characteristics detected by AF <NUM>. If the Result Content is Duplicate then a copy of the IoT data analyzed may be stored in the Result Location specified by the root location and result structure (Result Location). The copy of the data may be annotated with the characteristics detected by AF <NUM>. If the Result Content is Link then a reference to the original IoT data may be stored in the Result Location specified by the root location and result structure (Result Location). The stored reference may be annotated with the characteristics detected by AF <NUM>.

With reference to Result Accessibility results from AF <NUM> may be organized based on the data content. Results may be generated by analysis of data from multiple IoT Sensors or services. In the context of result accessibility, considerations may include authorization, access methods, and sort. Authorization - SL entities that do not have access to the raw sensor data in the original location may be granted authorization to selected portions of the original data based on the presence of characteristics detected by AF <NUM>. For example, referring to the use case described above, if an image analyzed by AF <NUM> indicates that employee #<NUM> has entered the building, the result stored may include an authorization for that employee #<NUM> to access this specific image without giving access to any of the other images. Access Methods - SL entities may access AF <NUM> results using linked list type operations such as getFirst, getNext, getPrevious, getLast. These access methods may take into consideration the authorization of the SL entity. For example, if employee #<NUM> wants to see the times that she entered the building over a period, she may request the first result from the "entry" analysis. This may return the first time that employee #<NUM> entered the building. Then employee #<NUM> may request the next result which may skip all images that do not allow her authorization and return the next result that she does have authorization to access. Sort - Results may be sorted chronologically by source of data date, alphabetical by annotated characteristics, or other meta-data native to the SL.

It is understood that the entities performing the steps illustrated herein, such as <FIG>, may be logical entities. The steps may be stored in a memory of, and executing on a processor of, a device, server, or computer system such as those illustrated in <FIG> or <FIG>. In an example, with further detail below with regard to the interaction of M2M devices, IoT Device <NUM> of <FIG> may reside on M2M terminal device <NUM> of <FIG>, while IoT SL <NUM> of <FIG> may reside on M2M gateway device <NUM> of <FIG>. Skipping steps, combining steps, or adding steps between exemplary methods disclosed herein (e.g., <FIG>) is contemplated.

<FIG> illustrates an exemplary method for communicating with Analytic Functions <NUM>. AMS <NUM> supports registration, configuration, or communication of data (e.g., data associated with results with one or more AFs as shown in <FIG>). AMS <NUM> may be pre-provisioned with an identity of AF <NUM> that it should communicate with. Additionally, there may be AMS policies pre-configured as well. The information present may be consistent with the configuration methods described below.

At step <NUM>, any specific AF may or may not be dedicated to the IoT SL that it is providing services for, therefore AMS <NUM> and the AF <NUM> may establish a relationship amongst themselves. Examples of basic message components, such as IoT SL ID or AF ID, are described below. Additional parameters may be provided, which may depend on the deployment. With regard to IoT SL ID, if AF <NUM> supports more than a single IoT SL, this identifier may be used to authorize the messages from IoT SL <NUM>. If AF <NUM> supports only a single IoT SL, then this identifier may not be required. With reference to AF ID, if IoT SL <NUM> supports more than a single AF, this identifier may be used to authorize the messages from AF <NUM>. If IoT SL <NUM> supports only a single AF, then this identifier may not be required. The AF ID may be pre-provisioned or provided as part of the registration process. IoT SL <NUM> may store this identifier for authentication and authorization purposes.

If AF <NUM> supports only a single IoT SL then this registration process may be simplified to a simple check that AF <NUM> is present and responsive, which in some deployments may be assumed always true. The registration may be initiated by IoT SL <NUM> or AF <NUM>.

At step <NUM>, configuration of AF <NUM> to perform the desired services is specified by the AMS policies in IoT SL <NUM>. IoT SL <NUM> may have multiple AMS policies that are configured by different IoT entities to support a variety of different IoT Sensors or Data Sources. The policies may be pre-provisioned into IoT SL <NUM> or they may be specified by IoT SL entities (applications or devices). The following methods are described for communicating the relevant information from an AMS policy, such as those defined herein with regard to the relevant AF. In step <NUM>, the config information that the AF needs is sent to the AF.

At step <NUM>, the relevant portions of the AMS policy are sent to the AF, along with the AMS Policy ID in a "Policy Configuration Message". This could use the standard protocol of the IoT SL or the standard protocol of the AF or a custom protocol. The AMS service also sends changes to the policy to the AF when they occur. In step <NUM>, the SL sends the AMS policy id to the AF so that the AF can request the needed configuration information from the SL. In the figure, m1(<NUM>) and m2(<NUM>) refer to method <NUM> and method <NUM>. Below mentions method <NUM>. Only one method is needed, so step <NUM> and step <NUM> may not be present, if step <NUM> is used. While if step <NUM> is used, step <NUM> and step <NUM> may not be present. Same for step <NUM>.

At step <NUM>, the AMS Policy ID is sent to the AF. The AF may then access the AMS policy as needed from the IoT SL. This is primarily suited to using the standard protocol of the IoT SL. Example: if the AF can use the oneM2M protocol, step <NUM>/<NUM> could be appropriate. However, if the AF is an existing service that is not aware of oneM2M, then step <NUM> may be more appropriate.

At step <NUM>, when IoT Data is sent to AF <NUM> the message may include the relevant information from the AMS policy. This is well suited to very simple analysis such as threshold or value checks. For example, if an IoT Sensor provides temperature values, an AMS policy might be established to generate an "OVER-HEATING" determination, where that determination may be different based on which IoT Sensor the data comes from. The AMS also sends the Policy ID in this message so that the results may be properly processed. Note that method <NUM> and method <NUM> (step <NUM>) and method <NUM>(step <NUM>).

Use of one of the methods that communicate the configuration information may be determined by the capabilities of IoT SL <NUM> and AF <NUM>. Capabilities may refer to whether the AF may use the SL API (e.g., protocol) or whether the SL has to use the AF API (e.g., protocol).

At step <NUM>, when IoT Data is sent to AF <NUM>, the AMS policy may define what data to send. Some options may not be suitable for some AF and IoT SLs deployments. The message that the AMS sends to the AF may have elements, such as IoT Data to be analyzed, AF configuration, IoT SL ID, or AMS transaction ID, among other things. IoT Data to be analyzed - This could be a single sensor value that is evaluated on its own, i.e. a threshold check, or it could be a single sensor data that the AF analyzes in the context of the history of data that come before this sample, e.g., time series data, or the AMS may send a block of historical data in one or more messages, e.g., partial time series data. AF configuration - This may be represented as the AMS Policy ID or the AF attributes from the AMS policy. IoT SL ID - This is present for the cases that AF <NUM> supports more than one IoT SL. If AF <NUM> supports only one IoT SL then this value may be ignored or omitted. AMS transaction ID - a value that AMS <NUM> generates and sends to AF <NUM>. AF <NUM> may include the AMS transaction ID in the response (step <NUM>). AMS transaction ID address communication that can be synchronous versus asynchronous, where in the asynchronous case the ID is needed so that the SL can tell what this message refers to.

At step <NUM>, when a result is sent from AF <NUM> to AMS <NUM> the message from AF <NUM> may have data elements, such as AF results, AMS Policy ID, or AMS transaction ID, among other things. AF Results - This is the output of the analysis performed by the AF. In some cases the AF may combine the results with the original data. The exact format of the results are determined by the IoT SL and AF embodiments. The AF may also send aggregated results based on a periodic schedule or result types. AMS Policy ID - This is used to determine how to process the results. It is possible to eliminate this value if synchronous communication is used between the SL and AF <NUM> or the AMS transaction ID is used to determine this information. AMS transaction ID - a value that AMS <NUM> generates and sends to AF <NUM>. AF <NUM> may include this in the response (step <NUM>).

There are two conditions that may trigger sending IoT SL data to AF <NUM>. First is when a new AMS policy is created (see <FIG>) and second is when new IoT SL Data is created (see <FIG>). Modification of a policy or IoT SL Data is also an equivalent trigger. In this paper the term modification (update) is assumed to be included when discussing new data being created, unless stated otherwise.

<FIG> illustrates an exemplary method for a new or updated AMS Policy. At step <NUM>, AMS <NUM> may receive a request to create or update an AMS policy. At step <NUM>, based on the request of step <NUM>, AMS <NUM> may deterimine whether the requested AMS policy is for a continuous data mode or periodic schedule data mode (or another data mode). At step <NUM>, based on the data mode (e.g., attribute as in Table <NUM> and Table <NUM>), updating or creating the requested AMS policy of step <NUM> and adding the updated or created AMS policy to a registry of AMS Policies that need to be checked each time new IoT SL Data is created (continuous) or based on the provided schedule (periodic schedule). For the periodic schedule data mode, the schedule may be provided during the request of step <NUM> or based on a subsequent message from an authorized device (not shown). At step <NUM>, AMS <NUM> may discover existing SL data (e.g., IoT Data) that matches the IoT Data Selection information (also referred herein as criteria or attributes) and may send the appropriate data representation as specified by the data Representation information (also referred herein as criteria or attributes) to AF <NUM> specified by this AMS policy. This step <NUM> may be based the data mode, such as a single shot or range of samples.

<FIG> illustrates an exemplary method for new IoT Device data. At step <NUM>, IoT SL <NUM> receives new data from a SL entity, such as a sensor. At step <NUM>, AMS <NUM> evaluates the new data to determine if it should be sent to one or more AFs based on comparing the meta-information associated with the new data to the AMS policy's IoT Data Selection attributes. At step <NUM>, if an AMS policy indicates that the new data should be sent to a first AF of a plurality of AFs, then AMS <NUM> sends the appropriate data representation. The data representation may be based on what is specified by the Data Representation attribute. The new data may match more than one AMS policy, in which case the new data is sent to each matching AF <NUM>.

With continued reference to <FIG>, IoT SL entity may create new data that is associated with a specific AMS policy. If the new data is directly associated with an AMS policy, then AMS <NUM> may send the new data directly to AF <NUM> without evaluating the policy's IoT Data Selection attributes. If AMS <NUM> sends only a portion of the new data, then AMS <NUM> may be required to maintain the original data until a response is returned from AF <NUM>. AMS <NUM> may then store the data and AF provided annotation or AMS <NUM> may remove the new data. IoT SL <NUM> may respond to the IoT entity that the data was CREATED if a result is stored, or OK if a result is not stored, or OK as soon as AMS <NUM> receives the AMS targeted data.

<FIG> illustrates an exemplary AMS <NUM> processing of AF <NUM> results. AMS <NUM> may store the results returned from AF <NUM> in a configurable manner that allows specification of a structure of storage, annotation of data for better semantic understanding or discovery, or efficient access to data that may have a common characteristic but different sources. For the descriptions below in the Table <NUM>, the following messages may be sent from AF <NUM> to AMS <NUM>. The first value may represent the identifier of the data that was analyzed (e.g., Image <NUM>) and the remaining values may represent characteristics that were detected (e.g., Image <NUM>, Identified, and ID#<NUM>). In some of the data there are no characteristics detected (e.g., Image <NUM> - Image <NUM>).

With reference to <FIG>, at step <NUM>, AMS <NUM> receives a message, which may include a result from AF <NUM>. AMS <NUM> determines that a first AMS policy defines the handling of this result using the AMS Policy ID. If the result is the response to a synchronous message between AMS <NUM> and AF <NUM> then the AMS policy is known. At step <NUM>, AMS <NUM> stores the result based on the Result Location attributes of the first AMS policy. In a restful IoT SL this may be the target location of the result. In other implementations this may be a table or document. Once the root location is determined the result structure may be further specified as Fixed or Dynamic. If fixed, then the root location specified is the location where all results may be located. If dynamic, then the root location specified is appended with information returned in the results from AF <NUM>. For example if an image recognition AF provides results in the following manner: <NUM>) identified / unidentified - the AF examines all images provided. If a person is detected in the image it attempts to identify the person in the image; and <NUM>) identity - if the AF identified an image then the identity associated with that image is returned. In this case, the results may be stored in the structure shown in <FIG> in which a duplicate of the analyzed data is stored by AMS <NUM> in a structure determined by the characteristics detected. The root is the starting point for all other parts of the complete location. In the case of "dynamic" the final storage location could be (using the example in the text) <root>/<identified>/<id> or| <root>/<unidentified>.

At step <NUM>, AMS <NUM> may determine how to store the results from AF <NUM> based on the AMS policy's Result Content attributes, such as annotation, duplication, or linking. Step <NUM> describes "where" to store the result. Step <NUM> describes the "what" to store.

With regard to annotation, the analyzed data, stored in IoT SL <NUM>, may be updated with annotations based on the results provided by AF <NUM>. For example, if the images in Table <NUM> were stored in a structure based on the camera that provided the images, then the annotations made may be as shown in <FIG>. The annotations are indicated in the text to the right of the images, such as annotation <NUM> or annotation <NUM>.

With regard to duplication, the data remains in its original location and a new copy of the data may be stored based on the AMS Policy's Result Location attribute. <FIG> shows an example using dynamic structure (the annotations are not shown, but would be the same as shown in <FIG>). An example of fixed structure is shown in <FIG>. It is still possible to annotate the original data in addition to creating a duplicate.

With regard to linking, the data may remain in its original location and a link to the data may be stored based on the AMS Policy's Result Location attribute. This has the benefit of not duplicating the data, but still having the ability to find all persons in a single location. An example is shown in <FIG>. It is still possible to annotate the original data in addition to creating a link.

At step <NUM>, AMS <NUM> makes the results from AF <NUM> dynamically accessible based on authorization to access each individual data object or resource. This allows for analysis on multiple sources of data to be performed with a single AMS policy yet maintaining the ability to restrict access to appropriate entities. Some examples of the access methods are shown in <FIG>.

In these requests, it is assumed that only "admin" has permission to access the original data from the cameras. When AMS <NUM> receives the results from AF <NUM>, the original resources were annotated with information that indicated the analysis results, in these example "unidentified" or "identified" and "id#". Additionally when a result indicated "identified" the linked or duplicate storage methods gave authorization to the "identified" SL entity.

Request <NUM>: Request <NUM> is made from "admin" and therefore has permission to access all of the results. When the target of the request is the root location for AMS results appended with "/first" then the response is the first data element in that location.

Request <NUM>: When the target of the request is an element below the root location for AMS results appended with "/next" then the response is the data element in that location that follows the target.

Request <NUM>-<NUM>: Request <NUM> is made from "Id#<NUM>" and Request <NUM> is made from "Id#<NUM>". When the target of the request is the root location for AMS results appended with "/first" then the response is the first data element in that location that the requestor has permission to access. Therefore the response is AF Result <NUM> and AF Result <NUM>, respectively.

Request <NUM>: Request <NUM> is made from "Id#<NUM>". When the target of the request is an element below the root location for AMS results appended with "/next" then the response is the next data element in that location that follows the target that the requestor has permission to access. Therefore the response is AF Result <NUM>.

Request <NUM>: Request <NUM> is made from "Id#<NUM>". The requestor was given authorization to access the data through the AMS results, but was not given authorization to access to original source of the data. Therefore the response is a permission denied error.

The AMS Policy's Sort attribute may specify a particular attribute or meta-data of the original resources to sort by, e.g., "data creation time. " The sorting would determine the order of the results returned. Methods for accessing "previous" and "last" are also supported.

Examples with regard to oneM2M (oneM2M TS-<NUM> oneM2M Functional Architecture) examples are disclosed below. Within the oneM2M architecture, AMS <NUM> may be realized as a new Common Service Function (CSF) of a Common Services Entity (CSE) as shown in <FIG>. This new CSF may be used to enable AMS <NUM> support in a oneM2M system.

In a oneM2M example, AMS <NUM> CSF may support a Analytics Function resource. The attributes of an <AF> resource may be READ ONLY for AEs or CSEs and may be provisioned into AMS <NUM> CSF using out-of-band mechanisms such as device management. An <AF> resource may support attributes as defined in Table <NUM> which are selected from the AMS Policy attribute definitions associated with AF configuration attributes disclosed herein.

In a oneM2M example, AMS <NUM> CSF may maintain specific data analytics policy information in a <AMSPolicy> resource. A <AMSPolicy> resource may be created, updated, and deleted by an AE or CSE. An <AMSPolicy> resource may support attributes as defined in Table <NUM> which are based on the AMS Policy attributes defined herein.

In a oneM2M example, the AMS CSF may support a Link Container resource. The attributes of a <linkResource> resource may allow for an SL entity to easily traverse resources from multiple different sources, giving access to limited or specific data without the need to give access to all data. For example, access may be given to only a specific <contentInstance> instead of an entire <container> and all of the child resources. The virtual resources of a <linkResource> may allow more flexible navigation of the child resources of the container. A <linkResource> resource may be created, updated, or deleted by an AE or CSE. A <linkResource> resource may support attributes as defined in Table <NUM> which may be based on the AMS Access methods defined herein (e.g., <FIG>). A <linkResource> may be a child of a content holding resource, such as a <container>, <timeSeriesContainer> or <flexContainer>. This resource may also be used to make accessing other resource types more efficient, such as allowing a single <subscription> to be used for multiple "subscribed-to" resources.

Analytics Management Service GUI - The sample application provides a security monitoring service for a building, such as an office building. The left side of <FIG> shows drop down selection boxes that may be used to populate an AMS Policy while the right side shows the results with one of the images unavailable because of authorization properties of the images. The example demonstrates the desired result to show the "Unidentified" persons using inputs from cameras located at all "Building Entrances". This user may not be allowed access to the original images, but when an "unidentified" person is detected, the user is given authorization to view the image. This example shows two "Unidentified" persons and the remaining persons detected are not visible.

In a 3GPP embodiment, the AMS may exist within a <NUM> core network function (5GC NF), such as the AMF, SFM, or UPF. It may also exist with the RAN. Each AMS instance may be used to make determinations about what data to send to the NWDAF. Where the AMS may be instantiated within the 5GC as shown in <FIG>. The dotted lines show the connection between the 5GC NFs and NWDAF. Of course, the AMS may also exist with network functions beyond what is shown in <FIG>, such as the UDM, AUSF, PCF, etc..

A 5GC Network Function that supports AMS functionality may expose an AMSPolicyCreation Service. Another NF (e.g., the NWDAF) may invoke the AMSPolicyCreation service to provide the 5GC Network Function with an AMS Policy (e.g. the policy that is shown in Table <NUM>). For example, a 5GC NF such as the AMF, SFM, or UPF may support the AMSPolicyCreation service. The NWDAF may invoke this AMSPolicyCreation service to provide the 5GC NF with a policy that describes what data should be sent to the NWDAF. The IoT Data Selection Criteria, as described herein, may further include the identity of the UE(s) or groups of UE(s) that the NWDAF would like information about or the NWDAF may indicate that it wants information related to all UEs or certain types of UEs or only roaming or non-roaming UEs. The Data Type in the IoT Data Selection Criteria may indicate that that the NWDAF desires information about mobility events (registration updates, configuration updates, etc.), session events (e.g., service requests, PDU session requests, etc.), what power savings modes are configured, what communication patterns are configured, etc. When the NWDAF invokes the service, it may further indicate where the data should be sent (e.g., a particular RESTful resource in the NWDAF). Note that the AMSPolicyCreation may be invoked by other NF's such as the PCF or by an Application Function that exposes a management GUI to a network administrator.

When the 5GC NF (e.g., SMF, AMF, or UPF) detects an event or data that matches the criteria that was indicated in the policy that was provided when the AMSPolicyCreation was invoked, the 5GC NF may take action to store the results. How the results are stored depends on the Results Storage preferences (e.g., Result Location, Result Content, or Result Accessibility) that were indicated in the AMS policy. The AMS policy may indicate where results should be stored and if the 5GC NF should provide the results, or a link to the results. The policy may further indicate how often the 5GC NF should report updated results to the AMSPolicyCreation invoker (e.g., how long to aggregate data before providing data to the AMSPolicyCreation invoker).

A 5GC Network Function that supports AMS functionality may expose an AMSAnalyticsBasedConfiguration Service. Another NF (e.g., the NWDAF) may invoke the AMSAnalyticsBasedConfiguration service to provide the 5GC NF with updated configuration information based on data that was obtained as a result of invoking the AMSPolicyCreation service with the 5GC NF and other 5GC NF's. The AMSAnalyticsBasedConfiguration may be a specialized service based on the NF type. Table <NUM> shows examples of how various network functions may be configured based on analytic information.

<FIG> shows how, in a 5GC for example, communication between 5GC NF's <NUM> and NWDAF <NUM> may take place to fulfill the functionality that was described herein (e.g., <FIG>, <FIG>, or <FIG>). The procedure of <FIG> provides an example of how the 3GPP 5GC Analytics Function (e.g., NWDAF <NUM>) may communicate with 5GC Network Functions <NUM>. At step <NUM>, if the 5GC NFs <NUM> and NWDAF <NUM> are not preconfigured to know to communicate with each other, a 5GC NF <NUM> may use the NRF to discover an NWDAF <NUM> or the NWDAF <NUM> may use the NRF to discover 5GC NFs <NUM>. In step <NUM>, the NWDAF may establish a connection with the 5GC NF (or vice versa).

With continued reference to <FIG>, in step <NUM> the NWDAF <NUM> may invoke the <NUM> NF's <NUM> AMSPolicyCreation service to configure the 5GC NF <NUM> with data analytics collection polies as described herein. In step <NUM>, the 5GC NF <NUM> may send data to the NWDAF <NUM> based on the policies that were configured in step <NUM>. In this example of <FIG>, the 5GC NF <NUM> may push the collected data to NWDAF <NUM>, but other communication models may be used to send data from the 5GC NF <NUM> to NWDAF <NUM> as described herein (e.g., NWDAF <NUM> may make requests to 5GC NF <NUM> to retrieve data as shown in <FIG>). In step <NUM>, NWDAF <NUM> may invoke the AMSAnalyticsBasedConfiguration service to configure 5GC NF <NUM> based on the data that has been collected from 5GC NF <NUM> and other 5GC NFs.

Table <NUM> includes abbreviations and Table <NUM> includes exemplary definitions of terms.

Without in any way unduly limiting the scope, interpretation, or application of the claims appearing herein, a technical effect of one or more of the examples disclosed herein is to provide adjustments to use or management of analytics processing. Disclosed herein are methods, systems, and apparatuses that may enable a Service Layer (SL) to support analysis of IoT data (which may be more efficient than conventional system) and may enable shared access to information generated by the analysis. The Analytics Management Service described herein may allow SL entities to configure Analytics Functions for many different IoT sources of data and organize the results in a customizable manner that may allow easier access and more granular authorization.

<FIG> illustrates an exemplary display (e.g., graphical user interface) that may be generated based on the methods and systems discussed herein. Display interface <NUM> (e.g., touch screen display) may provide text in block <NUM> associated with analytics of IoT data, such as the parameters of Table <NUM> through Table <NUM>. In another example, progress of any of the steps (e.g., sent messages or success of steps) discussed herein may be displayed in block <NUM>. In addition, graphical output <NUM> may be displayed on display interface <NUM>. Graphical output <NUM> may be the topology of the devices (e.g., IoT devices <NUM>), a graphical output of the progress of any method or systems discussed herein, or the like.

<FIG> is a diagram of an example machine-to machine (M2M), Internet of Things (IoT), or Web of Things (WoT) communication system <NUM> in which one or more disclosed concepts associated with enabling analytics of IoT data may be implemented (e.g., <FIG> and accompanying discussion). Generally, M2M technologies provide building blocks for the IoT/WoT, and any M2M device, M2M gateway or M2M service platform may be a component of the IoT/WoT as well as an IoT/WoT service layer, etc..

As shown in <FIG>, the M2M/ IoT/WoT communication system <NUM> includes a communication network <NUM>. The communication network <NUM> may be a fixed network (e.g., Ethernet, Fiber, ISDN, PLC, or the like) or a wireless network (e.g., WLAN, cellular, or the like) or a network of heterogeneous networks. For example, the communication network <NUM> may comprise of multiple access networks that provides content such as voice, data, video, messaging, broadcast, or the like to multiple users. For example, the communication network <NUM> may employ one or more channel access methods, such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single-carrier FDMA (SC-FDMA), and the like. Further, the communication network <NUM> may comprise other networks such as a core network, the Internet, a sensor network, an industrial control network, a personal area network, a fused personal network, a satellite network, a home network, or an enterprise network for example.

As shown in <FIG>, the M2M/ IoT/WoT communication system <NUM> may include the Infrastructure Domain and the Field Domain. The Infrastructure Domain refers to the network side of the end-to-end M2M deployment, and the Field Domain refers to the area networks, usually behind an M2M gateway. The Field Domain includes M2M gateways <NUM> and terminal devices <NUM>. It will be appreciated that any number of M2M gateway devices <NUM> and M2M terminal devices <NUM> may be included in the M2M/ IoT/WoT communication system <NUM> as desired. Each of the M2M gateway devices <NUM> and M2M terminal devices <NUM> are configured to transmit and receive signals via the communication network <NUM> or direct radio link. The M2M gateway device <NUM> allows wireless M2M devices (e.g. cellular and non-cellular) as well as fixed network M2M devices (e.g., PLC) to communicate either through operator networks, such as the communication network <NUM> or direct radio link. For example, the M2M devices <NUM> may collect data and send the data, via the communication network <NUM> or direct radio link, to an M2M application <NUM> or M2M devices <NUM>. The M2M devices <NUM> may also receive data from the M2M application <NUM> or an M2M device <NUM>. Further, data and signals may be sent to and received from the M2M application <NUM> via an M2M service layer <NUM>, as described below. M2M devices <NUM> and gateways <NUM> may communicate via various networks including, cellular, WLAN, WPAN (e.g., Zigbee, 6LoWPAN, Bluetooth), direct radio link, and wireline for example.

Referring to <FIG>, the illustrated M2M service layer <NUM> (e.g., IoT SL <NUM> as described herein) in the field domain provides services for the M2M application <NUM> (e.g., IoT device <NUM>), M2M gateway devices <NUM>, and M2M terminal devices <NUM>, and the communication network <NUM>. It will be understood that the M2M service layer <NUM> may communicate with any number of M2M applications, M2M gateway devices <NUM>, M2M terminal devices <NUM>, and communication networks <NUM> as desired. The M2M service layer <NUM> may be implemented by one or more servers, computers, or the like. The M2M service layer <NUM> provides service capabilities that apply to M2M terminal devices <NUM>, M2M gateway devices <NUM> and M2M applications <NUM>. The functions of the M2M service layer <NUM> may be implemented in a variety of ways, for example as a web server, in the cellular core network, in the cloud, etc..

Similar to the illustrated M2M service layer <NUM>, there is the M2M service layer <NUM>' in the Infrastructure Domain. M2M service layer <NUM>' provides services for the M2M application <NUM>' and the underlying communication network <NUM>' in the infrastructure domain. M2M service layer <NUM>' also provides services for the M2M gateway devices <NUM> and M2M terminal devices <NUM> in the field domain. It will be understood that the M2M service layer <NUM>' may communicate with any number of M2M applications, M2M gateway devices and M2M terminal devices. The M2M service layer <NUM>' may interact with a service layer by a different service provider. The M2M service layer <NUM>' may be implemented by one or more servers, computers, virtual machines (e.g., cloud/computer/storage farms, etc.) or the like.

Referring also to <FIG>, the M2M service layer <NUM> and <NUM>' provide a core set of service delivery capabilities that diverse applications and verticals can leverage. These service capabilities enable M2M applications <NUM> and <NUM>' to interact with devices and perform functions such as data collection, data analysis, device management, security, billing, service/device discovery etc. Essentially, these service capabilities free the applications of the burden of implementing these functionalities, thus simplifying application development and reducing cost and time to market. The service layer <NUM> and <NUM>' also enables M2M applications <NUM> and <NUM>' to communicate through various networks <NUM> and <NUM>' in connection with the services that the service layer <NUM> and <NUM>' provide.

In some examples, M2M applications <NUM> and <NUM>' may include desired applications that communicate using enabling analytics of IoT data, as disclosed herein. The M2M applications <NUM> and <NUM>' may include applications in various industries such as, without limitation, transportation, health and wellness, connected home, energy management, asset tracking, and security and surveillance. As mentioned above, the M2M service layer, running across the devices, gateways, and other servers of the system, supports functions such as, for example, data collection, device management, security, billing, location tracking/geofencing, device/service discovery, and legacy systems integration, and provides these functions as services to the M2M applications <NUM> and <NUM>'.

The enabling analytics of IoT data of the present application may be implemented as part of a service layer. The service layer is a middleware layer that supports value-added service capabilities through a set of application programming interfaces (APIs) and underlying networking interfaces. An M2M entity (e.g., an M2M functional entity such as a device, gateway, or service/platform that is implemented on hardware) may provide an application or service. Both ETSI M2M and oneM2M use a service layer that may include the enabling analytics of IoT data of the present application. The oneM2M service layer supports a set of Common Service Functions (CSFs) (i.e., service capabilities). An instantiation of a set of one or more particular types of CSFs is referred to as a Common Services Entity (CSE), which can be hosted on different types of network nodes (e.g., infrastructure node, middle node, application-specific node). Further, the enabling analytics of IoT data of the present application may be implemented as part of an M2M network that uses a Service Oriented Architecture (SOA) or a resource-oriented architecture (ROA) to access services such as the < enabling analytics of IoT data of the present application.

As disclosed herein, the service layer may be a functional layer within a network service architecture. Service layers are typically situated above the application protocol layer such as HTTP, CoAP or MQTT and provide value added services to client applications. The service layer also provides an interface to core networks at a lower resource layer, such as for example, a control layer and transport/access layer. The service layer supports multiple categories of (service) capabilities or functionalities including a service definition, service runtime enablement, policy management, access control, and service clustering. Recently, several industry standards bodies, e.g., oneM2M, have been developing M2M service layers to address the challenges associated with the integration of M2M types of devices and applications into deployments such as the Internet/Web, cellular, enterprise, and home networks. A M2M service layer can provide applications or various devices with access to a collection of or a set of the above mentioned capabilities or functionalities, supported by the service layer, which can be referred to as a CSE or SCL. A few examples include but are not limited to security, charging, data management, device management, discovery, provisioning, and connectivity management which can be commonly used by various applications. These capabilities or functionalities are made available to such various applications via APIs which make use of message formats, resource structures and resource representations defined by the M2M service layer. The CSE or SCL is a functional entity that may be implemented by hardware or software and that provides (service) capabilities or functionalities exposed to various applications or devices (i.e., functional interfaces between such functional entities) in order for them to use such capabilities or functionalities.

<FIG> is a system diagram of an example M2M device <NUM>, such as an M2M terminal device <NUM> (which may include IoT device <NUM>) or an M2M gateway device <NUM> (which may include one or more components of <FIG>), for example. As shown in <FIG>, the M2M device <NUM> may include a processor <NUM>, a transceiver <NUM>, a transmit/receive element <NUM>, a speaker/microphone <NUM>, a keypad <NUM>, a display/touchpad <NUM>, non-removable memory <NUM>, removable memory <NUM>, a power source <NUM>, a global positioning system (GPS) chipset <NUM>, and other peripherals <NUM>. It will be appreciated that the M2M device <NUM> may include any subcombination of the foregoing elements while remaining consistent with the disclosed subject matter. M2M device <NUM> (e.g., IoT device <NUM>, IoT server <NUM>, and others) may be an exemplary implementation that performs the disclosed systems and methods for enabling analytics of IoT data.

The processor <NUM> may perform signal coding, data processing, power control, input/output processing, or any other functionality that enables the M2M device <NUM> to operate in a wireless environment. The processor <NUM> may be coupled with the transceiver <NUM>, which may be coupled with the transmit/receive element <NUM>. The processor <NUM> may perform application-layer programs (e.g., browsers) or radio access-layer (RAN) programs or communications. The processor <NUM> may perform security operations such as authentication, security key agreement, or cryptographic operations, such as at the access-layer or application layer for example.

The transmit/receive element <NUM> may be configured to transmit signals to, or receive signals from, an M2M service platform <NUM>. For example, the transmit/receive element <NUM> may be an antenna configured to transmit or receive RF signals. The transmit/receive element <NUM> may support various networks and air interfaces, such as WLAN, WPAN, cellular, and the like. In an example, the transmit/receive element <NUM> may be an emitter/detector configured to transmit or receive IR, UV, or visible light signals, for example. In yet another example, the transmit/receive element <NUM> may be configured to transmit and receive both RF and light signals. It will be appreciated that the transmit/receive element <NUM> may be configured to transmit or receive any combination of wireless or wired signals.

In addition, although the transmit/receive element <NUM> is depicted in <FIG> as a single element, the M2M device <NUM> may include any number of transmit/receive elements <NUM>. More specifically, the M2M device <NUM> may employ MIMO technology. Thus, in an example, the M2M device <NUM> may include two or more transmit/receive elements <NUM> (e.g., multiple antennas) for transmitting and receiving wireless signals.

As noted above, the M2M device <NUM> may have multi-mode capabilities. Thus, the transceiver <NUM> may include multiple transceivers for enabling the M2M device <NUM> to communicate via multiple RATs, such as UTRA and IEEE <NUM>, for example.

The processor <NUM> may access information from, and store data in, any type of suitable memory, such as the non-removable memory <NUM> or the removable memory <NUM>. In other examples, the processor <NUM> may access information from, and store data in, memory that is not physically located on the M2M device <NUM>, such as on a server or a home computer. The processor <NUM> may be configured to control lighting patterns, images, or colors on the display or indicators <NUM> in response to whether the enabling of analytics of IoT data in some of the examples described herein are successful or unsuccessful (e.g., routing to or selection of AFs, etc.), or otherwise indicate a status of enabling analytics of IoT data and associated components. The control lighting patterns, images, or colors on the display or indicators <NUM> may be reflective of the status of any of the method flows or components in the FIG. 's illustrated or discussed herein (e.g., <FIG>, etc). Disclosed herein are messages and procedures of enabling analytics of IoT data. The messages and procedures may be extended to provide interface/API for users to request analytics related information via an input source (e.g., speaker/microphone <NUM>, keypad <NUM>, or display/touchpad <NUM>). In an addition example, there may be a request, configure, or query of analytics information, among other things that may be displayed on display <NUM>.

The processor <NUM> may receive power from the power source <NUM>, and may be configured to distribute or control the power to the other components in the M2M device <NUM>. The power source <NUM> may be any suitable device for powering the M2M device <NUM>.

The processor <NUM> may also be coupled with the GPS chipset <NUM>, which is configured to provide location information (e.g., longitude and latitude) regarding the current location of the M2M device <NUM>. It will be appreciated that the M2M device <NUM> may acquire location information by way of any suitable location-determination method while remaining consistent with information disclosed herein.

The processor <NUM> may further be coupled with other peripherals <NUM>, which may include one or more software or hardware modules that provide additional features, functionality or wired or wireless connectivity. For example, the peripherals <NUM> may include various sensors such as an accelerometer, biometrics (e.g., fingerprint) sensors, an e-compass, a satellite transceiver, a sensor, a digital camera (for photographs or video), a universal serial bus (USB) port or other interconnect interfaces, a vibration device, a television transceiver, a hands free headset, a Bluetooth® module, a frequency modulated (FM) radio unit, a digital music player, a media player, a video game player module, an Internet browser, and the like.

The transmit/receive elements <NUM> may be embodied in other apparatuses or devices, such as a sensor, consumer electronics, a wearable device such as a smart watch or smart clothing, a medical or eHealth device, a robot, industrial equipment, a drone, a vehicle such as a car, truck, train, or airplane. The transmit/receive elements <NUM> may connect to other components, modules, or systems of such apparatuses or devices via one or more interconnect interfaces, such as an interconnect interface that may comprise one of the peripherals <NUM>.

<FIG> is a block diagram of an exemplary computing system <NUM> on which, for example, the M2M service platform <NUM> of <FIG> and <FIG> may be implemented. Computing system <NUM> (e.g., M2M terminal device <NUM> or M2M gateway device <NUM>) may comprise a computer or server and may be controlled primarily by computer readable instructions by whatever means such instructions are stored or accessed. Such computer readable instructions may be executed within central processing unit (CPU) <NUM> to cause computing system <NUM> to do work. In many known workstations, servers, and personal computers, central processing unit <NUM> is implemented by a single-chip CPU called a microprocessor. In other machines, the central processing unit <NUM> may comprise multiple processors. Coprocessor <NUM> is an optional processor, distinct from main CPU <NUM>, that performs additional functions or assists CPU <NUM>. CPU <NUM> or coprocessor <NUM> may receive, generate, and process data related to the disclosed systems and methods for enabling analytics of IoT data, such as receiving analytics-related routing or selection messages.

In operation, CPU <NUM> fetches, decodes, and executes instructions, and transfers information to and from other resources via the computer's main data-transfer path, system bus <NUM>. Such a system bus connects the components in computing system <NUM> and defines the medium for data exchange. System bus <NUM> typically includes data lines for sending data, address lines for sending addresses, and control lines for sending interrupts and for operating the system bus. An example of such a system bus <NUM> is the PCI (Peripheral Component Interconnect) bus.

Memory devices coupled with system bus <NUM> include random access memory (RAM) <NUM> and read only memory (ROM) <NUM>. Such memories include circuitry that allows information to be stored and retrieved. ROMs <NUM> generally include stored data that cannot easily be modified. Data stored in RAM <NUM> can be read or changed by CPU <NUM> or other hardware devices. Access to RAM <NUM> or ROM <NUM> may be controlled by memory controller <NUM>. Memory controller <NUM> may provide an address translation function that translates virtual addresses into physical addresses as instructions are executed. Memory controller <NUM> may also provide a memory protection function that isolates processes within the system and isolates system processes from user processes. Thus, a program running in a first mode can access only memory mapped by its own process virtual address space; it cannot access memory within another process's virtual address space unless memory sharing between the processes has been set up.

In addition, computing system <NUM> may include peripherals controller <NUM> responsible for communicating instructions from CPU <NUM> to peripherals, such as printer <NUM>, keyboard <NUM>, mouse <NUM>, and disk drive <NUM>.

Display <NUM>, which is controlled by display controller <NUM>, is used to display visual output generated by computing system <NUM>. Such visual output may include text, graphics, animated graphics, and video. Display <NUM> may be implemented with a CRT-based video display, an LCD-based flat-panel display, gas plasma-based flat-panel display, or a touch-panel. Display controller <NUM> includes electronic components required to generate a video signal that is sent to display <NUM>.

Further, computing system <NUM> may include network adaptor <NUM> that may be used to connect computing system <NUM> to an external communications network, such as network <NUM> of <FIG> and <FIG>.

It is understood that any or all of the systems, methods and processes described herein may be embodied in the form of computer executable instructions (e.g., program code) stored on a computer-readable storage medium which instructions, when executed by a machine, such as a computer, server, M2M terminal device, M2M gateway device, or the like, perform or implement the systems, methods and processes described herein. Specifically, any of the steps, operations or functions described above may be implemented in the form of such computer executable instructions. Computer readable storage media include both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, but such computer readable storage media do not include signals per se. As evident from the herein description, storage media should be construed to be statutory subject matter. Computer readable storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other physical medium which can be used to store the desired information and which can be accessed by a computer. A computer-readable storage medium may have a computer program stored thereon, the computer program may be loadable into a data-processing unit and adapted to cause the data-processing unit to execute method steps associated with enabling analytics of IoT data operation when the computer program is run by the data-processing unit.

In describing preferred methods, systems, or apparatuses of the subject matter of the present disclosure - enabling analytics of IoT data - as illustrated in the Figures, specific terminology is employed for the sake of clarity. The claimed subject matter, however, is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents that operate in a similar manner to accomplish a similar purpose.

The various techniques described herein may be implemented in connection with hardware, firmware, software or, where appropriate, combinations thereof. Such hardware, firmware, and software may reside in apparatuses located at various nodes of a communication network. The apparatuses may operate singly or in combination with each other to effectuate the methods described herein. As used herein, the terms "apparatus," "network apparatus," "node," "device," "network node," or the like may be used interchangeably. In addition, the use of the word "or" is generally used inclusively unless otherwise provided herein.

This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the invention is defined by the claims.

Claim 1:
An apparatus (<NUM>) for operating an analytics management service, AMS, (<NUM>) at an Internet of Things, IoT, network service layer, SL, the IoT network SL providing service capabilities as middleware between application protocols and applications through a set of application programming interfaces, APIs, the apparatus comprising:
a processor; and
a memory coupled with the processor, the memory comprising executable instructions that when executed by the processor cause the processor to effectuate operations comprising:
receiving from an application a request to create an AMS policy for analyzing IoT SL data, wherein the AMS policy specifies a selective analysis to be performed on the IoT SL data by configuring one or more Analytic Functions, AF, (<NUM>) of the AMS in the IoT network SL to perform an analysis on the IoT SL data, the AMS being configured with multiple AF to analyze IoT SL data from multiple sources, and wherein the AMS policy defines how analytical results received from the one or more AF (<NUM>) are stored in the IoT network SL and how to access the analytical results in the IoT network SL, wherein the AMS provides authorization allowing IoT SL entities without access to an original location of IoT SL data access to selected portions of the IoT SL data in the IoT network SL based on the analytical results;
based on the received request, creating the AMS policy;
configuring the one or more AFs (<NUM>) according to the AMS policy; and
executing the analysis based on the configured one or more AFs (<NUM>).