Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6705)

Unified Diff: chrome/browser/policy/proto/device_management_backend.proto

Issue 8578002: Add client side protobuf fields for reporting status with policy requests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove accidentally uploaded file. Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/policy/proto/device_management_backend.proto
diff --git a/chrome/browser/policy/proto/device_management_backend.proto b/chrome/browser/policy/proto/device_management_backend.proto
index 690fb87780e45b6036896a759bb9b3924621dc5e..34847f7d5f03b6a8431b3eba044592ac3a7f4936 100644
--- a/chrome/browser/policy/proto/device_management_backend.proto
+++ b/chrome/browser/policy/proto/device_management_backend.proto
@@ -29,7 +29,7 @@ message DeviceRegisterRequest {
// Chrome OS TT support once it is over.
optional Type type = 2 [default = TT];
- // Machine hardware id, such as MEID, Mac adress.
+ // Machine hardware id, such as serial number.
// This field is required if register type == DEVICE.
optional string machine_id = 3;
@@ -97,6 +97,12 @@ message PolicyFetchRequest {
// This field is unspecified if the client does not yet have a
// public key.
optional int32 public_key_version = 4;
+
+ // Machine hardware id, such as serial number.
+ // This field is should be set only if the serial number for the device is
+ // missing from the server, as indicated by the valid_serial_number_missing
+ // field in the last policy fetch response.
+ optional string machine_id = 5;
}
// This message is included in serialized form in PolicyFetchResponse
@@ -106,7 +112,7 @@ message PolicyData {
// See PolicyFetchRequest.policy_type.
optional string policy_type = 1;
- // [timestamp] is milli seconds since Epoch in UTC timezone. It is
+ // [timestamp] is milliseconds since Epoch in UTC timezone. It is
// included here so that the time at which the server issued this
// response cannot be faked (as protection against replay attacks).
// It is the timestamp generated by DMServer, NOT the time admin
@@ -156,6 +162,12 @@ message PolicyData {
UNMANAGED = 1;
}
optional AssociationState state = 9 [default = ACTIVE];
+
+ // Indicates if the the server cannot find a valid serial number for the
+ // device. If this flag is set, the device should send the valid serial
+ // number with a device policy fetch request. Note that this only
+ // applies to device policy.
+ optional bool valid_serial_number_missing = 10;
}
message PolicyFetchResponse {
@@ -163,7 +175,7 @@ message PolicyFetchResponse {
// provide separate error code for each individual policy fetch.
// We will use standard HTTP Status Code as error code.
- optional int32 error_code = 1;
+ optional int32 error_code = 1;
// Human readable error message for customer support purpose.
optional string error_message = 2;
@@ -205,6 +217,79 @@ message DevicePolicyResponse {
repeated PolicyFetchResponse response = 3;
}
+message TimePeriod {
+ // [timestamp] is milli seconds since Epoch in UTC timezone.
+ optional int64 start_timestamp = 1;
+ optional int64 end_timestamp = 2;
+}
+
+// This captures launch events for one app/extension or other installments.
+message InstallableLaunch {
+ optional string install_id = 1;
+
+ // Time duration where this report covers. These are required
+ // and the record will be ignored if not set.
+ optional TimePeriod duration = 2;
+
+ // Client will send at most 50 timestamps to DM. All the rest
+ // launch activities will be summed into the total count.
+ // We will distribute the count evenly among the time span when
+ // doing time based aggregation.
+ repeated int64 timestamp = 3;
+ optional int64 total_count = 4;
+}
+
+// Report device level status.
+message DeviceStatusReportRequest {
+ optional string os_version = 1;
+ optional string firmware_version = 2;
+
+ // "Validated", "Dev". Same as verified mode.
+ // If the mode is unknown, this field should not be set.
+ optional string boot_mode = 3;
+
+ // Device active times collection since last report rpc call.
+ repeated TimePeriod active_time = 4;
+}
+
+// Report session (a user on one device) level status.
+message SessionStatusReportRequest {
+ // Installed apps for this user on this device.
+ repeated string installed_app_id = 1;
+
+ // Installed extensions for this user on this device.
+ repeated string installed_extension_id = 2;
+
+ // One stat per app for top 30 apps.
+ repeated InstallableLaunch app_launch_stat = 3;
+}
+
+// Response from DMServer to update devices' status.
+// It is possible that status report fails but policy request succeed. In such
+// case, the DeviceStatusReportResponse will contain an error code and the
+// device should re-send status report data in the next policy request. The
+// device should re-send report data if policy request fails, even if
+// DeviceStatusReportResponse contains no error code.
+message DeviceStatusReportResponse {
+ optional int32 error_code = 1;
+
+ // Human readable error message for customer support purpose.
+ optional string error_message = 2;
+}
+
+// Response from DMServer to update user devices' status.
+// It is possible that status report fails but policy request succeed. In such
+// case, the SessionStatusReportResponse will contain an error code and the
+// device should re-send status report data in the next policy request. The
+// device should re-send report data if policy request fails, even if
+// SessionStatusReportResponse contains no error code.
+message SessionStatusReportResponse {
+ optional int32 error_code = 1;
+
+ // Human readable error message for customer support purpose.
+ optional string error_message = 2;
+}
+
// Request from the DMAgent on the device to the DMServer. This is
// container for all requests from device to server. The overall HTTP
// request MUST be in the following format:
@@ -212,7 +297,7 @@ message DevicePolicyResponse {
// * HTTP method is POST
// * Data mime type is application/x-protobuffer
// * HTTP parameters are (all required, all case sensitive):
-// * request: MUST BE one of register/unregister/policy/ping
+// * request: MUST BE one of register/unregister/policy/ping/status
// * devicetype: MUST BE "1" for Android or "2" for Chrome OS.
// * apptype: MUST BE Android or Chrome.
// * deviceid: MUST BE no more than 64-char in [\x21-\x7E].
@@ -221,10 +306,21 @@ message DevicePolicyResponse {
// * For register and ping requests
// Authorization: GoogleLogin auth=<auth cookie for Mobile Sync>
//
-// * For unregister and policy requests
+// * For unregister, policy and status requests
// Authorization: GoogleDMToken token=<dm token from register>
//
// * OAuth is NOT supported yet.
+//
+// DeviceManagementRequest should only contain one request which matches the
+// HTTP query parameter - request, as listed below. Other requests within the
+// container will be ignored.
+// ping: policy_request
+// register: register_request
+// unregister: unregister_request
+// policy: policy_request
+// status: status_report_request
+//
+//
message DeviceManagementRequest {
// Register request.
optional DeviceRegisterRequest register_request = 1;
@@ -234,6 +330,10 @@ message DeviceManagementRequest {
// Policy request.
optional DevicePolicyRequest policy_request = 3;
+
+ // Update status.
+ optional DeviceStatusReportRequest device_status_report_request = 4;
+ optional SessionStatusReportRequest session_status_report_request = 5;
}
// Response from server to device.
@@ -264,4 +364,10 @@ message DeviceManagementResponse {
// Policy response.
optional DevicePolicyResponse policy_response = 5;
+
+ // Device status report response.
+ optional DeviceStatusReportResponse device_status_report_response = 6;
+
+ // Session status report response.
+ optional SessionStatusReportResponse session_status_report_response = 7;
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698