Internet of Things - IOT Interoperability and Challenges

Internet of things is a concept that associate world with tech-systems to communicate in a manner that is easy and automated. Over past decade the idea became true focus for researchers and industrial domains. IOT is a technology of future that is rapidly growing every day with perceptions, providing humans control and update of things. The awareness of devices interaction and communication is coming from years but still struggling to be accepted by industries and organization due to lack of standardization. This study addresses IOT platforms limitations and interoperability challenges through reviewing scholarly papers. Also internet of things history and cloud computing role in IOT are briefly described.

I. Introduction
There is no proper definition for IOT, the name itself contains meaning -all the devices (things) interacting to each other via medium (internet) over pre-defined manufacture's platforms. Internet of thing give logical nature for all connected devices through internet and establish communication structure. Things belong to our environment from small to large connected to internet collaborating and exchanging information are members of IOT, that is reducing human interaction with machines, providing access to device to make discussions. Idea to control electric devices remotely was initiated in 1990's [X] and still is in phase of full deployment in various areas like logistics, smart homes, environment, wireless sensors etc. Sensors provides platform between devices and users to interact, also change raw data for device to specific machine format to understand easily. All data transfer between connected devices performed through appropriate medium (wired or wireless) e.g. fiber, Bluetooth, RFID, IEEE 802.11 etc. IOT is widely spread approach and becoming a requirement everywhere. Wired medium is known as a reliable medium for communication, IOT devices can also be connected through wire but it cannot be set up everywhere.
Involvement of IOT proven beneficial towards industries, academic, financial and transport sectors. Things includes all the objects not only that are considered by humans everyday but other products like gadgets, landmarks, clothes, food items, specialized equipment, fruits, plants, transport etc. listed under IOT. Architecture of IOT is basically classified into applications, transpiration and processors [XIII].
In this paper we discussed short background of IOT, detailed literature review of research papers -identifying IOT platforms and challenges. Further discussed few IOT applications, cloud computing with IOT and design comparison table.

Background
Things started connecting since 1989 (internet birth). First internet device (toaster) was created by John Romkey in 1990 that can perform function (ON, OFF) through internet. Steve Maan created wear cam in 1994. Kevin Ashton, executive director of Auto-ID Center in MIT suggested the name "Internet of Things" (1999) and also created RFID same year. It was later (2003) installed in US army program (Savi). In 2005 articles about IOT and its future were cited and same year report on IOT was published by International Telecommunications Union. [X, XIII] II. Literature Review Amelie Gyrard and et al had briefly discussed on communication between IOT applications based under different domains and proposed a framework called "M3 Framework".
M2M is one way of communication between machines. IOT applications do not interpret data, as there are domains specify and not interoperable due to different set of concept in domain area, domain experts do not share it publically. Paper describes M3 framework design to build interoperable cross domain IOT applications. Steps includes -understanding multiple domains platform, attaching additional information to heterogeneous domains, choosing common names for M3 to define senor measurement.
No interoperability in IOT application is due to lack of standardization, belonging to technologies, data formats, platforms etc. Cross domain IOT application interaction is useful for many reasons. Paganelli et al. give ideal to develop Web of things applications for we services but forget to combine domains. Cross domains interoperability has some limitations which are describe in this paper are that: combine different set of concepts of cross domain but did not specify which one, difficulties face in combining domains.
Solution for the limitation, M3 framework is designed by authors. Framework consists of several layers communicating with each other's internally. Perception layer deals with physical devices like actuators, sensors, RFID tags etc. Data acquisition layer receives sensor data from devices in SenML format and convert it on the basis of M2M measurement concepts. Persistence layer stores information of domains. Knowledge management layer has job to indexing, reusing, designing and merge domain knowledge. Reasoning layer uses reasoning engine to deduce knowledge. Knowledge query layer has to run queries. Application layer give output to users screen.
The M3 framework consists of following steps. User provides an input and framework consider an application templates fulfill user needs. In next step user will pick one of the provided templates. Framework by its self will generate the template chosen by the user earlier to design IOT application. After then user will send data and data will be converted by M3 converter. Next reasoning engine will run with rules of selected template and triple store will store the data. In next step framework will generate the query using M3 SPARQL. Finally result will be displayed to user [III].
In the whole paper author describe about IOT devices and there limitations that every devices has its own separate domain. Different domain device are not compatible to communicate with each other unless they bring in to same domain. Paper proposed a framework for cross domain interoperability and has been tested on android platform.
Article discussed about the middle layer that perform as a platform for the connectivity of IOT devices. Platform should have the information about IOT devices provider, manufacture, developers and user whom will be using this devices. Different platforms are evaluated, rather they fulfill user requirements or not. Gap analysis will highlight the flaws in today's solution and will help them to improve their IOT ecosystem for future.
Internet of Things moves traditional environment towards smart environment such as: smart houses, smart cities, smart cars etc. Now days there are many solutions that interconnect home appliances to communicate. Article compares all the features of IOT applications and platforms that provide an important role to connect device to the cloud. Main theme of the article is to demonstrate the gap analysis of current platforms in respect of their capacities. To fill these gaps and evaluate the limitation of different platforms, authors conducted survey from the experts of national Finnish IoT program to find the future issue of IOT platforms and on the basis of these issues they pointed some suggestion to fill the gaps.
Section 2 listed almost 39 available IOT platforms in a table manner. Columns represent the characteristics of the platforms mentioned in rows. Color codes are used to clarify the platform characteristic. Green indicates "meets expectation", red for "miss match" user expectation and orange for partial expectation. This will give a quick and summarized view of the platform and will ease the selection.
Characteristics summarized in the table are presented in this section. Several dimensions are covered in gap analysis which identifies the functionality of IOT platforms.
platform should provide a set of standardized protocols after that device manufacture will choose one of the protocols.
Data Ownership:We analyze that when data is stored over the cloud, most of the time data owner do not have full access control and data is stored is raw format at the back end without any encryption. End user requires authentication key to get read and write permission. Authors present an ideal for future IOT platforms that data owner should have rights to give access to predefine resources and end user will have control on raw data. Before sending data to cloud (PaaS) data owner can encrypt the data.
Data processing and data sharing:Data processing in IOT is a big challenge because of real time requirement. Sometimes IOT data is unreliable and incomplete. Multiple data steams can be process and combine virtually in an application if URL of one is known; this is difficult task for application developers. Security and privacy mechanisms must be develop in IOT platform for the protection of data stream. Support of application developers:Developers should be provided streamlined APIs (quality) by IOT platforms. Development of future APIs shall uniform for all platforms. APIs usually perform basic operations like DEL, GET, PUT but these operations are interactive only to the connected devices.
Toward IoT ecosystem formation:To process IOT ecosystem, the platforms should be able to adopt new features and should be easy for developers to expend applications based on the platforms. Cross IOT domains that server as a single ecosystem to provide application services and new feature products, for this IOT broker is needed which will provide services sharing, space and time to different platforms.
Dedicated IoT marketplaces:Cloud based software's are available at the software marketplace. These applications can be easily found on Apple store or Google play. Store support for paid applications is provided to end users. Some IOT platforms have dedicated stores for applications, few provides publically shared applications and other charge users for cloud storage. According to McKinsey companies produce massive amount of data by business but only use or process normal amount of data; they should use this sensor data for the prediction and produce more business. However they need expert analyst for this development and such IOT marketplace will give boost to business to business interaction. Windows Azure is an example of successful model for business that provides business a platform to share their data which will allow application developers availability at huge amount of data [V].
The article analyze gap between IOT platforms and evaluate multiple numbers of available IOT platforms based upon their capabilities.
Authors in this paper discussed about the security issue in IOT system. As IOT is one of the most wanted interconnected devices network now days, that connects different devices and enable communication between them. Anything connected to the internet must have security issue. Authors proposed a conceptual model "APPARATUS" for IOT security which is architecture oriented model and considers IOT system as cluster of connected networks (nodes).
One of IOT vision was provided in 1991 by Weiser, he said that most technologies will merge with environment. There are number of security issues already be described like algorithms used in for encryption in embedded device are week. Effective way of for system security is to do security practice at development stage. Also identify security issues and requirements at requirement gathering stage. Security requirements for any IOT system should be same. APPARATUS model gather information from IOT system architecture to identify security issue. Architecture of a system provides information about network topologies and nodes in networks where as some features of IOT systems are not expressed like users etc. To know the limitation "micro world" concept is used, that analysis's the system in managed environment. APPARATUS can easily be integrated to existing security frameworks that are been using for many years for security analysis.
Authors discussed some related work about security requirements that have been used in development stage for security analysis. Security challenges are define in Gurgens paper about embedded system. He says for embedded systems security tool have to be made that fitted to their needs. Framework to evaluate security in IOT system Ge introduce graphical model of security that evaluates IOT system in levels. The framework is not limited to only one system same as APPARATUS model. Diaz said many IOT tasks depend on cloud. He further said that IOT will act as a middle layer that will send all data to cloud for processing. APPARATUS model will help the designers to easily fetch security requirements from IOT system structure. APPARATUS model first step of security inspection is that from where the security needs are found in IOT system. Secondly provide full security analysis to IOT system. IOT structure is defined as a cluster of multiple nodes that are connected. Each node has their own properties that they perform in a system. APPARATUS is defined in to two concepts: IOT nodes and Network connections.
Properties of IOT nodes are defined as: Identification:An ID is assigned to each stakeholder to identify their properties and roles in respective nodes of IOT system. Aspect:Specifies the node either it's a single physical node or produced of multiple sub nodes. Layer:Some architecture identify five layers, some identify seven layers. As a reasoning model APPARATUS choose three layers of architecture. It provides properties that are necessary for security of IOT system. Type: Describe the type of node. Device could be wearable, server or sensor etc. Attribute: It defines the capability of a node. Node that can only sends the information to the network cannot perform any other task. Other node can only receive the information. Whereas node that can do both send and receive information is best suited node in IOT system. When node in IOT system performs multiple tasks that node is produced by multiple sub nodes.
Input & Output:Input data is processed by nodes to produce an output result.
IOT nodes are connected to each other through network connection. Network medium can be wireless or wired [IX].
Author K.E Psannis and et al have well described about limitations of IOT, Mobile Cloud Computing MCC, advantages of MCC and MCC in business. IOT technology is the part future where everything will be communication to each other through internet. IOT generates massive amount of data which is send to their destination via cloud. MCC includes mobile devices having some additional advantages.
IOT is not limited to specific number of devices. IOT structure needs dedicated support for access the services. Humans and things can be connected anywhere at any time through internet. Components of IOT exchange information without human which consume a lot of energy to complete task. The term Green IOT is used which means to save energy while communicating. Some limitation of technologies that are used is IOT are discussed in this paper. For example: Architecture technology: that gives connectivity able to perform interactivities between distributed systems. Architecture model should be capable for providing interoperability for different systems.
Data Storage: Capacity of data coming from IOT devices is growing day by day which requires more space.
ID technology: Every IOT device should have unique ID. Device ID also helps to differentiate between characteristics of the devices.
Organization need there data to be secure. Encryption technologies are used to secure data but future goal is to make data more secure by using efficient encryption algorithms.
Implementing software for distributed systems in a difficult task. Database with high performance which allows the management of the large amount of data gathered through the interaction between devices and humans connected to different network is required by IOT.
MCC has same characteristics as CC only devices are mobile. In this section of paper author handsomely describes few important advantages of MCC. Flexible architecture that provides full services to users. Architecture model consists of four main services i.e. Saas, PaaS, Iaas and data center. Each service is paid and charge per usage. MCC gives unlimited data storage on cloud through internet. In MCC data storage and data processing are performed on cloud which reduces processing of data on mobile device. 4G technology is capable to receive and transfer huge amount of data to cloud in less time. Major advantage of CC is that all the hardware component like storage, servers are offered by service providers. User's requests to central processors of cloud with a unique ID. Operator at cloud side required user for authentication. Requested data is delivered to cloud and service is provided to subscriber. Cloud based service providers, users are provided security model for data privacy and security. Software installation and updating is done vendors. Demand to increase services, storage are deployed quickly by vendors. Data backup is taken by the service provider and in case of any disaster data recovery is easy. Cloud applications are easy to use from anywhere and at any time. Applications can be accessible from any location without any device or place restrictions, just need to be connected to the internet. MCC applications can be accessible offline through HTML 5, which give user good experience with the application even the device is not connected to the internet. Battery time is also a limitation, to improve battery time large and complex computation tasks can be processed on cloud servers.
In past few years IOT and MCC provide great technical advantages to business. List of IOT applications that give business a great support in service sector. In logistics if vehicles and product packets of different things communicates to each other and share their location, weight gives new business trend. Health and care sector using IOT device can access real time information of patient [VI].
Sejun Lee and et al explain more intensively about IOT devices that are used in smart homes. With their great work they had proposed a concept of auto configuration of DNS for IOT devices. IOT enable devices to connect, communicate with each and do sharing through cloud. In IOT smart homes some devices with high specification e.g. washing machine, LCD etc. are known as high capacity devices. Other devices are low capacity devices e.g. light, sensors -requires less computation but are useful for management and monitoring purpose. When device request to connect to the internet -IP address, subnet mask gateway and DNS are automatically assigned to that device. At some level DNS still need to be configured manually. In IOT structure manual configuration of DNS is time taking task due to the large number of connected devices.
Ipv6 Stateless concept is that device will automatically assign IP to itself without getting it from DHCP server. Devices by default had some configuration known as factory configuration which includes device category like TV, Fridge, Mobile and device models (name of manufacture, ID) .IOT device gets DNS search list from RA (Router Advertisement) or DHCPv6. Auto DNS name configuration procedure is divided in to two phases. First IOT device as host receives DNSSL through RA or DHCPv6 and check if it is valid. Then look for DAD (Duplicate Address). Node Information query is sends by router to host in the same subnet. Host replies with NI to get DNS name. Then router saves IOT device DNS information in DNS server. Control device get DNS list from DNS server and can monitor and control IOT device through DNS name [XII].

Interoperability
Amelie and et al has well described the importance of semantic web technologies for IOT based applications. In IOT device are connected to each other and communicate with each other through the internet. All devices are domain specifies -devices with different domain are not able to interact with each other. Due to specific domain limitation M2M application are not interoperable.
This research provides unified system that enables the interoperability semantic IOT applications. Authors designed SWoT (Semantic Web of Things) generator that will provide the developers of IOT application a template with all required files to implement semantic web IOT applications. Main idea of providing this approach to IOT developers is that they will not use their own models nor interpret data by designing own set of rules.
Machine to Machine Measurement M3 Framework: Purpose of SWoT is to ease work of developers and help to implement IOT projects. SWoT generator design templates for IOT applications using inputs (sensors) and domain knowledge provided by developer. SWoT generator is an important component of M3 framework. The framework consists of three steps. First information about sensor and domain as an input is given by the developer to SWoT generator to create SWoT template. Template is necessary for IOT application implementation and also has information for interoperable domains. In the next step developer attach additional data information with M3 converter to get M3 data which will be needed in next step. In last step developer gets concluded M3 data. SPARQL (query language of semantic web) query executes and domain information fetch from template is loaded by developer.
IOT application template dataset: SWoT generator make SWoT template by demanding dataset of IOT application. Domain knowledge is needed for IOT plans. Generating new templates are easy; just need input dataset and domain knowledge.
Interoperable domain knowledge: For designing templates for SWoT applications without interoperable data and set of rule it is difficult task. For this we should have the knowledge of cross domains, datasets and rules about IOT data.
Designing, Developing and Running the Application: Design phase help developer to select application that has to be deploying by template through semantic web query. At developing stage developer loads the program with data and rules and arranges data to implement application. Running level application gets run time input by end users.
Authors show the benefits of their work by use cases. Cloud developer can easily use M3 framework. Developers select template by choosing inputs, domains and download the SWoT template. Then they use M3 converter. If developer is not use to Jena then it would be difficult task for him. Jena is a kind of framework use to implement web applications. Few code lines need to be coded to load M3 data. All required information by template is loaded and query is executed available in M3 template. Lastly developer will display result in user interface. Cross domain applications are designed by combination data sets and set of rules of two different domains.
Assisting IOT Projects: SWoT generator help in projects to design IOT application through proposed template with multiple domain knowledge. Below figure 1 shows detailed knowledge about the implementation of interoperable IOT applications with the help of M3 framework.

Figure 1: SWoT generator of IOT applications [I]
Like smart home lights are switched off if no one is present. In health care scenario continue information of patient such as blood pressure, heart rate etc. is observed and alert is send to doctor if needed. SWoT template can also assist with health care and can implement smart application which can suggest a medicine or treatment through interoperable knowledge of domains [I].
Amelie et al have gently described the importance of semantics and its integration with IOT based architectures in this paper. Authors work hard and designed semantic engine which can help to integrate different constituents of IOT architecture such as: Cloud, smart phones and machine to machine gateways. Billions of heterogeneous devices needs to communicate with each other to share information which is only possible with cross domain integration and interoperable IOT applications. Authors said they go through the recent work and underlined some points for future IOT applications i.e. interoperability among different domains, data summarization and ease the development. Semantic engine can perform such task and can be integrate with components of IOT structure mentioned above.
Main purpose of semantic engine is to accept components of the architecture as introduced in beginning. To design IOT application on small devices with limited CPU, memory and power -we need to filter and fetch only what is need to construct the application. Below figure 2 shows five components of semantic based architecture. Five components of the architecture are defined as; Template catalogue is a collection of defined templates with already selected interoperable domain concepts. This mechanism is important for interoperability between apps, data explanation and IOT apps easy development. Converter attaches additional information to data. Data is collected from different projects. To explain interoperable data unified language is applied in converter. This mechanism is important for data explanation and IOT apps easy development. Reasoning engine gather the complexity out of IOT data. This mechanism is important for data explanation. Data is queried in query engine that will be used in the next phase. This mechanism is important for IOT apps easy development. At last phase application is used by users. The mechanism should fulfill the different requirements of people.
Authors further discussed about embedding cloud, mobile and gateway with semantic engine and advantages of architectures. In cloud-IOT architecture application downloads the required template and additional sensor data is attached with converter. After that rules are loaded to the application and data executes in query engine. User friendly interface can be designed as a final application. Advantage of cloud-IOT architecture is to interpret data from internet when privacy is not the priority. In mobile-IOT and gateway architecture first internet connection is required to get the template from template catalogue. After downloading the template remaining components are executed connectionless. Mobile-IOT and gateway architecture gives advantage of local data processing instead of sending sensor information to the cloud. Reduce the network traffic and increase the data privacy [II].
Zhexuan et al have proposed an application layer solution for different devices to communicate. First, the information about the device provides by current specifications are used and place them in the middleware of proposed architecture. Secondly, user will be able to create and execute different tasks by using different web technologies. This structure will enable the interoperability without any change in the existing technologies.
In coming years IOT is expected to bring change in the way of communication between devices. Every object will be provided internet connectivity to interact with other device and introduce new services for the end users. Author highlighted very important scenario of new devices launching. With new devices arrival, new tasks also take place that how to provide interaction between heterogeneous technologies. Few well known standards are defined for interoperability i.e. Bluetooth, Universal Plug and Play UPnP etc. When different standards interact with each other for communication they had agreements before sharing their services which makes it difficult to connect devices dynamically. Solution is to create adopters of each standard and extend them to others but the solution also has some drawbacks. If there are any changes in one standard, the adopter has to be modified according to the changes. To provide interoperability for N standard, N numbers of adapters needs to be generated. Bridge between standards can also be the solution [XIV]. Author advice the use of Service layer where all devices are mapped to semantic service and service should linked with OWL. Benefit to this is that it does not require any extra effort from device production. The framework explains the interoperability of different device services. OWL's stands for Ontology Web Languages and is designed to represent knowledge about things and relations between them.

III. Cloud Computing and IOT
Required services consumed from providers as planned ahead over the internet in known as cloud computing. Companies can start with small resources and increase depend later if required. Cloud computing is new technology for hosting and supplying service (SaaS, PaaS, IaaS etc) but the idea behind this is not new, in 1960 John McCarthy [XI] already said that in future computing services will be accessible to users publically.

Figure 3: Cloud and IOT Devices [VIII]
Connected devices ratio crossed the number of humans and projected number of things connected in 2020 is 24 billion, handling that amount of data is not an easy task. Devices have their default storage but its limited -storing that huge and growing amount of data needs permanent, reliable, secure rental service that can provide additional data storage and processing speed [VIII]. Cloud computing integration with IOT can leads to solve much problems faced against storage limitation, data integrity, security, QoS and resources allocations etc.

IV Limitations
The idea of technology "IOT" is to minimize gaps between physical things and to be more interactive in a way -they can exchange relevant data consuming lesser time. Although in past decade lots of research have been done in this area which in a result provide different sectors i.e. organizations, Gov. Sectors, logistics, home automations, smart cities etc. much benefits. On other side there are few limitations faces in IOT paradigm that causes applications to perform tasks on time.
Multiple challenges in IOT includes; data management, as all connected things are breeding lots of data every sec which is difficult for existing infrastructure to deal with. Data mining, as data is increasing day by day which needs to be process / analysis using data mining tools. Other than traditional data (plan text, tables) IOT data also contains streaming data i.e. location, temperature, chemical changes etc. which is challengeable task for data mining tools to address immediately. Security challenge, as rapidly growing IOT network -security threats are also increasing. IOT has security issues due to lack of encryption, web interfaces are not secure, less software protection and authorization. To prevent against IOT security concerns developers should integrate security solution, include firewalls etc. into product and educate users to use built-in devices security features [IV].
IOT architecture is also a challenge for service based things in terms of cost and performance. Large number of devices connected in a networks leads to scalability issue in multiple aspects i.e. managing and transferring data etc [VII].

V. Conclusion and Future Work
IOT technology bringing massive variations in daily live, help devices get connected with other manufacturing device to ease and reduce human effort. Besides the advantages there are few flaws in the technology. Lake of standardization and different platforms, every manufacture have their own built-in platform that leads to difficulty while establishing connections and exchanging information. Rather than using third party platforms, a platform should be implement that is compatible with all different manufactured devices which can make things interoperate and provide more secure medium. A set of rules should be listed for devices that want to join IOT area before get connected. Talking further, IOT is a method of bringing thing under a single umbrella and when things increases the transfer rate also increase, for that reason high bandwidth internet is recommended because appropriate medium for IOT is wireless.


extfieldsofstudy:
Mathematics
Computer Science

text:
The particle track reconstruction based on deep learning neural networks

One of the most important problems of data processing in high energy and nuclear physics is the event reconstruction. Its main part is the track reconstruction procedure which consists in looking for all tracks that elementary particles leave when they pass through a detector among a huge number of points, so-called hits, produced when flying particles fire detector coordinate planes. Unfortunately, the tracking is seriously impeded by the famous shortcoming of multiwired, strip in GEM detectors due to the appearance in them a lot of fake hits caused by extra spurious crossings of fired strips. Since the number of those fakes is several orders of magnitude greater than for true hits, one faces with the quite serious difficulty to unravel possible track-candidates via true hits ignoring fakes. On the basis of our previous two-stage approach based on hits preprocessing using directed K-d tree search followed by a deep neural classifier we introduce here two new tracking algorithms. Both algorithms combine those two stages in one while using different types of deep neural nets. We show that both proposed deep networks do not require any special preprocessing stage, are more accurate, faster and can be easier parallelized. Preliminary results of our new approaches for simulated events are presented.

Introduction
One of significant parts of the event reconstruction in particles track detectors in modern high energy and nuclear physics (HENP) is the tracking procedure that consists in finding tracks among a great number of so-called hits produced by flying particle interaction with sequential coordinate planes of tracking detectors. This procedure is especially difficult for modern HENP experiments with heavy ions where detectors register events with very high multiplicity.
Besides, while working on BM@N experiment [1] we have faced with the famous shortcoming of GEM strip detectors when a great amount of fake hits appears along with real hits because of extra spurious crossings of strips. The number of those fakes is greater for some order of magnitude than for true hits (see [2], for example).
A common method for dealing with track reconstruction is the combinatorial Kalman filter, which has been used with great success in HENP experiments for years [3]. However, the initialization of Kalman filter is a cumbersome process, because of a really vast search of hits needed to obtain so-called "seeds", i.e. initial approximations of track parameters of charged particles.
There is a common opinion that machine learning algorithms could make a great contribution to the tracking problem due to their capability to model complex non-linear data dependencies. Keeping in mind the sequential nature of any tracking detector, we have proposed a two-step approach to the particle track reconstruction in BM@N GEM detector based on deep learning methods [2]. The first preprocessing step was devoted to a directed search of track-candidates. This procedure goes through all hit points at every detector station, starting from the first one and extending current track candidates by one hit to the next station also taking into account possible target coordinates. To speed up this preprocessing procedure, we took into account the direction of the magnetic field to arrange the search in two coordinate projections simultaneously. On YoZ projection, tracks are almost straight lines. Thus, merely by sorting hit indices array by y coordinate, making a confidence interval and executing a binary search, we can exclude all hits that are not in the confidence interval. For the XoZ projection, where the tracks look like circles, we enable a limited rotational component. The limitation is on the change in the rotation that should not change substantially. K-d tree data structure is used to bind the searching area of each continuation of track-candidates. After doing the first step of our tracking we obtain a bunch of track-candidates, which should be divided into two groups: real tracks and, so named, ghost tracks formed by fakes and, possibly, by parts of different tracks. To addressing the classification task, we utilized a deep recurrent neural network (RNN) as a classifier. The best results of validation efficiency were obtained by the combination of one convolutional layer and two GRU layers [4] one after another. As the result, we reach the testing efficiency 97.5%. Trained RNN can process 6500 track-candidates in one second on the single Nvidia Tesla M60. The full algorithm description one can find in [2].
In the given work we improve two-step tracking model in order to overcome its disadvantages by combining two-steps in one end-to-end trainable deep learning network. We propose two different approaches to realize our idea. The first approach, although it remains sequential, due to a significant change in the structure of the neural network and its loss function it combines both stages in one end-to-end pass.
The second approach overcomes the sequential nature of the tracking algorithm since it uses a completely different neural net as a type of a YOLO-like [5] convolutional neural network with CoordConv layer [6].
Both new approaches do not need any preprocessing, much better suitable to be parallelized and should outperform their progenitor in speed and accuracy.

Sequential tracking with one RNN
The previous two-step tracking does not have a suitable performance due to spending a lot of time while building a K-d tree structure for every event always from scratch. Thus, we decide to come up with a neural net model, that can predict both the probability whether or not they belong to a true track, and the searching area for the continuation of trackcandidate on the next coordinate plane based on the input set of points.
Model architecture. To build a new model we changed considerably our deep RNN classifier from its structure described in [2] by replacing the bidirectional GRU layer with the regular one-directional (it reduces the number of neurons by half in every recurrent layer), by removing the dropout layers and, eventually, by adding to the output layer a special regression part needed to predict an elliptical area intended to search for the trackcandidate continuation on the next coordinate plane.
This regression part consists of four neurons, two of which with linear activation function determine the ellipse center and another two -define the semiaxes of that ellipse.
Neurons, which predict the semiaxes of ellipses have softplus activation [7]. Our new model, presented on figure 1, takes, as input, sets with the different number of hits in them: from two (target and zero station's hit) up to N, where N is the number of detector readout stations. For N=2 the output will be presented by the regression part only, whilst for the sequences of the maximum length N, the output consists of the only one sigmoid neuron, since we do not need to seek for the next point on the very last station. Cost function. To train the proposed new model we introduce an ad hoc cost function, defined as follows: where λ1-3 are the weights for each part of equation; p is the label that indicates whether or not the set of input points belongs to true track; p' is the probability of track/ghost to be predicted by network; x', y' are coordinates of the ellipse center , predicted by network; x, y are coordinates of the next point of the true track segment; R1, R2 are semiaxes of the ellipse; ( , ′ , , is a balanced focal loss [8] with a weighting factor ∈ [0, 1]. Introduction of such a weighting factor is the common method for addressing any class imbalance. We set α = 0.95. The idea of the focal loss function is to down-weight well-classified examples and thus focus training on hard negatives. The focusing parameter (we set it to 2) smoothly adjusts the rate at which easy examples are down-weighted.
While dealing with fake tracks we do not need to consider the error attended to ellipse size and position, for that reason we put the label p before the second part of the equation. Thus, when the label is 0 (= ghost), we multiply the error of the regression part by zero. And, on the contrary, the max( 1 , 1 − ) is utilized to focus on the classification error, when the regression part is turned off.
Summing up briefly all above mentioned, the equation (1) consists of three parts corresponding to λ1-3: classification loss, point in ellipse loss, ellipse size penalization.
Dataset and training setup. To compare results we use the same dataset, prepared in [2], for two-stage tracking for training and evaluating the new model, namely, 15 thousand events with 20-30 tracks per event were simulated and labeled then by K-d tree search for obtaining the bunch of labeled track-candidates (seeds). Eventually, we obtained 82 677 real tracks and 695 887 ghosts. During every training iteration, the training set of seeds is split into three groups of track-segments containing a different number of points (from 2 to 6). For each of these seeds, the network should predict the probability whether that set of points belongs to a true track (except 2 points) and also an elliptic area, where to search for a track continuation (except 6 points). Deep RNN has been trained with 1 = 0.5, 2 = 0.35, 3 = 0.15, = 0.95, = 2 for 50 epochs with batch size equals to 128 and Adam optimization method. The loss value on the test subset of dataset after training stabilized on 0.019.
Results of the model evaluation on the test subset of data (250K of seeds with the factor of 1:10 -one true track opposite to ten ghosts) are presented in table 1. We have leveraged several metrics to test the model correctness to predict belonging of inputs to true tracks. They are known in statistics as accuracy, precision, and recall [9]. Accuracy (also known as efficiency) is the fraction of predictions our model got right, but it becomes useless while dealing with an imbalanced dataset. Therefore, precision and recall metrics are used in these cases as more informative. Precision tells us how many of the objects classified as true tracks were correct. Recall means how many of the objects that should be marked as true tracks were actually selected. Thus, recall expresses the ability to find all true tracks in a dataset, while precision expresses the proportion of data, our model says was true, actually were true tracks.
In our study, we speed up significantly our deep network calculations by using multicore computational systems and multiprocessor graphics cards or GPUs via the facilities provided by the JINR supercomputer GOVORUN [10]. The speed of the test run has reached 3 483 608 track-candidate/sec on 2x Tesla V100.

Look Once On Tracking
As it was mentioned above, all existing algorithms for tracking are sequential. Also, most of them do not see the whole picture, they are limited only to individual trajectories pass while trying to ignore the neighbors. Instead, we unify the separate components of tracking into a single YOLO-like convolutional neural network [5]. Our network consumes the whole event as, if it is a picture, but instead of RGB channels we replace them by discretized contents of detector stations considering each of them as a channel in depth. In this way, we obtain the input tensor which depth equal to the number of stations, its width and height depend on the resolution of the detector, i.e. the size of the biggest station. This means our model represents the whole event with all tracks and noisy hits in it on the global level.
We named our model LOOT, which means «Look Once On Tracks». The design of the LOOT allows end-to-end training and obtaining high processing speed, because of avoiding of the sequential problems while maintaining high average precision. Every coordinate plane for every station is divided into a grid with the size of the biggest station depending on the selected resolution. Each grid cell may have in it either a hit the value of such cell equals to 1, otherwise 0. Withal, hit may be a fake.
Each grid cell predicts X and Y shifts from the current position on the grid to every next point of the track together with the probability that there is a true track in a cell called confidence score. This means our network predicts 11 values for the tracks registered by 6 stations and the confidence score value. In more details, 5 X-axis shifts and 5 Y-axis shifts with respect to the corresponding cell indexes ij, where shifts are simple indents, for instance, if the current hit's position is in the point (2, 3) and the next is in the (4, 1) , then X-shift will be 2 and the Y-shift will be -2. The confidence score is a probability of the grid cell to be the point of some track. If no track exists in that cell, the confidence score should be near zero. Thus, each grid cell can include only one track.
During the testing, we set to zero all cells which confidence score is below some threshold (say, 0.5), and then use it as a mask, multiplying by the predicted shifts.
Model architecture. Our experiments showed that such kind of model like LOOT cannot directly predict the pixel shifts while maintaining high average precision. At first, we thought that the problem belongs to the mean-squared error loss, which strongly averaging all outputs. But then we found that it is a very common problem named coordinate transform problem [6]. To address this problem, we add a special CoordConv layer proposed by the authors in [6]. Coordinate convolution is an operation that includes concatenation of the additional information of the row and column indices of grid cells to the input tensor and then applying 1x1 convolution to the expanded input.
After the CoordConv layer, we added 4 convolutional layers with ReLU activation and Batch Normalization, two of which extract 32 features and another two has 64 filters (see fig. 2). The output is a concatenation of the features extracted by two convolutional layers: the first one with the sigmoid activation function predicting the confidence score and the second one extracting × 2 + 1 feature maps, where d is the number of stations.
Worse to note, that to avoid predicting tracks in empty cells, we tried to multiply the first station matrix to the shifts and confidence scores as an additional mask, but it didn't improve results at all. We also tried to create a model in a deep autoencoder manner, gradually squeezing the input tensor, since it was very useful in image recognition tasks [11], but it did not accelerate the speed of training and did not give higher efficiency.
The final output of our network is the w × h × [d x 2 -1] tensor of predictions, see the fig. 2.   Fig. 2. The architecture of the LOOT model. As first layer we utilize a coordinate convolution layer followed then by 4 1x1 convolutional layers with ReLU activations doubling the number of input channels and the Batch Normalization layers too. Here d is a number of stations in the detector.

Two-part custom objective.
To train the proposed new model we introduce an ad hoc loss function, defined as follows: × ℎ + ∑ (Xshifts i * C î − Xshifts î ) 2 + (Yshifts i * C î − Yshifts î ) 2 ×ℎ =0 , (2) where ( ,̂) is a binary cross-entropy loss between predicted confidence scores -, and real ones -̂, × ℎ is the total number of grid cells, -the number of nonzero elements. We avoid dividing by × ℎ because of a strong sparsity of the output matrix. Also, we multiply the shifts by the real confidence score, which is a matrix representing the hits from the first station, to omit the cells with fakes, they do not have to take part in shifts calculation.
Summing up briefly all above mentioned, the equation (2) consists of two parts: crossentropy confidence loss and normalized squared error shift loss.
Dataset and training setup. We did not use that ready dataset which was used for two previous networks because it was elaborated for the concrete physical experiment with carbon-carbon collisions producing events with 15-20 tracks, but we were interested to try events with greater multiplicity. Therefore, we create a special event generator for the LOOT training and the proposed model evaluation, which produces a specified number of straight tracks, that is equivalent to events without magnetic field or can be attributed to particles with high momentum. Obtained hits coordinates are transferred then to the indices at a pixel grid cell with the given resolution.
For every training epoch, we generate 1000 batches with the size of 8, where each training sample is a tensor with 512x512x5 dimensions (5 stations with the size 512x512).
The number of tracks varies from sample to sample from the minimum number of 10 tracks and the maximum number of 100. To model fake hits, we sample positions of pixels from the uniform distribution, so our fake hits do not correlate each other unlike fakes in the GEM detectors. We generate fakes with the number twice greater than the number of true hits, i.e. for 100 tracks and 5 stations (500 true hits) one obtains 1000 uniformly distributed fake hits.
For the model validation, we generate 100 batches of the same size as training batches. As metrics for the evaluation, we use two functions: the first one computes the fraction of the true hits among all predicted hits, this corresponds to precision; the second metric, named efficiency is the percentage of tracks correctly found in relation to the number of simulated ones. To determine a well-detected track we, reconstruct events from the predicted output including shifts and probabilities, find nearest existing hits depending on the reconstructed from the shifts and count how many hits in the track coincide with hits of the corresponding monte-carlo track. We take a track as correctly found if it contains 70% or more of the points from simulated one.
We train the model for 20 epochs (160000 events) using Adam optimizer with default parameters.
LOOT Limitations. Presently, LOOT works only with tracks, which pass through all stations -it is a very rough assumption, consequence of this that we cannot detect tracks that have large scattering angles relative to the Z axis.
Also, we start predicting track hits based on the first point of the track and we suppose that every track starts from the first station, although in real life it is not always true. So, if the track would not be registered in the first station, our model will not recognize it.
We are still working to overcome the above-mentioned limitations. Results of the model evaluation on the generated test data (1000 batches with 512x512 detector's resolution, number of tracks from 10 to 100 and fakes factor with the value of 2) are presented in table 2. Confidence threshold used to decide to drop out a track-candidate with the small confidence score is accomplished. That means, if the confidence score has a value smaller than the threshold, this grid cell with a track-candidate becomes empty. We set the confidence threshold value to 0.5.
As it was mentioned above, the tracking efficiency is a fraction of tracks with more than 70% hits detected rightly, among all tracks. One can see from table 2, that the obtained efficiency and fake hits rate look satisfactory.
The network model was made with the help of Keras library [12] using the TensorFlow [13] as backend. The example of the prediction of the trained model is illustrated on fig. 3, where XoY plane of 3D event is shown. We colored each track with different colors to make them better distinguished. Also, for the better visualization, we present here an event simulated with small detector resolution (64x64) and a small number of tracks.
In our study, we speed up significantly our deep network calculations by using multicore computational systems and multiprocessor graphics cards or GPUs via the facilities provided by Google Colaboratory [14]. The speed of the test run has reached 23 event/sec on a single Nvidia K80 with batch size equals to 100 and the detector's resolution -512x512.

Conclusion
The two step-tracking algorithm, proposed in [2], was too slow because of the preprocessing procedure on the first stage based on the KD-tree 2D search. Therefore, we propose here two different approaches to overcome the disadvantages of the two steptracking algorithm, by combining both steps in one end-to-end trainable deep learning network. The first approach, although it remains sequential, applies deep recurrent neural network with the special loss function as an alternative to Kalman filter with the ability to train the needed parameters from data. Nevertheless, it has the number of limitations, in particular, it cannot work fully end-to-end because each track is processed independently and there is no information about nearest tracks. In the second approach, a completely new neural network model is proposed. The LOOT network overcomes all mentioned problems of the previous models. It is fast, accurate and fully end-to-end trainable. Although there are some substantial questions of its adaptation to real events which are still waiting for their solution, we believe it opens a new horizon in the field of event reconstruction.


Privacy Revolution in the Big Data Age: from Privacy Protection to Personal Data Governance

The arrival of the big data era also means the emergence of the privacy crisis. Nowadays, privacy is challenged and privacy protection theories have obvious limitations. In the big data age, the focus of privacy protection should be shifted from traditional physical protection to personal data governance. Personal data has many similarities with privacy but also some noted differences. Compared with privacy’s static and exclusive features, personal data is characterized by extraversion and fluidity, and is a combination of personal interests and property interests. Based on the above conditions and China’s data development practices, it is crucial to pay attention to the transformation process of the data governance model especially from the privacy protection to the personal data governance, which is the core of achieving the balance between personal data protection and data application. To promote personal data governance, the following strategies should be applied: a) adhering to the purpose of balancing data application and personal data protection; b) attaching importance to data values and allocating data interests on data flowing process; c) improving personal data protection legislation; d) inducing technological innovation.

Introduction
In the big data age, the amount of data grows rapidly and the application of data is deepening day and night. When big data releases data benefits, it also causes a series of social ethical worries, among which privacy infringement is the most serious one. Problems are caused by data application, such as data collecting and data mining. Privacy is exposed in the application process, and most of the time, people don't know when and how their personal data being collected and the including privacy comes to light. Meanwhile, it is difficult for privacy protection to cope with challenges brought by big data technology, making privacy protection in trouble. Therefore, some scholars even argue that privacy has always died in the big data age.
Nowadays the issue of personal data governance has become a hot topic. More and more people prefer to focus on data application and data value rather than just pay attention to the privacy protection. In 2015, Chinese government issued the Action Guideline for Promoting the Development of Big Data, raising big data to the strategic level for the first time. Data governance, as a new governance model, is of great significance in national governance. At the same time, personal data governance, as an important part of data governance, is highly valued. The core of personal data governance is to balance the relationship between personal data protection and data application, promoting data development as well as ensuring the safety of personal data. This study focuses on the privacy revolution in the big data era, hoping to realize the transformation from privacy protection to personal data governance. Firstly, through the analysis of privacy crisis, the challenges posed by big data to privacy is presented. Secondly, we try to demonstrate the transformation process of the data governance model especially from the privacy protection to the personal data governance. Last but not least, some strategies are proposed for promoting personal data governance.

Privacy Challenges in the Big Data Age
Big data not only brings revolution in data technology, but also all-around changes in economy, society and human thoughts. People tend to be transparent digital person and the privacy is challenged under such circumstances.

Big data technology increases the possibility of privacy invasion
In the industrial information age, data mainly exists in the form of words, sounds and graphics. Data resources are scarce and difficult to obtain. Government and the news media are the controlling parties of data resources. At that time, data is usually used for record and storage, which has high security and confidentiality. Many changes have been taken place in the data area due to the application of the big data technology. Big data technology has brought a large number of data industries and changed people's lifestyle. Daily life, thoughts, actions and demands of people are digitized. Therefore, people are no longer just passive manufacturers of data, but data contributors that actively participate in the process of data revolution. With the surge of data volume, much privacy-related data comes out frequently. Although related enterprises adopt explicit privacy terms in data collecting and mining process to protect privacy, contents of the terms are complex and numerous and they are rarely seriously read. Worse still, a large number of data collecting platforms do not inform people that their personal data have been collected, more and more data traces are recorded unconsciously, which greatly increase the possibility of privacy infringement. Through anonymous processing and in-depth data mining, derived data and derived data relationships come into being, which are then widely used in carrying out targeted advertising, precision marketing, business judgment and so on. Data application is not controlled by individuals and privacy is likely to be exposed through deep using procedure. When we use personal health data to predict the future health status and disease status, personal health data may be leaked. Moreover, personal shopping preferences can be calculated according to the shopping data, and this may influence service attitudes towards customers, which is closely related to personal privacy and personal dignity [1].

Big data economy makes it inevitable for privacy to be shared
The new data processing and analysis mechanism have posed great impacts on the property economic system. In the era of industrial economy, economics laid more emphasis on the scarcity and limitation of resources. The property system is a supporting production relationship for the protection and effective utilization of resources. Nowadays, the big data economy, which relies heavily on the big data technology, is rising. Comparatively speaking, it is a sharing economic system, in which people are willing to share goods, services, data and intelligence [2]. It is supported by big data technology, which includes three important components of idle resources, sharing platforms and sharing participants. It connects people with different nationalities, races but with the same demands. In such circumstances, people take part in the sharing procedure and become active contributors. This kind of economy mode is based on massive data and data analysis, which exerts great challenges on the traditional property regime. Under the sharing economic style, data value is fully exploited and resources are shared of all the time. It is evitable that a large amount of privacy data has also been shared and becomes basic cells of big data economy.

Big data shakes the way of thinking in privacy category
People tend to be more acceptable to the openness of privacy in the big data era. With the continuous development and changes of people's privacy views, their traditional awareness of privacy becomes diluted in the trend of big data. Long before, people couldn't tolerate their photos being published, but now they are willing to upload their private photos on Facebook, Wechat and other social platforms. In the last century, the United States issued a special video privacy protection law to guarantee the Thirdly, privacy only has personality interests, but personal data is an interest combination of personality and property. Personal data has personal attribute to identify individuals as well as economic values. It is widely used in many fields of economy and daily life, which helps to realize the digitalization, intellectualization, customization and greening of industries and promote the development of both Internet and sharing economy.
Privacy and personal data have different connotations and denotations and they also focus on different matters. We should concern the changes of the meaning of privacy in the big data age and focus on promoting the transformation from privacy protection to personal data governance.

Adhering to the purpose of balancing data application and personal data protection
Recently, the view of data opening and applying is widely accepted. Moreover, data value is being discovered day and night. In the small data age, data resources are scare and centralized, so data owners tend to possess and use data privately. The mainly use of personal data is storage and record. Since modern times, the value of personal data has been put forward, and the application of personal data has led to great economic and social changes. Digitalization has become a social trend and big data economy has also turned to the mainstream economic model. Therefore, data technology has already penetrated and changed people's production and lifestyle. People enjoy intelligent and dataoriented services and are willing to share personal data, so they tend to become contributors, diggers and also enjoyers of data resources. Under such circumstances, we can't limit the use of personal data and should encourage data application. Certainly, we must attach importance to the protection of personal data, so as to solve the problems caused by the use of personal data. This is the principle and main purpose in the big data age.

Concerning about data value and allocating data interests on data flowing process
Personal data is different from privacy in that it has more diversified value behind. Personal data governance should focus on data value and data interests distribution. According to contents of interests, personal data interests include personal interests and property interests. Personal interests contain undisturbed privacy and data controlling ability, while property data interests emphasize the economic values. We must regard personal data as a collection of personal and property interests so as to coordinate the conflicts and contradictions between personal interests and property interests. According to different interests subjects, personal data interests involve personal interests, public interests and third-party interests. As provider of personal data, individuals' main interests demands are the protection of personal privacy and the relief of personal interests infringement. Government and public departments want to hold public interests on public issues. For example, the public hospitals hope to use personal medical data for in-depth and targeted medical analysis. The public transportation departments aim to apply personal travel data for the construction of intelligent transportation and smart city. Such kind of personal data is not exclusive, but can be used for many times, for many purposes and in many fields, which helps to make profits for public interests. In addition, big data has spawned a series of data industries and enterprises. They collect and mine personal data, so as to generate in-depth value of personal data and promote the development of big data economy. We should acknowledge that such behaviours to promote the innovation of data application but at the same time, they challenge the protection of personal data to a large extent.
Personal data governance must balance the relationship between data interests and interests subjects. As far as individuals are concerned, their personal data shall be mainly protected and their intrinsic value and dignity shall be safeguarded. Therefore, it is important for us to transfer some general personal data so as to promote data application and strengthen people's awareness of data protection. What's more, as the leader of public interests, the government and public departments should exploit public value of personal data and use them for social governance, as well as regulate the use of personal data through issuing policies without interfering the freedom of private life. In addition, third-party interests subjects, such as data enterprises, are main creators and promoters of data value. They shall focus on the creation of economic interests of personal data through providing technology services, and they also need to ensure the security of personal data. For example, they could build selfdisciplines, and constantly innovate data application technology and privacy protection technology, which will play a fundamental role in data practice.

Improving personal data protection legislation
Personal data is different from privacy because it covers a variety of types, so we need to distinguish different personal data in legislation and give protection and application licenses of different degrees, aiming to mediate the conflicts between personal data protection and data application. Firstly, from the perspective of contents, personal data can be divided into personal identity data, personal social data and personal privacy data. As mentioned above, personal identity data is the most directive external identity of individuals, while personal social data is the main basis for social evaluation and class classification. Both of them are easy to be obtained, collected and applied. However, they are closely related to individuals. When we use such kinds of data, we must adopt certain restrictions to protect them, such as privacy clauses, notification and consent principles. Personal privacy data is closely related to privacy. It involves personal dignity and needs to be well protected. The application of such kind of data should be strictly limited unless required for the public interests and anonymously exploited. Besides, its usage process must be confidential. Secondly, personal data can be divided into personal original data and personal derived data according to the forms. Original data is highly identifiable which should be protected seriously. Derived data is processed by big data technology and mainly reflected in anonymous data sets and data flows. This kind of data is generally controlled by data developers and has great application value. Therefore, it should be allowed to be circulated and used in a wide range. However, due to the reverse identification and associated speculation of big data technology, derived data also can be used to identify individuals. So we must keep on concerning and regulating. Thirdly, according to the existence status, personal data can be divided into disclosed data and undisclosed data. The former data has been known to the public through legal approaches, such as personal data related to public interests. There is no need to get the agreements of individuals when such kind of data is collected and applied, but individuals should have rights to inquire about application situation of personal data related to public parts.
Besides, we should examine our existing legal system and find out the punishments and legal remedies for personal data infringement. According to current civil law systems in China, we can resort to the tort law, the contract law, the criminal law and so on. The tort law can protect privacy right, and the contract law helps to regulate data contractual relationships, moreover, the criminal law will punish the criminal offences. Certainly, features of personal data are not quite in line with existing legal rules and rules should be taken into account practically and measured when they are used. We will not discuss it here.

relying on technological innovation
Personal data, as a binary bit stream, has technical and implemental neutrality [6]. The application and protection problems of personal data in the big data age are caused by the use of technology ultimately. Technological problems need to be solved by technological innovation to a certain extent. Technological innovation has two key points. First, we should solve existing legal regulatory problems through technology. Privacy risk assessment is a typical example. When data enterprises collect personal data, they are usually equipped with privacy protection clauses, that is, they inform users which data will be collected and applied and what privacy protection risks they will meet. Currently, the principle of inform and consent is widely applied worldwide. However, big data technology has left such regulatory tools on the shelf because privacy clauses are too long and complex to read. Moreover, the in-depth mining of personal data has been strengthened in an unprecedented breadth and depth, which makes it difficult for data enterprises to foresee all future uses at the beginning of their collecting personal data. Therefore, the informed consent rules exist in name only. One of the technical means to solve this regulatory problem is privacy risk assessment technology. That is to say, we shall evaluate privacy risks all the time through technical means so as to protect privacy to an extreme [7]. Second, original technical leaks shall be solved through technological innovation. One of the important technical means for data protection is the "anonymization" [8]. Anonymization is used to remove data that can identify individual. However, it is not absolutely unrecognizable. Reidentification at the technical level is common, so data reidentification technology needs to be solved through technological innovation.

Conclusion
Privacy has been challenged in the big data era. Big data increases the possibility of privacy invasion, makes privacy sharing inevitable, as well as shakes the way of thinking in privacy category. Now, the focus of data protection is changing from privacy protection to personal data governance. Both of them are important but have big differences. As a big data country, China should attach great importance to personal data governance. Four approaches should be highlighted for supporting the governance of personal data: a) adhering to the purpose of balancing data application and personal data protection; b) concerning about data value and allocating data interests on data flowing process; c) improving personal data protection legislation; d) relying on technological innovation. Admittedly, there are many ethical and legal problems not included in this paper, such as the legal duties and remedies in data application and governance process, the laws and policies worldwide and their interaction, the changes and applications of the current legal system etc., which are important parts in personal data governance. Due to time and length limitation, these parts are not included in this paper but will be studied later. Personal data governance is a crucial theme, we should encourage the development of data technology, meanwhile paying attention to the protection of personal data. What's more, we need to confront the challenges so as to make some changes of our ethical views and legal system.


Waveform Feature Implementation for FRIB LLRF Controllers

Waveform feature is one of the requirements for the FRIB LLRF controllers. It is desired that the LLRF con-trollers store the internal data (e.g. the amplitude and phase information of forward/reverse/cavity signals) for at least one second of sampled data at the RF feedback control loop rate (around 1.25 MHz). One use case is to freeze the data buffer when an interlock event happens and read out the fast data to diagnose the problem. An-other use case is to monitor a set of signals at a decimated rate (user settable) while the data buffer is still running, like using an oscilloscope. The detailed implementation will be discussed in the paper, including writing data into the DDR memory through the native interface, reading out the data through the bus interface, etc.

INTRODUCTION
The Facility for Rare Isotope Beams (FRIB) is a scientific user facility for nuclear physics research being built at Michigan State University (MSU). The low level radio frequency (LLRF) controller for the FRIB project is designed to accommodate various cavity and tuner types [1] (see Table 1). With the direct-sampling and under-sampling techniques the analog-to-digital converter (ADC) can sample RF signals of five different frequencies (in harmonic relation) ranging from 40.25 MHz to 322 MHz with the same sampling frequency. Non-In-Phase/Quadrature (non-IQ) sampling is also adopted to reduce the effect of harmonics. RF output synthesis is done by generating four points (I, Q, −I, −Q) per waveform and using band-pass filters to pick up the fundamental or higher harmonics of interest. There are three RF board variations, and each supports two frequencies. Two types of tuner boards of the same form factor are designed to drive stepper motors or analog tuners.
The FRIB LLRF controller includes: the FRIB general purpose digital board (FGPDB), one of the three RF board variations, one of the two types of tuner boards or none, a front panel board, a power supply and a chassis (see Fig. 1). Besides flexibility, the FRIB LLRF controller also features: 1. digital self-excited loop (SEL) allowing cavities to be driven with tuners unlocked; 2. advanced control algorithms for high performance [2]; 3. comprehensive external and internal interlocks to protect the cavities, amplifiers, and other equipment; 4. auto-start procedure to automate cavity turn-on for efficient operation; 5. waveform storage for monitoring and diagnosis. The FGPDB is a common digital board based on the Xilinx Spartan-6 field programmable gate array (FPGA) XC6SLX150T-FGG900 that was designed at FRIB to ____________________________________________ serve the need of different applications including LLRF, beam position monitor (BPM) and machine protection system (MPS) [3]. It is compatible with the µTCA standard and can be used either in a µTCA crate (BPM case) or in a chassis (LLRF and MPS cases). The FGPDB has two 256 MB double data rate (DDR) memory chips that are directly connected to the FPGA and controlled by the memory control block (MCB) [4]. One (Chip #1) of them is used for the Microblaze embedded system software; the other one (Chip #2) is dedicated to the waveform storage. Figure 2 shows the peripherals and interfaces of the FGPDB in more details.

IMPLEMENTATION
The detailed implementation of the waveform storage feature will be discussed in this section.

Requirements
The main purpose of the waveform storage feature is to save important internal data (e.g. the amplitude and phase information of forward/reverse/cavity signals, interlock status, etc.). The data buffer needs to hold at least one second of fast sampled data at the RF feedback control loop rate which is around 1.25 MHz (80.5 MHz / 64). The data buffer should be frozen when MPS is triggered or an internal interlock is detected. The fast data in the buffer should be able to be reorganized easily to fit the users' needs (e.g. looking at a particular variable, or at a longer time frame with lower time resolution).
The two typical use cases of the stored data are: 1. freeze the circular buffer when an interlock event happens and read out the fast data to diagnose the problem; 2. monitor one or a set of signals at a decimated rate (user settable) while the circular buffer is still running. The second case is like using an oscilloscope.

Memory Controller Interface
Implementing the waveform feature involves write and read transactions to and from the memory chip. The memory interface generator (MIG) [5] provides two types of interface options when generating the MCB. One is called native port interface (NPI) or native/standard interface; the other is called advanced extensible interface (AXI). The NPI is suitable for interfacing directly to user logic. The AXI is essentially an addition of an AXI4 memory mapped slave bridge to the native interface and is suitable for interfacing with software.
For writing data into the memory, which is time critical since a new data sample (block) is generated around every 0.8 µs (1 / 1.25 MHz), the NPI interface is adopted. Figure 3 shows the protocol for loading the data into the write data FIFO (first-in-first-out) through the NPI. Figure 4 shows the protocol to entering the write request into the command FIFO. For reading data out of the memory, time is usually not a concern with data buffer frozen or lower data rate requested by the user. In this case, the AXI interface provides more flexibility in organizing the data.
MCB supports five different port configurations of up to six ports which can be read, write or bidirectional, and up to 128-bit data width (32-bit minimum). For the waveform dedicate memory (Chip #2), two 32-bit bidirectional ports are setup, one with the NPI and the other with the AXI. In practice, data is only written through the NPI and read from the AXI. However, the MIG does not directly support mixed interfaces on different ports. One has to modify the generated coded from MIG to support such configuration.

Data Organization
The data structure in the waveform dedicated memory is shown in Fig. 5. Currently, each sample contains sixteen 32-bit registers, which includes two time stamp registers (high and low), thirteen identified variables of interest and one reserved register. Thus the block size of a sample is 64 bytes, and the memory can hold up to 4 M samples (256 MB / 64 B) of data, which is equivalent to around 3.3 seconds (2 22 / 1.25 MHz). Even if we need to store more registers in the future, for example doubling the block size to 128 bytes, the memory is still able to hold around 1.7 seconds of data which meets the requirement of one second.
To keep track of the data in the memory, various pointers and flags are used. pStart is a pointer to mark the address of the starting sample of the current run; pCurrent is a pointer to track the address where the current sample is being written; pTrigger is a pointer to mark the trigger point; flagFull is a flag to indicate whether or not the circular buffer has been filled at least once. The flagFull will be set when the circular buffer is filled for the first time (pCurrent == pStart); it will be reset when the buffer starts running again for the next time. TrigPos is a user settable parameter that determines how many more samples to acquire after the trigger condition is met before the circular buffer freezes.

Data Retrieving
For the first use case, the circular buffer is already frozen when the user tries to retrieve the data. There is no risk of data being overwritten while reading the data out. However, for the second use case the circular buffer is still running. To avoid loss of data, the fast data in the circular buffer (Chip #2) is copied over to the Microblaze memory space (Chip #1) based on user settable parameters, then the data is read out without time constraints. This is accomplished by defining two user commands, the request waveform data (REQ_WF_DATA) command (in Fig. 6) and the read waveform (READ_WAVEFORM) command (in Fig. 7), which are based on User Datagram Protocol (UDP) communication [6]. When the user sends a REQ_WF_DATA command with specified Length (≤ 8 K) and Decimation Factor (1 to 256), one out of every Decimation Factor sample(s) and a total number of Length samples of data are copied to the waveform buffer in Chip #2. The response packet will include a Sequence Number as an identifier of the newly requested waveform.
Then the user can send the READ_WAVEFORM command to read out the waveform of interest by specifying the Waveform ID (1 to 14). The Offset in the waveform buffer and the Count of samples to be read need to be specified as well. The Count is limited to 256 by the standard maximum transmission unit (MTU) of 1500. If the 9000 MTU jumbo packet is supported, this limit can extend to 2048. The payload of the response packet starts with the time stamp (two 32-bit registers) of the first data sample in the current packet followed by the Count number of values of the specified Waveform ID.
By reading multiple waveforms (with different Waveform ID) from the same waveform buffer (same Sequence Number), user can display multiple traces (up to 14) on the same time axis. By changing the Decimation Factor, user can easily change the time scale of the waveform. This is very similar to using an oscilloscope.

SUMMARY
Waveform storage feature is a useful tool for monitoring and diagnosis. The implementation meets all of the requirements and provides users with the flexibility in presenting the waveform data. The new tool will be very helpful during the next phase commissioning at FRIB. In the future, different trigger conditions could be added to the second use case providing more flexibility.