User availability in personal information management services

By sending and processing calendar entries in personal information management services, the usability information management problems in cross-domain sharing and multi-calendar management are solved, and simplified meeting arrangements and user privacy protection is achieved.

CN113906461BActive Publication Date: 2025-04-18MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080032968.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-05-02
Filing Date
2020-04-07
Publication Date
2025-04-18
Estimated Expiration
2040-04-07

AI Technical Summary

Technical Problem

When existing personal information management services handle multiple calendars and cross-domain sharing, it is difficult to effectively manage user availability information, resulting in a large amount of back and forth communication required when scheduling meetings and easily expose user personal information.

Method used

By configuring the processor to perform personal information management services stored in memory, sending a first calendar entry and a second calendar entry for display on the calendar interface, and responding when requesting availability of the user, providing a first calendar entry including the first calendar entry details and a second calendar entry without the second calendar entry details.

Benefits of technology

Simplifies the timing of shared events for multiple participants, reduces traffic, and provides users' real usability information while maintaining user privacy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113906461B_ABST
    Figure CN113906461B_ABST
Patent Text Reader

Abstract

A computing device includes a processor and associated memory. The processor is configured to: execute a personal information management service stored in the memory to send a first calendar entry for display on a calendar interface for a user. The first calendar entry is for a first account of a user of a first domain. The processor sends a second calendar entry for display on the calendar interface. The second calendar entry is for a calendar of a second account of a user of a second domain. The processor receives a request for the user's availability from a requesting user having a third account of the first domain. In response to the request, the processor sends the first calendar entry including details of the first calendar entry and the second calendar entry without details of the second calendar entry to the requesting user.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Many personal information management services include calendars that contain availability information that can be viewed by others in the same organization. For example, a user's work calendar might indicate when the user is available for a colleague to schedule a meeting. However, many people maintain multiple calendars, such as a work calendar and a personal calendar, and items on one calendar might affect the user's availability during free time on another calendar. In this case, scheduling an event shared by multiple participants can require a lot of back-and-forth communication to find a feasible time slot. To avoid this hassle, some users add entries to their work calendars to block off time for personal events that better represent their work availability, but they run the risk of exposing personal information or forgetting to manually add such entries. Summary of the invention

[0002] A computing device disclosed herein may include a processor and associated memory. The processor may be configured to execute a personal information management service stored in the memory to send a first calendar entry for display on a calendar interface for a user. The first calendar entry may be for a first account of a user of a first domain. The processor may send a second calendar entry for display on the calendar interface. The second calendar entry may be for a calendar of a second account of a user of a second domain. The processor may receive a request for user availability from a requesting user having a third account of the first domain. In response to the request, the processor may send the first calendar entry including details of the first calendar entry and the second calendar entry without details of the second calendar entry to the requesting user.

[0003] This disclosure is provided to introduce in simplified form a selection of design concepts further described below in the detailed description. This disclosure is not intended to identify key features or important features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. In addition, the claimed subject matter is not limited to implementations that address any or all of the shortcomings noted in any part of this disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0004] Figure 1 is a schematic diagram of a computing system that implements personal information management services.

[0005] Figure 2 It is to realize the real availability characteristics of personal information management services Figure 1 The architecture diagram of the computing system.

[0006] Figure 3A-3C is an example graphical user interface for activating a true availability feature between linked accounts on various client devices.

[0007] Figure 4A-4Bis a sample graphical user interface for authenticating access to linked accounts.

[0008] Figure 5 is an example calendar interface with the real availability feature activated.

[0009] Figure 6 is an example calendar interface where a second account has been linked but is hidden.

[0010] Figure 7 is a sample graphical user interface for a personal information management service that uses user availability to schedule meetings.

[0011] Figure 8 It is a flowchart of a personal information management method.

[0012] Fig. 9 is an example computing system according to embodiments of the present description. DETAILED DESCRIPTION

[0013] Figure 1 is a schematic diagram of a computing system 100 that implements a personal information management service 12. In short, the computing system 100 may include at least one processor and associated memory. For example, the computing system 100 may include one or more server computing devices 10 having a processor 10A and a memory 10B, a first client device 14 having a processor 14A and a memory 14B, and a second client device 16 having a processor 16A and a memory 16B, as well as other devices connected via the Internet, etc. The at least one processor may be configured to execute the personal information management service 12 stored in the memory so that one or more of the computing devices 10, 14, 16 implement the various functions described below. The personal information management service 12 may be a cloud-based service, including, for example, an email service, a calendar service, a task management service, and a contact service. An example of a personal information management service 12 is Office of However, other suitable services may also be used.

[0014] Figure 2 It is to realize the real availability characteristics of personal information management service 12 Figure 1Here, the user has two accounts at two different domains. The user's first account userl@domainl.com may be a work account authenticated by a first set of credentials and may belong to a first domain D1 inside the computing system 100. For example, the first domain D1 may be hosted by one or more server computing devices 10. The first domain D1 (domainl.com) may be directly hosted by a server of a company that uses the first domain D1 and the user works on the server, or it may be hosted by a server of a personal information management service provider, such as Office Or other companies that provide email and calendar services. In the case of using a service provider, the personal information management service 12 can be executed to display a calendar interface 18 for the user at the first client device 14 (see Figure 5 and Figure 6 ). Calendar interface 18 can display calendar 20 of the first account. For example, first client device 14 can run a software client (e.g. desktop), or point to a web portal such as Outlook Web ) web browser.

[0015] However, the user may also have a second account in a second domain D2 that is external to the computing system 100. The second account may be a personal account, a work account for a second job, etc., and may contain a second calendar 24 with entries indicating the user's availability. In one example, the first domain D1 and the second domain D2 may be controlled or owned by different entities. For example, The company may control one of the domains, while a third party may control the other domain. Typically, domains owned or controlled by different parties cannot be relied upon to share a software interface (e.g., an API) that enables coordinated communications between the domains. The disclosed configuration provides a potential technical advantage in that some calendar information can be shared in a manner that maintains user privacy without providing an API for shared communications between domains. To link the accounts together, a user can request the personal information management service 12 at a first client device 14 to add a second account. Because the second account is in the second domain D2 rather than the first domain D1, the personal information management service 12 requests an external server 22 having a processor 22A and associated memory 22B that hosts the second domain D2 to authenticate access to the second account (S1). For example, an open authorization (OAuth) handshake can be performed between the personal information management service 12 and the external server 22 (see Figure 4A-4B). After the user submits the login credentials and performs a handshake (S2), the personal information management service 12 can then receive an authentication token. The authentication token can be stored in the memory 10B and used to retrieve a copy of the calendar of the second account from the external server 22 of the second domain D2 (S3).

[0016] Now that the user's accounts have been linked, the user can access the calendars of both accounts from a client running on the client device 14. However, other users from the user's work network, that also have accounts in the first domain D1, cannot see the calendar of the second account, even if they have permission to view the calendar of the user's first account. In order to display the user's true availability, the user can activate the true availability feature of the personal information management service 12 at the first client device 14 (S4). When the server computing device 10 receives an indication that the true availability feature has been turned on, the mailbox of the first account (including the calendar 20 of the first account) can be configured for the true availability feature (S5). However, the IT administrator may be able to turn on / off the true availability feature and account linking on a domain or network basis or on a user basis.

[0017] The real availability feature may include various customizable settings, such as automatic synchronization and privacy that can be set at the IT administrator level and / or the user level, and automatic sharing can be triggered for the calendar 24, which can be the default calendar of the second account (S6). Alternatively, the calendar 24 can be a secondary calendar of the second account, and the user can select from multiple calendars of the second account. In addition, both the default calendar and one or more secondary calendars can be shared as a combined calendar or as separate calendars. Then, a copy of the calendar 24 of the second account can be stored in a memory of a server of the first domain D1 (e.g., the memory 10B of the server computing device 10) in a sandbox state (S7). In the sandbox state, all data belonging to the second account (which can be the user's personal data) can be completely private and can only be accessed by the user in the secure folder 25. Even the IT administrator of the first domain D1 is blocked from accessing the sandbox data. In addition, when a request to unlink the second account from the first account is received, the one or more processors can also be configured to delete the copy of the calendar 24 of the second account. In this way, the personal information management service 12 can comply with privacy regulations regarding personal data.

[0018] After the real availability feature is activated and the calendar 24 of the second account is sandboxed, when the user checks their own availability (S8), or an authorized user checks the user's availability, the server computing device 10 filters all linked calendars, including the calendars of the first account and the second account (S9), and then the real availability feature can present the user's availability (S10), taking into account all linked calendars.

[0019] Figure 3A-3C is an example graphical user interface for activating a true availability feature between linked accounts on various client devices (eg, client devices 14 , 16 ). Figure 3A An interface 26A is shown that may be displayed on a web-based portal accessed by a client device. For example, Figure 3B Interface 26B is shown as being displayed on a desktop client running on a desktop or laptop client device. Figure 3C An interface 26C is shown that may be displayed on a mobile application running on a mobile client device such as a smart phone. Once the real availability feature is activated via any client device, the availability indicated by the second account will be included when reporting the user's availability across all client devices authorized to view the user's availability. In all described examples, the user can turn off the real availability feature at any client device by accessing the feature control. In addition, while only one second account (userl@domain2.com) is shown, additional accounts are linkable.

[0020] Figure 4A-4B Is used to authenticate Figure 2 An example graphical user interface for accessing linked accounts in step S2 of . As described above, accounts may be linked via an OAuth handshake, although other suitable authentication methods may be employed. Figure 4A In the interface 28A, after the user enters the name of the second account, the user is prompted to enter a password for authenticating the second account. Figure 4B In the interface 28B, after the user's credentials are authenticated, the user can confirm or deny any permission requests listed by the personal information management service 12. If the permission request is denied, it may cause the authentication to fail and the second account may not be linked. If the permission request is confirmed, the account can be linked.

[0021] As described above, the computing system 100 may include one or more server computing devices 10. One or more of the server computing devices 10 may be examples of computing devices including a processor 10A and an associated memory 10B. In short, the processor 10A may be configured to: execute the personal information management service 12 stored in the memory 10B to send a first calendar entry 20A for display on a calendar interface 18 for a user, the first calendar entry 20A being for a first account of a user of a first domain D1. The computing device may send a second calendar entry 24A for display on the calendar interface 18, the second calendar entry 24A being for a calendar 24 of a second account of a user of a second domain D2. The computing device may receive a request for user availability from a requesting user having a third account of the first domain D1. In response to the request, the computing device may send a first calendar entry 20A including first calendar entry details 20B and a second calendar entry 24A without second calendar entry details 20B to the requesting user. Reference will be made below to Figure 5-Figure 8 The graphical interface shown explains this functionality of the personal information management service 12 in more detail.

[0022] Figure 5 is an example calendar interface 18 in which the real availability feature is activated. Here, the personal information management service 12 can be executed to cause the client device 14 to display a first calendar entry 20A on the calendar interface 18. The first calendar entry 20A can be for a first account of the user. Here, a second account has been linked to the first account, but the user has chosen not to display the calendar 24 of the second account at the client device 14 by unchecking the box 30. Therefore, Figure 5 All calendar entries currently displayed in belong to the first account. Figure 3A-3C In addition, prompt 32 may inform the user that the real usability feature can be turned on. In this example, the user selects "Try it" and activates the real usability feature, such as Figure 6 shown.

[0023] Figure 61 is an example calendar interface 18 in which a second account has been linked but hidden. As shown, the personal information management service 12 can be executed to cause the client device 14 to display a second calendar entry 24A on the calendar interface 18. The second calendar entry 24A can be for the calendar 24 of the user's second account. Because the user has turned off viewing the calendar 24, there is no real availability feature, so the second calendar entry 24A will not be displayed. However, because the real availability feature has been activated, the second calendar entry is still displayed even if the calendar 24 is hidden. However, the second calendar entry 24A may lack calendar entry details such as subject, location, other participants, etc. The second calendar entry 24A without the second calendar entry details can include a time period (here, 12:30 p.m. to 1:30 p.m. on September 18, 2018) and an availability status (here, busy). This availability information can facilitate scheduling between multiple participants without unnecessarily exposing personal data. In addition, because it is the user who views their own calendar 24, the hidden second calendar entry details 24B can be viewed by, for example, hovering the cursor 34 over the second calendar entry 24A or clicking on it. The availability status of the second calendar entry 24A may be set by a combination of default settings and user input at the calendar 24 of the second account before it is retrieved by the personal information management service 12. The time period and availability status indicated by the second calendar entry 24A, combined with corresponding information of other calendar entries of the first account and the second account, may be used for other features of the personal information management service 12, and possibly even for other applications. For example, an indication of the current availability of the user may be presented to another user of the first domain D1 when an email is received from the user, or when the user logs into an instant messaging application.

[0024] To display the second calendar entry 24A on the calendar interface 18 of the first client device 14, the first client device 14 may query the server 22 of the second domain D2. In this way, the first client device 14 may synchronize changes from the server 22 of the second domain D2 (by Figure 1 36 in the figure). Instead of contacting the server 22 of the second domain D2, the first client device 14 may receive the second calendar entry 24A from the sandboxed secure folder 25 in the server computing device 10 of the computing system 100. Thus, the server computing device 10 may be configured to: receive an update to the second calendar entry 24A from the server 24 of the second domain D2 (by Figure 1 ), and the update is sent to the user for display on the calendar interface 18 (indicated by arrow 38 in FIG. Figure 1 40 in the figure).

[0025] The calendar interface 18 may include a first calendar entry 20A and a second calendar entry 24A in an aggregated calendar view for the user. Alternatively, the calendar 24 of the second account may be displayed as a separate calendar adjacent to the calendar 20 of the first account. When the user is viewing the calendar interface 18, the calendar interface may visually distinguish between the calendar entries of the first account and the calendar entries of the second account. In the illustrated example, the first entry and the second entry 20A, 24A are visually distinguished in a variety of ways. The first entry 20A may be opaque, while the second entry 24A may be transparent. The second entry 24A may be displayed with the second account name ("userl@domain2.com") and a status label ("busy") indicating availability, while the first entry 20A may lack each of these in the main view of the calendar interface 18. For example, the first entry 20A may be colored a first color or filled with a first pattern, while the second entry 24A may be colored a second color or filled with a second pattern. Other suitable visual indicators may be used. In the illustrated example, since the box 30 is not selected, the second entry 24A may be transparent. However, if the user checks box 30 to turn on display of the second account's calendar 24, then in addition to displaying the second calendar entry details 24B, the second entry 24A may be made opaque and may also be set to a different color than the first entry 20A.

[0026] Figure 7 is an example graphical user interface 42 of a personal information management service 12 for scheduling meetings using user availability. The personal information management service 12 can receive a request for user availability from a requesting user having a third account with a first domain D1 via a second client device 16. In this example, the interface 42 is presented to the requesting user at the client device 16, and the request is made by entering the user's name into a participant field 44. When the requesting user user2@domainl.com uses the scheduling assistant feature of the personal information management service 12 to set a meeting time with a user, based on the authorization settings, the requesting user is able to see a simplified calendar entry for each user (including the user) invited to the meeting. The requesting user is also able to see a third calendar entry 46A of the requesting user's own calendar 46, including third calendar entry details 46B. Although the details 46B are in Figure 7 , but can be viewed as in the third calendar entry 46A by hovering the cursor 34 over the third calendar entry 46A, etc. Figure 6 View additional details as in interface 18 of .

[0027] Since the user has turned on the real availability feature, in response to the request, the personal information management service 12 can cause the second client device 16 to display the first calendar entry 20A including the first calendar entry details 20B, and the second calendar entry 24A without the second calendar entry details 24B. In addition, even if the second calendar entry details 24B are removed, the second calendar entry 24A can still include, for example, an indication that the entry 24A belongs to the user (i.e., the entry is listed opposite the recipient field 44 in which "Userl (User 1)" is entered), a time period and date (here, Thursday, September 19, 2018, starting at 12 noon) and an availability status (here, based on the legend 48 provided in the interface 42, the availability status is "busy"). The row 50 corresponding to "all participants" can block time if they are unavailable based on any participant's respective calendar entries. Therefore, as shown, considering both the user's first account and the second account, the requesting user is able to see the user's real availability without exposing the user's personal information to others in the first domain D1.

[0028] Although Figure 6 An example calendar interface 18 is shown in which a second calendar entry 24A of the user is displayed without the second calendar entry details 24B, but when a request is received from the user to hide all calendar entries from the second account in the calendar interface 18 (e.g., by unchecking box 30), at least one processor 10A, 14A, 14B may be configured to: cause the first client device 14 to stop displaying the second calendar entry 24A in the calendar interface 18, such as Figure 5 As shown. However, at least one processor 10A, 14A, 14B can be configured to cause the second client device 16 to continue to allow the requesting user to access the second calendar entry 24A without the second calendar entry details 24B. Therefore, because the real availability feature of the first account is still turned on, even if the user turns off the display of the calendar 24 of the second account in the calendar interface 18 of any given client of the user, the user's combined availability from the two accounts is still presented to authorized users of the first domain D1. In addition, if the user inquires about their own availability by, for example, creating a new meeting invitation and using the scheduling assistant feature to view the availability of all attendees, the real availability feature can still provide the user's second calendar entry 24A without the second calendar entry details 24B.

[0029] Figure 8 A flowchart of a personal information management method 800 is shown. Figure 1 The following description of method 800 is provided with reference to computing system 100 shown in FIG. It will be appreciated that method 800 may also be performed in other contexts using other suitable components.

[0030] refer to Figure 8 At 802, method 800 may include sending a first calendar entry for display on a calendar interface for a user, the first calendar entry for a first account of the user of a first domain. For example, the first account may be a work account. At 804, method 800 may include storing an authentication token in a memory for retrieving a copy of the calendar of a second account of the user from a server of a second domain. For example, the second account may be a personal account. For example, the authentication token may be received from a server of a second domain as part of an OAuth handshake. At 806, method 800 may include storing a copy of the calendar of the second account in a sandboxed state in a memory. As described above, the copy may be sandboxed by setting a secure folder that only the user has access to. Alternatively, the copy of the calendar of the second account retrieved from the server of the second domain may remove personal information and may, for example, include a time and availability status without including a subject, location, or other attendees. Accordingly, since no personal information is stored in the server of the first domain to be exposed, sandboxing of the data of the second account may not be performed. At 808, method 800 may include sending a second calendar entry for display on the calendar interface, the second calendar entry being for a calendar of a second account of a user of the second domain. The second calendar entry may be displayed on the calendar interface because it is the user's own entry from the second account.

[0031] At 810, method 800 may include: receiving a request for user availability from a requesting user having a third account of the first domain. The requesting user may be a colleague, etc., authorized to be on the same work network as the user. The requesting user has a login certificate that has been authenticated to grant access to the personal information management service, and also has permission to view the user's non-private calendar entries. At 812, method 800 may include: in response to the request, sending a first calendar entry including details of the first calendar entry and a second calendar entry without details of the second calendar entry to the requesting user. In one example, the second calendar entry without details of the second calendar entry may include a time period and an availability status. Therefore, the requesting user may be notified of the user's availability without the user having to expose their personal information to other users of the first domain. In addition, if the requesting user does not have permission to view the user's calendar, both the first calendar entry and the second calendar entry may be displayed instead without the calendar entry details so that the user's availability is still communicated to the requesting user.

[0032] At 814, method 800 may include receiving an update to the second calendar entry from the server of the second domain, and at 816, sending the update to the user for display on the calendar interface. The client device used by the user may be configured to directly query the server of the second domain to synchronize the update, or the server of the first domain may synchronize the update to a sandboxed folder (if included) and then send the update to the client device. When a sandboxed folder is included, at 818, method 800 may include deleting the copy of the calendar of the second account upon receiving a request to unlink the second account from the first account. In this way, the user's private data may always be protected when linking accounts.

[0033] The systems and methods disclosed above can be used to merge a user's second calendar from outside a domain (e.g., a user's work email network) when the user or other users (e.g., colleagues) who have accounts in the same domain check the user's availability. This reduces the common back-and-forth scheduling effort of finding common openings in each meeting participant's schedule and does not require the user to add duplicate entries to two calendars. In addition, personal data is obfuscated before being sent to other users and is kept strictly confidential in a sandboxed folder from any other user or even IT administrators. Therefore, while the user's true availability is presented, the user's personal data is protected from exposure.

[0034] In some embodiments, the methods and processes described herein may be associated with a computing system of one or more computing devices. Specifically, these methods and processes may be implemented as computer applications or services, application programming interfaces (APIs), libraries, and / or other computer program products.

[0035] Fig. 9 A non-limiting embodiment of a computing system 900 that can perform one or more of the above-described methods and processes is schematically illustrated. The computing system 900 is shown in simplified form. The computing system 900 can embody the above-described and Figure 2 The illustrated computer device 10. The computing system 900 may take the form of one or more personal computers, server computers, tablet computers, home entertainment computers, network computing devices, gaming devices, mobile computing devices, mobile communication devices (e.g., smart phones), and / or other computing devices, as well as wearable computing devices such as smart watches and head-mounted augmented reality devices.

[0036] The computing system 900 includes a logic processor 902, a volatile memory 904, and a non-volatile storage device 906. The computing system 900 may optionally include a display subsystem 908, an input subsystem 910, a communication subsystem 912, and / or Fig. 9Other components not shown.

[0037] Logical processor 902 includes one or more physical devices configured to execute instructions. For example, a logical processor may be configured to execute instructions that are part of one or more applications, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more components, achieve a technical effect, or otherwise achieve a desired result.

[0038] The logical processor may include one or more physical processors (hardware) configured to execute software instructions. Additionally or alternatively, the logical processor may include one or more hardware logic circuits or firmware devices configured to execute hardware-implemented logic or firmware instructions. The processor of the logical processor 902 may be single-core or multi-core, and the instructions executed thereon may be configured for sequential, parallel and / or distributed processing. The various components of the logical processor may optionally be distributed in two or more separate devices, which may be remotely placed and / or configured for collaborative processing. Some aspects of the logical processor may be virtualized and executed by a remotely accessible networked computing device configured in a cloud computing configuration. In this case, it will be understood that these virtualized aspects run on different physical logical processors of various different machines.

[0039] The non-volatile storage device 906 includes one or more physical devices configured to store instructions executable by a logical processor to implement the methods and processes described herein. When implementing such methods and processes, the state of the non-volatile storage device 906 may be transformed—for example, to store different data.

[0040] The non-volatile storage device 906 may include a removable and / or built-in physical device. The non-volatile storage device 906 may include an optical memory (e.g., CD, DVD, HD-DVD, Blu-ray disc, etc.), a semiconductor memory (e.g., ROM, EPROM, EEPROM, flash memory, etc.), and / or a magnetic memory (e.g., a hard disk drive, a floppy disk drive, a tape drive, MRAM, etc.), or other mass storage device technology. The non-volatile storage device 906 may include a non-volatile, dynamic, static, read / write, read-only, sequential access, location addressable, file addressable, and / or content addressable device. It will be understood that the non-volatile storage device 906 is configured to retain instructions even when the non-volatile storage device 906 is powered off.

[0041] The volatile memory 904 may include a physical device that includes random access memory. The volatile memory 904 is typically used by the logical processor 902 to temporarily store information during the processing of software instructions. It should be understood that when the volatile memory 904 is powered off, the volatile memory 904 typically does not continue to store instructions.

[0042] Aspects of the logic processor 902, volatile memory 904, and non-volatile storage device 906 may be integrated together into one or more hardware logic components. Such hardware logic components may include, for example, field programmable gate arrays (FPGAs), program-specific and application-specific integrated circuits (PASIC / ASICs), program-specific and application-specific standard products (PSSP / ASSPs), systems on chips (SoCs), and complex programmable logic devices (CPLDs).

[0043] The terms "program" and "service" may be used to describe an aspect of the computing system 900, typically implemented in software by a processor to use portions of volatile memory to perform a specific function that involves a conversion process that specifically configures the processor to perform the function. Thus, a program or service may be instantiated via a logical processor 902 using portions of volatile memory 904 to execute instructions stored by a non-volatile storage device 906. It will be understood that different programs and / or services may be instantiated from the same application, service, code block, object, library, routine, API, function, etc. Likewise, the same program and / or service may be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc. The terms "program" and "service" may include individual or groups of executable files, data files, libraries, drivers, scripts, database records, etc.

[0044] When included, the display subsystem 908 can be used to present a visual representation of the data stored by the non-volatile storage device 906. The visual representation can take the form of a graphical user interface (GUI). Since the methods and processes described herein change the data stored by the non-volatile storage device, and thus convert the state of the non-volatile storage device, the state of the display subsystem 908 is also converted to visually represent the changes in the underlying data. The display subsystem 908 can include one or more display devices using almost any type of technology. Such a display device can be combined with the logical processor 902, the volatile memory 904 and / or the non-volatile storage device 906 in a shared housing, or such a display device can be a peripheral display device.

[0045] When included, the input subsystem 910 may include or interface with one or more user input devices (such as a keyboard, mouse, touch screen, or game controller). In some embodiments, the input subsystem may include or interface with selected natural user input (NUI) component portions. Such component portions may be integrated or peripheral, and the conversion and / or processing of input actions may be processed on-board or off-board. Example NUI component portions may include: microphones for voice and / or sound recognition; infrared, color, stereo and / or depth cameras for machine vision and / or gesture recognition; head trackers, eye trackers, accelerometers, and / or gyroscopes for motion detection and / or intent recognition; and electric field sensing component portions for assessing brain activity; and / or any other suitable sensors.

[0046] When included, the communication subsystem 912 can be configured to communicatively couple the various computing devices described herein to each other and to other devices. The communication subsystem 912 may include wired and / or wireless communication devices compatible with one or more different communication protocols. As a non-limiting example, the communication subsystem can be configured to communicate via a wireless telephone network or a wired or wireless local area network or wide area network, such as an HDMI connected via Wi-Fi. In some embodiments, the communication subsystem can allow the computing system 900 to send and / or receive messages to and / or from other devices via a network (such as the Internet).

[0047] The following paragraphs provide additional support for the claims of the present application. One aspect provides a computing device including a processor and an associated memory. The processor may be configured to: execute a personal information management service stored in the memory; send a first calendar entry for display on a calendar interface for a user, the first calendar entry for a first account of a user of a first domain; send a second calendar entry for display on a calendar interface, the second calendar entry for a calendar of a second account of a user of a second domain; receive a request for user availability from a requesting user with a third account of the first domain; and in response to the request, send a first calendar entry including details of the first calendar entry and a second calendar entry without details of the second calendar entry to the requesting user. In this aspect, additionally or alternatively, a copy of the calendar of the second account may be stored in the memory in a sandbox state. In this aspect, additionally or alternatively, when a request to unlink the second account from the first account is received, the processor may also be configured to: delete the copy of the calendar of the second account. In this aspect, additionally or alternatively, a verification token may be stored in the memory for retrieving a copy of the calendar of the second account from an external server. In this aspect, additionally or alternatively, the second calendar entry without the second calendar entry details may include a time period and an availability status. In this aspect, additionally or alternatively, the computing device may be configured to: receive an update to the second calendar entry from a server of the second domain, and send the update to the user for display on the calendar interface.

[0048] Another aspect provides a method for personal information management. The method may include: sending a first calendar entry for display on a calendar interface for a user, the first calendar entry for a first account of a user of a first domain; sending a second calendar entry for display on a calendar interface, the second calendar entry for a calendar of a second account of a user of a second domain; receiving a request for user availability from a requesting user with a third account of the first domain; and in response to the request, sending the first calendar entry including details of the first calendar entry and the second calendar entry without details of the second calendar entry to the requesting user. In this aspect, additionally or alternatively, the method may also include: storing a copy of the calendar of the second account in a sandbox state in a memory. In this aspect, additionally or alternatively, the method may also include: deleting the copy of the calendar of the second account when a request to unlink the second account from the first account is received. In this aspect, additionally or alternatively, the method may also include: storing in the memory an authentication token for retrieving a copy of the calendar of the second account from a server of the second domain. In this aspect, additionally or alternatively, the second calendar entry without details of the second calendar entry may include a time period and an availability status. In this aspect, additionally or alternatively, the method may further include: receiving an update to the second calendar entry from a server of the second domain, and sending the update to the user for display on the calendar interface.

[0049] On the other hand, a computing system including at least one processor and an associated memory is provided. At least one processor can be configured to: execute a personal information management service stored in the memory to enable one or more computing devices to: display a calendar interface for a user at a first client device; display a first calendar entry on the calendar interface, the first calendar entry for a first account of a user of a first domain inside the computing system; display a second calendar entry on the calendar interface, the second calendar entry for a calendar of a second account of a user of a second domain outside the computing system; receive a request for user availability from a requesting user with a third account of the first domain via a second client device; and in response to the request, display a first calendar entry including details of the first calendar entry and a second calendar entry without details of the second calendar entry at the second client device. In this aspect, additionally or alternatively, a copy of the calendar of the second account can be stored in a sandbox state in a memory of a server of the first domain. In this aspect, additionally or alternatively, when a request to unlink the second account from the first account is received, the one or more processors can also be configured to: delete the copy of the calendar of the second account. In this aspect, additionally or alternatively, in order to display the second calendar entry on the calendar interface of the first client device, the first client device can query the server of the second domain. In this aspect, additionally or alternatively, an authentication token may be stored in a memory for retrieving a copy of the calendar of the second account from the second domain. In this aspect, additionally or alternatively, the second calendar entry without details of the second calendar entry may include a time period and an availability status. In this aspect, additionally or alternatively, the calendar interface may include the first calendar entry and the second calendar entry in an aggregated calendar view of the user, and the calendar interface may visually distinguish between the calendar entry of the first account and the calendar entry of the second account. In this aspect, additionally or alternatively, upon receiving a request from the user to hide all calendar entries from the second account in the calendar interface, the at least one processor may be configured to: cause the first client device to stop displaying the second calendar entry in the calendar interface; and cause the second client device to continue to allow the requesting user to access the second calendar entry without details of the second calendar entry.

[0050] It will be understood that the configurations and / or methods described herein are exemplary in nature, and these specific embodiments or examples should not be considered in a restrictive sense, as many variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. Therefore, the individual actions illustrated and / or described may be performed in the order illustrated and / or described, in other orders, in parallel, or omitted. Likewise, the order of the above process may be changed.

[0051] The subject matter of the present disclosure includes all novel and nonobvious combinations and subcombinations of the various processes, systems and configurations, and other features, functions, acts, and / or properties disclosed herein and any and all equivalents thereof.

Claims

1. A computing system comprising: At least one processor and associated memory, the at least one processor being configured to: execute a personal information management service stored in the memory to cause one or more computing devices to: displaying a calendar interface for the first user at the first client device; displaying, on the calendar interface, a first calendar entry including details of a first calendar entry, the first calendar entry being for a first account of the first user in a first domain within the computing system; displaying, on the calendar interface, a second calendar entry without details of the second calendar entry, the second calendar entry being for a calendar of a second account of the first user in a second domain external to the computing system; receiving, via a second client device, a request for availability of the first user and a second user; as well as In response to the request, displaying the first calendar entry including the first calendar entry details and the second calendar entry without the second calendar entry details at the second client device, wherein Upon receiving a request from the first user to hide all calendar entries from the second account in the calendar interface on the first client device, the at least one processor is configured to: causing the first client device to stop displaying the second calendar entry in the calendar interface; and causing the second client device to continue to allow the second user to view the second calendar entry, and When the second user hovers a cursor over the second calendar entry or clicks on the second calendar entry, the second calendar entry details remain hidden.

2. The computing system of claim 1, wherein: A copy of the calendar of the second account is stored in a sandboxed state in a memory of a server of the first domain.

3. The computing system of claim 2, wherein: When a request to unlink the second account from the first account is received, the one or more processors are further configured to delete the copy of the calendar of the second account.

4. The computing system of claim 2, wherein: In order to display the second calendar entry on the calendar interface of the first client device, the first client device queries a server of the second domain.

5. The computing system of claim 1, wherein: An authentication token is stored in the memory for use in retrieving a copy of the calendar of the second account from the second domain.

6. The computing system of claim 1, wherein: The second calendar entry without second calendar entry details includes a time slot and an availability status.

7. The computing system of claim 1, wherein: The calendar interface includes the first calendar entry and the second calendar entry in an aggregated calendar view of the first user; and The calendar interface visually distinguishes between calendar entries of the first account and calendar entries of the second account.

8. A method for managing personal information, comprising: sending a first calendar entry including first calendar entry details for display on a calendar interface at a first client device for a first user, the first calendar entry being for a first account of the first user at a first domain; sending a second calendar entry without second calendar entry details for display on the calendar interface, the second calendar entry being for a calendar of a second account of the first user in a second domain; receiving a request for availability of the first user and the second user from a second client device; as well as In response to the request, sending the first calendar entry including the first calendar entry details and the second calendar entry without the second calendar entry details to the second user on the second client device, wherein Upon receiving a request from the first user to hide all calendar entries from the second account in the calendar interface on the first client device: ceasing to display the second calendar entry in the calendar interface on the first client device; and continuing to display the second calendar entry in the calendar interface on the second client device, thereby allowing the second user to view the second calendar entry, and When the second user hovers a cursor over the second calendar entry or clicks on the second calendar entry, the second calendar entry details remain hidden.

9. The method according to claim 8, further comprising: A copy of the calendar for the second account is stored in memory in a sandboxed state.

10. The method according to claim 9, further comprising: When a request to unlink the second account from the first account is received, the copy of the calendar of the second account is deleted.

11. The method according to claim 8, further comprising: An authentication token for retrieving a copy of the calendar for the second account from a server of the second domain is stored in a memory.

12. The method according to claim 8, wherein: The second calendar entry without the second calendar entry details includes a time slot and an availability status.

13. The method according to claim 8, further comprising: The first client device queries the server of the second domain to display the second calendar entry on the calendar interface of the first client device.

14. The method according to claim 8, wherein: The calendar interface includes the first calendar entry and the second calendar entry in an aggregated calendar view of the first user, and The calendar interface visually distinguishes between calendar entries of the first account and calendar entries of the second account.

Citation Information

Patent Citations

  • Unified Virtual Group Calendar System

    US20120284637A1