IP Library Granted Patent US 12,574,433
Granted Patent B2
US 12,574,433 · App. 18/544,871 · Granted Mar 10, 2026

Document templating system for distributed, self-sovereign content sharing

Inventors: Gianluca Filitz (Potsdam, DE); Frank Feinbube (Potsdam, DE)
Assignee: SAP SE
H04L67/06G06F40/106G06F40/186
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,574,433
App. No.
18/544,871
Granted
Mar 10, 2026
Kind
B2
Abstract

The present disclosure involves systems, software, and computer implemented methods for data sharing. An example method incudes receiving, at a first data-owner server of a first user, a document template that describes document fields that may be included in document instances of the template. A request to share the template with a second user is received at the first data-owner server. A first notification is sent, by the first data-owner server and to a second data-owner server of the second user, that the template has been shared with the second user. A first request for the template is received by the first data-owner server. Contents of the template are provided by the first data-owner server in response to the first request. Contents of a first document instance of the template are received by the first data-owner server from the second data-owner server.

Claims (58)

1 . A computer-implemented method comprising:

receiving, at a first data-owner server of a first user that is included in a decentralized system of data-owner servers of multiple users, and from a first user device of the first user, a document template that describes document fields that may be included in document instances of the document template;

storing the document template at a first data host connected to the first data-owner server;

receiving, at the first data-owner server and from the first user device of the first user, a request to share the document template stored at the first data host with a second user;

issuing, by the first data-owner server and to the first user device, in response to the request from the first user device to share the document template stored at the first data host with the second user, a first authentication token for a second data-owner server of the second user that is included in the decentralized system of data-owner servers to enable the first user device to notify the second data-owner server that the document template has been shared with the second user by the first user;

receiving, by the first data-owner server and from a second user device of the second user, a first request for the document template that includes a second authentication token for the first data-owner server that was generated for the second user by the second data-owner server;

verifying, by the first data-owner server, that the document template has been shared with the second user;

retrieving, by the first data-owner server and from the first data host connected to the first data-owner server, contents of the document template;

providing, by the first data-owner server, in response to the first request, the contents of the document template to the second user device of the second user; and

receiving, by the first data-owner server and from the second data-owner server, contents of a first document instance of the document template.

2 . The computer-implemented method of claim 1 , further comprising receiving, at the first data-owner server, a request to stop sharing the document template with the second user.

3 . The computer-implemented method of claim 2 , further comprising configuring the first data-owner server in response to the request to stop sharing the document template with the second user.

4 . The computer-implemented method of claim 3 , further comprising:

receiving, after receiving the request to stop sharing the document template with the second user, a request from the second data-owner server for the document template; and

denying the request from the second data-owner server for the document template.

5 . The computer-implemented method of claim 1 , further comprising receiving, at the first data-owner server, a first view for the document template that enables viewing, in a first format, a first portion of the document fields of the document template.

6 . The computer-implemented method of claim 5 , further comprising providing the first view and at least a portion of the contents of the first document instance to a third user to enable the third user to view, in the first format, values from the first document instance of the first portion of the document fields of the document template.

7 . The computer-implemented method of claim 6 , further comprising receiving, at the first data-owner server, a second view for the document template that enables viewing, in a second format, a second portion of the document fields of the document template, wherein the second portion is a different portion of the document fields of the document template than the first portion and wherein the second format is different than the first format.

8 . The computer-implemented method of claim 7 , further comprising providing the second view and at least a portion of the contents of the first document instance to a fourth user to enable the fourth user to view, in the second format, values from the first document instance of the second portion of the document fields of the document template.

9 . The computer-implemented method of claim 1 , wherein receiving, by the first data-owner server and from the second data-owner server, contents of the first document instance of the document template comprises:

receiving, at the first data-owner server and from the second data-owner server, a second notification that the first document instance has been shared with the first user by the second user;

sending a request to the second data-owner server for the first document instance; and

receiving, by the first data-owner server and from the second data-owner server, the contents of the first document instance, in response to the request to the second data-owner server for the first document instance.

10 . A system comprising:

one or more computers; and

a computer-readable medium coupled to the one or more computers having instructions stored thereon which, when executed by the one or more computers, cause the one or more computers to perform operations comprising:

receiving, at a first data-owner server of a first user that is included in a decentralized system of data-owner servers of multiple users, and from a first user device of the first user, a document template that describes document fields that may be included in document instances of the document template;

storing the document template at a first data host connected to the first data-owner server;

receiving, at the first data-owner server and from the first user device of the first user, a request to share the document template stored at the first data host with a second user;

issuing, by the first data-owner server and to the first user device, in response to the request from the first user device to share the document template stored at the first data host with the second user, a first authentication token for a second data-owner server of the second user that is included in the decentralized system of data-owner servers to enable the first user device to notify the second data-owner server that the document template has been shared with the second user by the first user;

receiving, by the first data-owner server and from a second user device of the second user, a first request for the document template that includes a second authentication token for the first data-owner server that was generated for the second user by the second data-owner server;

verifying, by the first data-owner server, that the document template has been shared with the second user;

retrieving, by the first data-owner server and from the first data host connected to the first data-owner server, contents of the document template;

providing, by the first data-owner server, in response to the first request, the contents of the document template to the second user device of the second user; and

receiving, by the first data-owner server and from the second data-owner server, contents of a first document instance of the document template.

11 . The system of claim 10 , wherein the operations further comprise receiving, at the first data-owner server, a request to stop sharing the document template with the second user.

12 . The system of claim 11 , wherein the operations further comprise configuring the first data-owner server in response to the request to stop sharing the document template with the second user.

13 . The system of claim 12 , wherein the operations further comprise:

receiving, after receiving the request to stop sharing the document template with the second user, a request from the second data-owner server for the document template; and

denying the request from the second data-owner server for the document template.

14 . The system of claim 10 , wherein the operations further comprise receiving, at the first data-owner server, a first view for the document template that enables viewing, in a first format, a first portion of the document fields of the document template.

15 . The system of claim 14 , wherein the operations further comprise providing the first view and at least a portion of the contents of the first document instance to a third user to enable the third user to view, in the first format, values from the first document instance of the first portion of the document fields of the document template.

16 . A computer program product encoded on a non-transitory storage medium, the product comprising non-transitory, computer readable instructions for causing one or more processors to perform operations comprising:

receiving, at a first data-owner server of a first user that is included in a decentralized system of data-owner servers of multiple users, and from a first user device of the first user, a document template that describes document fields that may be included in document instances of the document template;

storing the document template at a first data host connected to the first data-owner server;

receiving, at the first data-owner server and from the first user device of the first user, a request to share the document template stored at the first data host with a second user;

issuing, by the first data-owner server and to the first user device, in response to the request from the first user device to share the document template stored at the first data host with the second user, a first authentication token for a second data-owner server of the second user that is included in the decentralized system of data-owner servers to enable the first user device to notify the second data-owner server that the document template has been shared with the second user by the first user;

receiving, by the first data-owner server and from a second user device of the second user, a first request for the document template that includes a second authentication token for the first data-owner server that was generated for the second user by the second data-owner server;

verifying, by the first data-owner server, that the document template has been shared with the second user;

retrieving, by the first data-owner server and from the first data host connected to the first data-owner server, contents of the document template;

providing, by the first data-owner server, in response to the first request, the contents of the document template to the second user device of the second user; and

receiving, by the first data-owner server and from the second data-owner server, contents of a first document instance of the document template.

17 . The computer program product of claim 16 , wherein the operations further comprise receiving, at the first data-owner server, a request to stop sharing the document template with the second user.

18 . The computer program product of claim 17 , wherein the operations further comprise configuring the first data-owner server in response to the request to stop sharing the document template with the second user.

19 . The computer program product of claim 18 , wherein the operations further comprise:

receiving, after receiving the request to stop sharing the document template with the second user, a request from the second data-owner server for the document template; and

denying the request from the second data-owner server for the document template.

20 . The computer program product of claim 16 , wherein the operations further comprise receiving, at the first data-owner server, a first view for the document template that enables viewing, in a first format, a first portion of the document fields of the document template.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2023
From: FILITZ, GIANLUCA; FEINBUBE, FRANK
To: SAP SE
Reel/Frame 065909/0027 →
Continuity (1)
Related Publication 20250202967A1 · Jun 19, 2025
References Cited (29)
US 7284203B1 · Meeks · 2007 [cited by examiner]
US 8849759B2 · Bestler et al. · 2014 [cited by applicant]
US 8881257B2 · Cha et al. · 2014 [cited by applicant]
US 9049176B2 · Ferdowsi et al. · 2015 [cited by applicant]
US 10552796B1 · Delacourt · 2020 [cited by examiner]
US 10594774B2 · Thomas · 2020 [cited by applicant]
US 10812627B2 · Berg et al. · 2020 [cited by applicant]
US 11119649B1 · Sahgal · 2021 [cited by examiner]
US 11159510B2 · Shah · 2021 [cited by applicant]
US 11416673B1 · Peterson · 2022 [cited by examiner]
US 11689695B1 · Julian · 2023 [cited by examiner]
US 11985201B1 · Mehta et al. · 2024 [cited by applicant]
US 12250314B2 · Seaborn et al. · 2025 [cited by applicant]
US 20020143798A1 · Lisiecki et al. · 2002 [cited by applicant]
US 20090077056A1 · Ravikumar · 2009 [cited by examiner]
US 20110239113A1 · Hung · 2011 [cited by examiner]
US 20120002883A1 · Gotoh · 2012 [cited by examiner]
US 20130073685A1 · Isaza · 2013 [cited by examiner]
US 20140280535A1 · Owens et al. · 2014 [cited by applicant]
US 20160323400A1 · Rusinov · 2016 [cited by applicant]
US 20160373516A1 · Reyes · 2016 [cited by examiner]
US 20170193835A1 · Bonney-Ache · 2017 [cited by examiner]
US 20200250662A1 · Carpenter · 2020 [cited by examiner]
US 20200320042A1 · Fitzer · 2020 [cited by examiner]
US 20240169092A1 · Hu · 2024 [cited by applicant]
U.S. Appl. No. 18/544,864, Filitz et al., Storage Layer Abstraction for Distributed, Self-Sovereign Content Sharing, filed Dec. 19, 2023, 63 pages. [cited by applicant]
U.S. Appl. No. 18/544,877, Filitz et al., Access and Authentication Process for Distributed, Self-Sovereign Content Sharing, filed Dec. 19, 2023, 67 pages. [cited by applicant]
Learn.microsoft.com [online], “Azure Storage Explorer reauthenticate error when accessing my tenant” Apr. 2023, retrieved on Aug. 13, 2025, retrieved from URL<https://learn.microsoft.com/en-us/answers/questions/1200663/… [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 18/544,864, mailed on Aug. 13, 2025, 12 pages. [cited by applicant]