US 11,729,170 B2
Efficient and secure communication between computational instances of a remote network management platform
Amir Vakili Jafari, Los Gatos, CA (US); Colby Andrew Blakeman, San Jose, CA (US); Meenakshi Tripathy, Redwood City, CA (US); Praveen Minnikaran Damodaran, Hyderabad (IL); Ryan Meonske, San Jose, CA (US); and Bharath Soundararajan, Fremont, CA (US)
Assigned to ServiceNow, Inc., Santa Clara, CA (US)
Filed by ServiceNow, Inc., Santa Clara, CA (US)
Filed on Mar. 20, 2019, as Appl. No. 16/359,797.
Prior Publication US 2020/0304502 A1, Sep. 24, 2020
Int. Cl. H04L 9/40 (2022.01); H04L 41/00 (2022.01); G06F 16/23 (2019.01)
CPC H04L 63/10 (2013.01) [G06F 16/2379 (2019.01); H04L 41/20 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A remote network management platform comprising:
a provider computing instance disposed upon hardware dedicated to a first entity;
a recipient computing instance disposed upon hardware dedicated to a second entity, wherein each of the provider computing instance and the recipient computing instance represent one or more server devices, one or more databases, or both, configured to provide a set of web portals, services, and applications; and
a neutral computing instance including one or more processors and persistent storage, wherein the persistent storage stores a table comprising a plurality of fields, wherein the neutral computing instance is disposed upon hardware that is dedicated to neither the first entity nor the second entity, wherein each of the provider computing instance, the recipient computing instance, and the neutral computing instance are logically and physically separate from one another, wherein the provider computing instance and the recipient computing instance are configured to exchange data via the table of the neutral computing instance rather than directly with one another, and wherein the neutral computing instance is configured to:
receive, from the provider computing instance, by way of a first software interface, a request to create the table and the plurality of fields of the table;
validate that the provider computing instance is permitted to create the table;
in response to validating that the provider computing instance is permitted to create the table, create the table in the persistent storage;
receive, by way of the first software interface, a set of data from the provider computing instance, wherein the first software interface or the set of data indicates that the set of data is an update to a field of the plurality of fields within the table;
validate that the provider computing instance is permitted to update the field;
in response to validating that the provider computing instance is permitted to update the field, write a representation of the set of data to the field;
receive, by way of a second software interface, a request from the recipient computing instance to access the set of data as stored in the field;
validate that the recipient computing instance is permitted to access the field; and
in response to validating that the recipient computing instance is permitted to access the field, transmit the set of data as stored in the field to the recipient computing instance.