Process for real-time data exchange
AssigneeMicrosoft Technology Licensing, LLC
InventorsJason Mathew Eilts, Alvin Chardon, Ben Greenier
Life of this patent
Estimating the term…
Abstract
A process for real-time data exchange allows for sharing data, including metadata such as user data and phone data, between multiple handsets so that handsets may automatically display such data upon initiation or establishment of a telephone call, and in some arrangements throughout the life of the call. In this way, the need for subsequent data transmissions is reduced or eliminated, making bandwidth usage more efficient and conserving battery power.
Claims20
A method performed by an application that is operable on a first device that has capabilities for conducting communications over a network with a second device, comprising:
- using the application for collecting local data from sources associated with the first device;
- in response to an occurrence of a communication over the network between the first and second devices:
- identifying metadata that has relevance to the communication, the metadata having different types and further being derived from the collected local data;
- filtering the identified metadata to eliminate metadata that does not meet one or more predetermined freshness criteria, wherein the predetermined freshness criteria vary for different types of metadata;
- transmitting the metadata meeting the predetermined freshness criteria to the second device over the network for display on the second device, wherein metadata transmissions are reduced for less-frequently-varying data;
- and
- responsively to no metadata meeting the predetermined freshness criteria, transmitting, to the second device over the network for display on the second device, default data having relevance to the communication, the default data being of one or more data types from among a plurality of data types, wherein each of the plurality of data types are respectively associated with different sources of local data.
One or more computer-readable storage media storing instructions which, when executed by one or more processors in a first device that is configured to participate in a communication with a second device using a network on which a service is operable, cause the first device to:
- operate a local data gathering client, the operating including collecting data from a plurality of data sources associated with the first device, each of the data sources having a respective different data type, and identifying collected data from the data sources as being relevant to the communication by comparing the collected data to one or more criteria, wherein the data collected from the plurality of data sources have respective data types;
- transmit the identified data as first metadata to a service;
- responsively to the communication engagement between the first device and the second device,
- identify a portion of real-time data that is relevant to the communication by comparing the real-time data to one or more criteria,
- filter the identified real-time data to eliminate data that does not meet one or more predetermined freshness criteria, wherein the predetermined freshness criteria vary for different types of metadata, and
- transmit the real-time data meeting the freshness criteria as second metadata to the service;
- and
- transmit default data relevant to the communication, the default data collected from one or more default data sources among the plurality of data sources responsively to data from the other data sources not identified as being relevant to the communication through operations of the local data gathering client,
- wherein, responsively to the participation in the communication at the first device, at least a portion of the first or second metadata or the default data is transmitted to the second device from the service for display on a user interface of the second device.
A local device having telephony capabilities for engaging in a communication with a remote device, comprising:
- one or more processors;
- a user interface for displaying communication information including metadata and for receiving selections by a user of the local device as inputs;
- a network interface for sending and receiving the communication information;
- and
- one or more memory devices storing computer-executable instructions which, when executed by the one or more processors, causes the local device to:
- harvest data from one or more data sources available to the local device, the harvesting being performed in real time for the communication,
- analyze whether the harvested data meets one or more relevancy criteria,
- communicate data meeting the one or more relevancy criteria to a remote service and receive data from the remote service over the network interface, in which the communication is performed according to variability of the harvested data,
- configure the user interface to enable a user to select data types, wherein data having the selected data types is transmitted by default to the remote device in response to the analysis identifying no data harvested by the local data gathering client that meets the one or more relevancy criteria,
- determine which data received from the remote service is rendered on the user interface, and
- render the data received from the remote service responsively to the determining.
Dependencies are inferred from the claim text.