IP Library › Granted Patent US 12,277,120
Granted Patent B2
US 12,277,120 · App. 17/839,003 · Granted Apr 15, 2025

System for creating and accessing digital cards stored in decentralized content storage

Inventors: Salil Das (Seattle, WA); Cezar Augusto Alevatto Guimaraes Neto (Boca Raton, FL); Peter Loren Engrav (Seattle, WA); Brian Scott Krabach (Everett, WA); Deniz Cakirkaya (Seattle, WA); Brian Charles Blomquist (Lynnwood, WA); Craig Thomas Targosz (Seattle, WA); Sarojini Garapati (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F16/2455G06F16/182
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,277,120
App. No.
17/839,003
Granted
Apr 15, 2025
Kind
B2
Abstract

A reference to a digital item is stored as a digital card. The digital card can also be contained in, and/or refer to, other digital cards. The digital card can also include properties or attributes that may be added from the digital item that is being referred to. The digital card can be stored in a data pod within a de-centralized data storage system architecture.

Claims (73)

1. A computing system, comprising:

at least one processor; and

a data store storing computer executable instructions which, when executed by the at least one processor, cause the at least one processor to perform steps, comprising:

detecting, at a data pod accessing system, an input request to create a digital card representing a digital item;

obtaining digital item metadata corresponding to the digital item;

generating the digital card including the digital item metadata;

generating a card output to store the digital card in a data pod, comprising a plurality of digital cards in a given data storage system of a plurality of data storage systems in a de-centralized data storage system architecture; and

exposing, at the data pod accessing system, an interface configured to access the plurality of data storage systems in the de-centralized data storage system architecture;

receiving, through the interface, a digital card access request;

based on the digital card access request,

obtaining a first representation of a first digital card from a first data storage system in the plurality of data storage systems in the de-centralized data storage system architecture, and

obtaining a second representation of a second digital card from a second data storage system in the plurality of data storage systems in the de-centralized data storage system architecture;

aggregating the first digital card and the second digital card based on an aggregation criterion to obtain an aggregated set of digital cards; and

generating a digital card output at the data pod accessing system indicative of the aggregated set of digital cards.

2. The computing system of claim 1 , further comprising:

generating a data store request at the data pod accessing system based on the digital card access request;

sending the data store request to at least one data storage system of the first data storage system or the second data storage system, the data store request including access control information for the at least one data storage system to perform access control relative to the first digital card.

3. The computing system of claim 1 wherein aggregating the first digital card and the second digital card comprises:

loading the first and second representations into memory at the data pod accessing system;

joining the first and second representations to obtain a joined set of representations; and

outputting the joined set of representations.

4. The computing system of claim 3 wherein the computer executable instructions further comprise computer executable instructions which, when executed by the at least one processor, cause the at least one processor to perform steps further comprising:

detecting a relationship input indicative of creating a relationship between the first digital card and the second digital card; and

modifying at least one of the first digital card and the second digital card to indicate the relationship.

5. The computing system of claim 4 wherein detecting a relationship input comprises detecting the relationship input indicating that the first digital card contains the second digital card and wherein modifying at least one of the first digital card and the second digital card comprises:

modifying the first digital card to indicate that the first digital card contains the second digital card.

6. The computing system of claim 4 wherein the computer executable instructions further comprise computer executable instructions which, when executed by the at least one processor, cause the at least one processor to perform steps further comprising:

providing a relationship indicator to a graph management system that generates a graph corresponding to the first digital card indicative of the relationship between the first digital card and the second digital card.

7. The computing system of claim 1 wherein the plurality of data storage systems, in the de-centralized data storage system architecture store a plurality of data pods and wherein each data pod in the plurality of data pods stores a set of homogenous digital cards representing a set of heterogeneous digital items.

8. The computing system of claim 7 wherein exposing an interface comprises:

exposing the interface to access the set of homogenous digital cards representing the set of heterogeneous digital items.

9. The computing system of claim 1 wherein the computer executable instructions further comprise computer executable instructions which, when executed by the at least one processor, cause the at least one processor to perform steps further comprising:

detecting an activity performed relative to the digital card; and

providing an activity indicator to a graph management system that generates a graph corresponding to the digital card indicative of the activity performed relative to the digital card.

10. A computer implemented method, comprising:

detecting, at a data pod accessing system, an input request to create a digital card representing a digital item;

obtaining digital item metadata corresponding to the digital item;

generating the digital card including the digital item metadata;

generating a card output to store the digital card in a data pod, comprising a plurality of digital cards in a given data storage system of a plurality of data storage systems in a de-centralized data storage system architecture;

exposing, at the data pod accessing system, an interface configured to access the plurality of data storage systems in the de-centralized data storage system architecture;

receiving, through the interface, a digital card access request;

obtaining access to a set of digital cards, that are distributed across the plurality of data storage systems in the de-centralized data storage system architecture, through the data pod accessing system, wherein obtaining access comprises:

receiving a first representation of a first digital card from a first data storage system in the plurality of data storage systems; and

receiving a second representation of a second digital card from a second data storage system in the plurality of data storage systems; and

generating a digital card output at the data pod accessing system indicative of the set of digital cards by outputting the first and second representations as if the first digital card and the second digital card are stored in a single logical location.

11. The computer implemented method of claim 10 and further comprising:

Aggregating the set of digital cards, that are distributed across the plurality of data storage systems in the de-centralized data storage system architecture, based on an aggregation criterion to obtain an aggregated set of digital cards.

12. The computer implemented method of claim 10 wherein obtaining access to the set of digital cards comprises:

generating a data store request at the data pod accessing system based on the digital card access request;

sending the data store request to at least one of the plurality of data storage systems in the de-centralized data storage system architecture, the data store request including access control information for the at least one of the plurality of data storage systems to perform access control relative to the set of digital cards; and

receiving a representation of the set of digital cards from the at least one of the plurality of data storage systems in the de-centralized data storage system architecture based on the data store request.

13. The computer implemented method of claim 10 wherein generating a digital card output comprises:

loading the first and second representations into memory at the data pod accessing system;

joining the first and second representations to obtain a joined set of representations; and

outputting the joined set of representations.

14. The computer implemented method of claim 13 further comprising:

detecting a relationship input indicative of creating a relationship between the first digital card and the second digital card; and

modifying at least one of the first digital card and the second digital card to indicate the relationship.

15. The computer implemented method of claim 14 wherein detecting a relationship input comprises detecting the relationship input indicating that the first digital card contains the second digital card and wherein modifying at least one of the first digital card and the second digital card comprises:

modifying the first digital card to indicate that the first digital card contains the second digital card.

16. The computer implemented method of claim 10 further comprising:

detecting an activity performed relative to the digital card; and

providing an activity indicator to a graph management system that generates a graph corresponding to the digital card indicative of the activity performed relative to the digital card.

17. A computer implemented method, comprising:

exposing, at a data pod accessing system, an interface to access a set of digital cards of a plurality of digital cards stored on a de-centralized data storage system architecture, each of the plurality of digital cards being stored in a data pod comprising a plurality of digital cards in a given data storage system of a plurality of data storage systems in a de-centralized data storage system architecture, and each respective digital card of the plurality of digital cards representing a different digital item and including metadata from the respective digital item, and;

receiving, through the interface, a digital card access request to access the set of digital cards;

obtaining access to the set of digital cards from the data pods in the de-centralized data storage system architecture, wherein obtaining access comprises;

receiving a first representation of a first digital card from a first data storage system in the plurality of data storage systems, and

receiving a second representation of a second digital card from a second data storage system in the plurality of data storage systems; and

generating a digital card output at the data pod accessing system indicative of the set of digital cards, wherein generating a digital card output comprises;

loading the first and second representation into memory at the data pod accessing system;

joining the first and second representations to obtain a joined set of representations; and

outputting the joined set of representations.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE 2ND CONVEYING PARTY EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 060513 FRAME: 0754. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 14, 2023
From: DAS, SALIL; ALEVATTO GUIMARAES NETO, CEZAR AUGUSTO; ENGRAV, PETER LOREN; KRABACH, BRIAN SCOTT; CAKIRKAYA, DENIZ; BLOMQUIST, BRIAN CHARLES; TARGOSZ, CRAIG THOMAS; GARAPATI, SAROJINI
To: CORPORATION, MICROSOFT, CORP
Reel/Frame 064274/0703 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2022
From: DAS, SALIL; ALEVATTO GUIMARAES NETO, CEZAR AUGUSTO; ENGRAV, PETER LOREN; KRABACH, BRIAN SCOTT; CAKIRKAYA, DENIZ; BLOMQUIST, BRIAN CHARLES; TARGOSZ, CRAIG THOMAS; GARAPATI, SAROJINI
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 060513/0754 →
Continuity (1)
Related Publication 20230401212A1 · Dec 14, 2023
References Cited (41)
US 5600827A · Nakabayashi · 1997 [cited by applicant]
US 8838485B2 · Kiarostami · 2014 [cited by examiner]
US 11552799B1 · Parikh · 2023 [cited by examiner]
US 20050033719A1 · Tirpak et al. · 2005 [cited by applicant]
US 20070113271A1 · Pleunis · 2007 [cited by examiner]
US 20080313119A1 · Leskovec et al. · 2008 [cited by applicant]
US 20100076962A1 · Doyle · 2010 [cited by examiner]
US 20100306247A1 · Sidman · 2010 [cited by examiner]
US 20120147055A1 · Pallakoff · 2012 [cited by examiner]
US 20130290256A1 · Barrall et al. · 2013 [cited by applicant]
US 20170038935A1 · Matsushima · 2017 [cited by applicant]
US 20170169065A1 · Darcy · 2017 [cited by examiner]
US 20190188411A1 · Kroutik · 2019 [cited by examiner]
US 20190303509A1 · Greene · 2019 [cited by applicant]
US 20190303893A1 · Ramasamy · 2019 [cited by examiner]
US 20190369979A1 · Woods · 2019 [cited by examiner]
US 20190386969A1 · Verzun · 2019 [cited by examiner]
US 20200117818A1 · Latka · 2020 [cited by examiner]
US 20200134064A1 · Guha et al. · 2020 [cited by applicant]
US 20200143015A1 · LeBeau · 2020 [cited by examiner]
US 20200143367A1 · LeBeau · 2020 [cited by examiner]
US 20200233878A1 · Huang et al. · 2020 [cited by applicant]
US 20200250217A1 · Abhyankar · 2020 [cited by applicant]
US 20210174911A1 · Sharda · 2021 [cited by examiner]
US 20210312078A1 · Jayachandran · 2021 [cited by examiner]
US 20210326223A1 · Grunwald · 2021 [cited by examiner]
US 20210397653A1 · Russell et al. · 2021 [cited by applicant]
US 20220358241A1 · Palakodety · 2022 [cited by examiner]
US 20230088936A1 · Chalkley · 2023 [cited by examiner]
US 20230306547A1 · Patel · 2023 [cited by examiner]
US 20230316261A1 · Agbamu · 2023 [cited by examiner]
US 20230401178A1 · Das · 2023 [cited by applicant]
US 20240086467A1 · Sirkin · 2024 [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US23/019051”, Mailed Date: Jul. 10, 2023, 11 Pages. [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US23/019052”, Mailed Date: Aug. 4, 2023, 11 Pages. [cited by applicant]
Non-Final Office Action mailed on Jan. 4, 2024, in U.S. Appl. No. 17/839,012, 18 pages. [cited by applicant]
Non-Final Office Action mailed on Nov. 21, 2023, in U.S. Appl. No. 17/943,760, 42 pages. [cited by applicant]
Final Office Action mailed on Apr. 16, 2024, in U.S. Appl. No. 17/943,760, 40 Pages. [cited by applicant]
Notice of Allowance mailed on May 29, 2024, in U.S. Appl. No. 17/839,012, 08 pages. [cited by applicant]
Notice of Allowance mailed on Aug. 7, 2024, in U.S. Appl. No. 17/943,760, 13 pages. [cited by applicant]
Notice of Allowance mailed on Sep. 23, 2024, in U.S. Appl. No. 17/839,012, 08 pages. [cited by applicant]