2. Domains, users, edges, measurements, and projects in intdash#

My Page v3.4.0 / Meas Hub v1.7.0 / Media Explorer v1.2.0 / Edge Finder v2.8.0 / Project Console v1.0.0 /Admin Console v1.4.0

This chapter describes the main concepts used in intdash.

../_images/concept-domain-user-edge.en.png

Fig. 1 Domain, user, edge#

2.1. Domain (intdash domain)#

A single intdash environment, centered around an intdash server, is called a domain (or intdash domain).

Only users and edges (devices that send and receive data) with accounts issued in that domain can connect to the intdash server.

A user with the admin role at the global level of an intdash domain is called an intdash domain administrator. An intdash domain has one or more administrators.

2.2. Users and edges#

There are "users" and "edges" as entities connected to intdash.

User

People who use intdash are called "users". Users mainly browse time series data using web applications and mobile applications.

Edge

Devices that use sensors to acquire data or are remotely controlled are called "edges". An edge sends and receives time series data to and from the intdash server.

A user who uses intdash need a "user account". Also, an edge requires an "edge account".

2.2.1. Role#

A role defines what operations a user can perform (e.g., can create measurements, can create edges, can modify user information, etc.). In a typical intdash domain, there are at least two roles available: "admin" and "member". The administrator assigns these roles to control user access.

Users have roles at the global level in the intdash domain, as well as project-specific roles.

  • Roles at the global level indicate whether a user can perform operations involving the entire intdash domain. For example, only users with the "admin" role at the global level can use the Admin Console.

  • Group-level roles indicate whether a user can perform operations involving individual groups. For example, a user with the "admin" role in a group can add members to that group.

  • Project-level roles indicate whether a user can perform operations related to individual projects. For example, a user with the "admin" role in a project can add members to that project. A user with the "member" role in a project can add their edges to that project.

If a user has both a role that allows and does not allow an operation, then the allow role takes precedence. For example, in project X, user A has both the admin role and the member role; the admin role is allowed to add members, and the member role is not allowed to add members, but in this case the permission takes precedence, so user A can add members.

Note that defining new roles or changing role definitions cannot be done from the Admin Console. It must be configured on the server side. Please contact us for details.

2.2.2. Edge account#

  • Edge accounts are created by users who have permission to create edges. Normally, users with the member role at the global level of the intdash domain can create edge accounts.

  • When a user creates an edge account, the user becomes the owner of that edge.

  • The edge account owner and intdash domain administrators can edit and delete edge accounts.

  • The administrator of an intdash domain can change the owner of an edge account. It is also possible to leave an edge account unowned.

2.2.3. Different use of user and edge depending on the purpose#

Basically, it is the "edge" that generates time series data and sends it to the intdash server. Also, objects that operate by receiving time-series data from the intdash server (such as remotely controlled robots) are also "edges".

"Users" view and download time-series data and manage edges. If you are in the same domain, you can also view data on edges that you do not own.

Applications or SDKs to be used

Account used for authentication (sign in)

Credentials to use

Web application.

Data Visualizer, Meas Hub, Edge Finder, etc.

User

Username and password

Mobile application for browsing.

Stream Video, Stream Monitor, VM2M Viewer

User

Username and password

Mobile application for measurement.

intdash Motion

User

Username and password

intdash SDK for Python

User

API token, or username and password (username and password will be deprecated)

intdash Edge Agent, Terminal System

Edge

Client secret

Important

  • When using intdash Motion, you log in with your user account, but data acquisition and transmission must be performed as an edge. Which edge to acquire and send data as is configured in the settings screen of intdash Motion.

  • Authenticate with a user account when using the intdash SDK for Python. Real-time data must be sent and received as an edge, so when creating upstream or downstream in Python code, specify which edge to behave as. See the intdash SDK for Python documentation for more information.

Attention

Supplement for those who used the previous versions of intdash

The meaning of "edge" is slightly different between the old intdash (up to version 2.4 of the My Page application) and the latest intdash. Please note the following points.

The new intdash distinguishes between users (people) and edges (devices)

  • In previous intdash, people and devices connected to intdash were indistinguishably called "edges".

  • In new intdash, people who connect to intdash are called "users" and devices that connect to intdash are called "edges" to distinguish between people and devices.

The new intdash does not allow you to sign in to web applications with your "edge" account

  • In the old version of intdash, a password was issued for edge accounts, and the edge name and password could be used to sign in to web applications.

  • With new intdash, edge accounts are only for devices, so edge accounts are not expected to use web applications. As a result, no password is issued to your edge account and you cannot use your edge name and password to sign in to web applications.

In new intdash, the edge account is set up by the owner user

  • In previous versions of intdash, you could configure your edge account by signing in to My Page using your edge account.

  • With the new intdash, edge accounts should be set up in My Page by the user who owns that edge.

    The administrator of an intdash domain can also configure all edge accounts in the domain.

2.3. Measurement#

In intdash, a collection of time-series data points that share a certain base time is called a "measurement".

For example, the example in the figure below represents a measurement that started at 9:00:00 on September 1, 2020.

../_images/concept-measurement.en.png

Fig. 2 Concept of measurement#

The start of measurement at 2020-09-01 09:00:00 is set as the base time. The speed is 15.0 km/h at 0.10 seconds from the base time, 17.5 km/h at 0.15 seconds, 19.5 km/h at 0.30 seconds, and so on. A collection of these series of data points with a single base time is a measurement.

Measurements always record information about the edge that sent the data (the edge where the measurement was performed). Therefore, applications such as Meas Hub can list the measurements sent from a specific edge.

Note

intdash manages time by breaking it down into a base time and the time elapsed from that base time. For more information, see iSCP 1.0 Essentials.

2.4. Project#

A project is a mechanism for managing a set of measurements together; each measurement created in intdash is always treated as a measurement in one of the projects.

Only users and edges with access rights can access that project.

When a user opens the Project Console application, a list of projects to which he or she can access is displayed. By selecting a project in the Project Console and opening an application from there, such as Data Visualizer, the user can access the data for that project.

Each edge device that uses a project must be configured with the UUID of the project (except when using Global Project, described below).

A project has one or more owners (users who are set as owners). The user who created a project automatically becomes the owner of that project. The owner of a project is granted all roles. Only the owner can delete projects and add/remove owners.

When a project is created, it is created within a group. The created project will belong to that group, and the project will inherit the access rights of the members set in the group.

Note

Some intdash domains may have a project named Global Project. Global Project is a special project that does not belong to a group and is accessible to all users and edges within that intdash domain.

If you do not need to distinguish between projects, use Global Project.

Since Global Project is the default project, if you open the web application without specifying a project (for example, if you access the Data Visualizer URL https://example.intdash.jp/vm2m/ directly) the data in the Global Project will be displayed. Also, if you send data from Edge without specifying a project, it will be treated as Global Project data.

The project UUID for Global Project is 00000000-0000-0000-0000-0000-0000-0000-0000000000000000.

2.5. Group#

A group is a collection of multiple projects. It is used to collectively manage who has access to the projects. The member roles set for a group are inherited by the projects belonging to that group.

You can also create groups within a group (subgroups). When a subgroup is created, the members and their roles in the parent group are inherited by the subgroup. There is no limit to the level of subgroup hierarchy.

A group has one or more owners (users set as owners). The user who created the group automatically becomes the owner of the group. The owner of a group is granted all roles. Only the owner can delete the group and add/remove owners.

Deleting a group deletes all data for all subgroups and projects belonging to that group.

Note

A group can have members (users), but not edges. Edges accessing a project should be set in each project.

2.6. Inheritance of members to subgroups and projects#

As mentioned earlier, the project/subgroup inherits the members and roles set in the parent group.

In addition to inherited members, it is possible to add members directly in a project/subgroup. However, it is not possible to delete members or roles inherited from a parent group.

../_images/concept-group-project-inheritance.en.png

Fig. 3 Inheritance of members from parent group#

2.7. Tenant#

Depending on your environment, you may be prompted to enter your tenant ID when signing in to the intdash server. If this is the case, enter the tenant ID you received from the server administrator. This will sign you in to the specific tenant of the intdash server.

A tenant is the unit that separates a group of users and their data on an intdash server. On the server, all created data is managed by distinct tenants, and different tenants are treated as if they were separate intdash domains. Users (or edges) of one tenant cannot access data in another tenant.

If you do not know your tenant ID when logging into the intdash server, please contact your server administrator.

If the Tenant ID field on the sign-in screen is left blank, the default tenant will be used.