IP Library › Granted Patent US 11,240,343
Granted Patent B2
US 11,240,343 · App. 16/563,683 · Granted Feb 1, 2022

Device profile determination and policy enforcement

Inventors: Amer Hassan (Kirkland, WA); Mike Davis (Seattle, WA); Nikolay Muravlyannikov (Sammamish, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L67/327H04L67/141H04L67/322
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 11,240,343
App. No.
16/563,683
Granted
Feb 1, 2022
Kind
B2
Abstract

Techniques for operating a communication platform herein can be used to select a profile to be used for configuration one or more parameters of the communication session. These techniques include receiving a signal from a user device to initiate a communication session between a first party and a second party via the communications platform; determining a context of the communication session based on contact information, calendar information, or both associated with the first party, the second party, or both; selecting a profile from a plurality of profiles based on the context; and handling the requested communication session according to the selected profile by setting one or more communications parameters based on the selected profile.

Claims (65)

1. A system operating a communications platform for handling communication sessions, comprising:

a processor; and

a computer-readable medium storing executable instructions for causing the processor to control the system to perform:

storing, in a data storage, a plurality of profiles associated with a first user of the communications platform and including a first profile, each profile comprising:

profile context information defining a condition for selecting the profile; and

profile configuration information comprising a set of parameters used by the communications platform to establish a requested communication session, wherein the set of parameters defines a quality or type of the requested communication session;

receiving, from a first device associated with the first user via a communication network, a request to initiate a communication session using contact information associated with a second user;

in response to receiving the request, determining whether the contact information associated with the second user meets the condition defined in the profile context information of the first profile; and

in response to determining that the contact information associated with the second user meets the condition defined in the profile context information of the first profile, establishing the communication session using the set of parameters of the profile configuration information of the first profile,

wherein, for determining whether the contact information associated with the second user meets the condition defined in the profile context information of the first profile, the instructions further cause the processor to control the system to determine whether the contact information associated with the second user corresponds to an entry in a contact list associated with the first user.

2. The system of claim 1 , wherein, for determining whether the contact information associated with the second user corresponds to the condition defined in the profile context information of the first profile, the instructions further cause the processor to control the system to perform determining whether the contact information associated with the second user corresponds to an entry in calendar information associated with the first user.

3. The system of claim 1 , wherein:

the contact information associated with the second user comprises a callee number of the second user, and

for determining whether the contact information associated with the second user meets the condition defined in the profile context information of the first profile, the instructions further cause the processor to control the system to perform determining whether the callee number of the second user falls within a range of numbers associated with an entry in the contact list associated with the first user.

4. The system of claim 1 , wherein:

each set of parameters comprises a bandwidth or network traffic priority that defines a quality of the requested communication session, and

for establishing the communication session, the instructions further cause the processor to control the system to perform allocating, to the communication session, the bandwidth or network traffic priority defined by the set of parameters of the profile configuration information of the first profile.

5. The system of claim 1 , wherein the instructions further cause the processor to control the system to perform:

determining an originating network associated with the request received from the first device; and

determining that the first profile is permitted to be utilized with the originating network.

6. The system of claim 1 , wherein:

the type of the requested communication session defined by each set of parameters includes one of communications via a cellular network, communications via a public switched telephone network, a text-based chat type communication session, voice calling type communication session and video calling type communication session, and

for establishing the communication session, the instructions, when executed by the processor, further cause the processor to control the system to perform implementing the type of the requested communication session defined by the set of parameters of the profile configuration information of the first profile.

7. A method of operating a system operating a communications platform, comprising:

storing, in a data storage, a plurality of profiles associated with a first user of the communications platform and including a first profile, each profile comprising:

profile context information defining a condition for selecting the profile; and

profile configuration information comprising a set of parameters used by the communications platform to establish a requested communication session, wherein the set of parameters defines a quality or type of the requested communication session;

receiving, from a first device associated with the first user via a communication network, a request to initiate a communication session using contact information associated with a second user;

in response to receiving the request, determining whether the contact information associated with the second user meets the condition defined in the profile context information of the first profile; and

in response to determining that the contact information associated with the second user meets the condition defined in the profile context information of the first profile, establishing the communication session using the set of parameters of the profile configuration information of the first profile,

wherein determining whether the contact information associated with the second user meets the condition defined in the profile context information of the first profile comprises determining whether the contact information associated with the second user corresponds to an entry in a contact list associated with the first user.

8. The method of claim 7 , wherein determining whether the contact information associated with the second user corresponds to the condition defined in the profile context information of the first profile further comprises determining whether the contact information associated with the second user corresponds to an entry in calendar information associated with the first user.

9. The method of claim 7 , wherein:

the contact information associated with the second user comprises a callee number of the second user, and

determining whether the contact information associated with the second user meets the condition defined in the profile context information of the first profile comprises determining whether the callee number of the second user falls within a range of numbers associated with an entry in the contact list associated with the first user.

10. The method of claim 7 , wherein:

each set of parameters comprises a bandwidth or network traffic priority that defines a quality of the requested communication session, and

establishing the communication session comprises allocating, to the communication session, the bandwidth or network traffic priority defined by the set of parameters of the profile configuration information of the first profile.

11. The method of claim 7 , further comprising:

determining an originating network associated with the request received from the first device; and

determining that the first profile is permitted to be utilized with the originating network.

12. The method of claim 7 , wherein:

the type of the requested communication session defined by each set of parameters includes one of communications via a cellular network, communications via a public switched telephone network, a text-based chat type communication session, voice calling type communication session and video calling type communication session, and

establishing the communication session comprises implementing, to the communication session, the type of the requested communication session defined by the set of parameters of the profile configuration information of the first profile.

13. A non-transitory computer readable medium containing instructions which, when executed by a processor, cause the processor to control a system operating a communications platform to perform functions of:

storing, in a data storage, a plurality of profiles associated with a first user of the communications platform and including a first profile, each profile comprising:

profile context information defining a condition for selecting the profile; and

profile configuration information comprising a set of parameters used by the communications platform to establish a requested communication session, wherein the set of parameters defines a quality or type of the requested communication session;

receiving, from a first device associated with the first user via a communication network, a request to initiate a communication session using contact information associated with a second user;

in response to receiving the request, determining whether the contact information associated with the second user meets the condition defined in the profile context information of the first profile; and

in response to determining that the contact information associated with the second user meets the condition defined in the profile context information of the first profile, establishing the communication session using the set of parameters of the profile configuration information of the first profile,

wherein, for determining whether the contact information associated with the second user meets the condition defined in the profile context information of the first profile, the instructions further cause the processor to control the system to determine whether the contact information associated with the second user corresponds to an entry in a contact list associated with the first user.

14. The non-transitory computer readable medium of claim 13 , wherein, determining whether the contact information associated with the second user corresponds to the condition defined in the profile context information of the first profile, the instructions, when executed by the processor, further cause the processor to control the system to perform determining whether the contact information associated with the second user corresponds to an entry in calendar information associated with the first user.

15. The non-transitory computer readable medium of claim 13 , wherein:

the contact information associated with the second user comprises a callee number of the second user, and

for determining whether the contact information associated with the second user meets the condition defined in the profile context information of the first profile the instructions, when executed by the processor, further cause the processor to control the system to perform determining whether the callee number of the second user falls within a range of numbers associated with an entry in the contact list associated with the first user.

16. The non-transitory computer readable medium of claim 13 , wherein:

each set of parameters comprises a bandwidth or network traffic priority that defines a quality of the requested communication session, and

for establishing the communication session, the instructions, when executed by the processor, further cause the processor to control the system to perform allocating, to the communication session, the bandwidth or network traffic priority defined by the set of parameters of the profile configuration information of the first profile.

17. The non-transitory computer readable medium of claim 13 , wherein the instructions, when executed by the processor, further cause the processor to control the system to perform:

determining an originating network associated with the request received from the first device; and

determining that the first profile is permitted to be utilized with the originating network.

18. The non-transitory computer readable medium of claim 13 , wherein:

the type of the requested communication session defined by each set of parameters includes one of communications via a cellular network, communications via a public switched telephone network, a text-based chat type communication session, voice calling type communication session and video calling type communication session, and

for establishing the communication session, the instructions, when executed by the processor, further cause the processor to control the system to perform implementing, to the communication session, the type of the requested communication session defined by the set of parameters of the profile configuration information of the first profile.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: HASSAN, AMER; DAVIS, MIKE; MURAVLYANNIKOV, NIKOLAY
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 050299/0043 →
Continuity (1)
Related Publication 20210075885A1 · Mar 11, 2021