Application programming interface arranged to interface with a plurality of data sources

US12019684B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12019684-B2
Application numberUS-201715409464-A
CountryUS
Kind codeB2
Filing dateJan 18, 2017
Priority dateJan 18, 2017
Publication dateJun 25, 2024
Grant dateJun 25, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An API on a server system automatically gathers an instance of each multiple resources from different sources, storing each instance in the server system. Later, a call to the API is received from a querying application, the call comprising a search query comprising. In response, the API selects one or more of the plurality of resources as search results based on evaluating the criterion or criteria against the already-gathered instances of the resources as stored in the server system. The API returns a search response to the querying application, making the corresponding stored instances available to a consuming party In embodiments the API is “holistic” in nature, in that the search results may comprise different types of resource (e.g. file, email, task), from different types source (e.g. type of application they originate from), and/or related to the consuming part by different types of activity (e.g. used, modified shared, trending).

First claim

Opening claim text (preview).

The invention claimed is: 1. A system comprising: one or more servers connected by a network, a server of one or more servers implementing an application programming interface (API) for performing operations comprising: pre-fetching, automatically by the API, file instances of different types of files from different types of applicatioins prior to receiving a search query relating to at least one file of the files from a querying application, wherein: pre-fetching, by the API, the file instances enables the API to avoid, when the search query is received, reactively making separate requests to the different types of applications using separate APIs that are specific to each of the different types of applications; the different types of applications comprise a plurality of target applications other than the querying application; each file instance of the file instances comprises metadata describing user activity between a user and a file, the metadata including personal metadata that is specific to each file instance of the file instances; and pre-fetching, by the API, the file instances comprises: storing, by one or more automated manager functions of a server system implementing the API, a primary copy of each of the files in a respective electronic mailbox of an owner user who authored a respective file, the respective electronic mailbox of the owner user being implemented in the server system, wherein at least one electronic mailbox of the server is implemented in a separate housing, rack, room, building or geographic location from another electronic mailbox of the one or more servers; and storing, by the one or more automated manager functions of the server system, a secondary copy of the respective file in a repective electronic mailbox of a second party that has formed a relationship with the respective file, the respective electronic mailbox of the second party being implemented in the server system, wherein the relationship is characterized by the user activity between the second party and the respective file, the owner user being different from the second party; receiving, by the API from the querying application, the search query; in response to receiving the search query, selecting, as search results, one or more file instances of the file instances that have been stored in one or more electronic mailboxes as part of the pre-fetching based on evaluating search criteria of the search query against the metadata of the one or more file instances; and returning, by the API to the querying application, a search response indicative of the search results, wherein the one or more file instances are made available for access from the one or more electronic mailboxes through the querying application. 2. The server system of claim 1 , wherein the different types of applications comprise any two or more of: word processing application, spreadsheet application, slideshow application, drawing application, email client, IM client, VoIP client, calendar application, collaborative workspace application, social media application, and file sharing application. 3. The server system of claim 1 , wherein, if the search query does not specify a type of application as a search criterion, multiple different types of applications are search for inclusion in the search results. 4. The server system of claim 1 , wherein the files comprise at least two file types including word processing files, spreadsheet files, slideshow files, drawing files, image files, and video files. 5. The server system of claim 4 , wherein the different types of files comprise any two or more of: files, stored communications, calendar events, tasks, sites, and/or user profile information. 6. The server system of claim 4 , wherein multiple different types of files are searched for inclusion in the search results when the search query does not specify a type of files as a search criterion. 7. The server system of claim 1 , wherein each file instance of the file instances is stored in a form comprising a first portion and metadata, the first portion comprising either a duplication of the content of the file or a link to the file stored elsewhere. 8. The system of claim 1 , wherein the relationship indicates: the file has been shared with the second party by one or more other parties; or the file has been shared by the second party with the one or more other parties. 9. the system of claim 8 , wherein file instances of the files related to the user by different types of activity are included in the search results when the search query does not specify a start type of activity as a search criterion. 10. The system of claim 1 , wherein at least one of the different types of applications are provided by a provider of the system but are hosted eleswhere within the system. 11. The system of claim 1 , wherein at least one of the different types of applications are third-party sources outside of the system. 12. The system of claim 1 , wherein at least two of the one or more servers are implemented in separate housing, racks, rooms, building or geographic locations. 13. The system of claim 1 , wherein: a server storage of the system comprises separate storage areas for a plurality of parties. 14. The server system of claim 13 , wherein at least some of the separate storage areas are implemented on separate servers in separate housings, racks, room, buildings or geographic locations. 15. A method comprising: pre-fetching, by an application programming interface (API), file instances of different types of files from different types of applications prior to receiving a search query relating to at least one file of the files from a queryiung application, wherein: pre-fetching the file instances enables the API to avoid, when the search query is received, reactively making separate requests to the different types of applications using separate APIs that are specific to each of the different types of applications; the different types of applications comprise a plurality of target applications other than the querying application; each file instance of the file instances comprises metadata describing user activity between a user and a file, the metadata including personal metadata that is specific to each file instance of the file instances; and pre-fetching the file instances comprises: storing a primary copy of each of the files in a respective electronic mailbox of an owner user who authored a respective file, the respective electronic mailbox of the owner user being implemented in a server system implementing the API, wherein at least one electronic mailbox of the server system is implemented in a separate housing, rack, room, building or geographic locatioin from another electronic mailbox of the server system; and storing a secondary copy of the respective file in a respective electronic mailbox of a second party that has formed a relationship with the respective file, the respective electronic mailbox of the second party being implemented in the server system, wherein the relationship is characterized by the user activity between the second party and the respective file, the owner user being different from the second party; receiving, by the API from the querying application, the search query; in response to receiving the search query, selecting, as search results, one or more file instances of the file instances that have been stored in the one or more electronic mailboxes as part of the pre-fetching based on evaluating search criteria of the search query against the metadata of the one or more file instances; and returning, by the API to the que

Assignees

Inventors

Classifications

  • G06F16/951Primary

    Indexing; Web crawling techniques · CPC title

  • between a Database Management System and a front-end application · CPC title

  • Presentation of query results · CPC title

  • using system suggestions · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12019684B2 cover?
An API on a server system automatically gathers an instance of each multiple resources from different sources, storing each instance in the server system. Later, a call to the API is received from a querying application, the call comprising a search query comprising. In response, the API selects one or more of the plurality of resources as search results based on evaluating the criterion or cri…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/951. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 25 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).