Multi-master database for identity and email in a DDIL environment
By adopting a single-user database and multi-master replication solution on the electronic identity and email accounts of enterprise users, the problem of users having difficulty accessing emails in DDIL environments is solved, and continuous access and fast synchronization is achieved in limited or no network connection.
Patent Information
- Application Number
- CN202080065746.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-18
- Filing Date
- 2020-09-18
- Publication Date
- 2025-03-21
- Estimated Expiration
- 2040-09-18
AI Technical Summary
In networked environments with limited bandwidth, sporadic connections, and/or not connected to the Internet, it is difficult for enterprise users to access and use their email addresses, especially if network connections are denied, downgraded, interrupted or hidden.
Using a single-user database approach, replicates a user's electronic identity and email account through a multi-main replication scheme spanning the cloud and on-premises servers. When a user enters a DDIL environment, the single user database is copied to the DDIL server, thereby providing access without a normal network connection.
Users can continue to access and use their emails in a DDIL environment, send and receive emails, and quickly synchronize the database when network connections are restored, improving system availability and user experience.
Smart Images

Figure CN114424511B_ABST
Abstract
Description
Background Art
[0001] Enterprise directory services utilize multi-master databases to provide directory services for enterprise users. Typically, one database contains the electronic identities of all enterprise users, while another database contains the email accounts of all enterprise users. These two databases can be replicated on multiple network-linked servers in a cloud computing environment using a multi-master database replication scheme. Typically, these two databases are very large, and enterprise users need to have a network connection, such as Internet access, to access their electronic identities and emails. However, in a networked environment with limited bandwidth, sporadic connections, and / or no connection to the Internet, accessing and using such email mailboxes is impossible, especially for long periods of time. For enterprise users who rely on enterprise resources such as email mailboxes, methods and systems are needed to access those same enterprise resources during denied, degraded, interrupted, or hidden ("DDIL") network connections.
[0002] Various aspects have been described with respect to these and other general considerations.In addition, although relatively specific problems have been discussed, it should be understood that the various aspects should not be limited to solving the specific problems identified in the background. Summary of the invention
[0003] In summary, the present disclosure relates to systems and methods for providing enterprise users with a single electronic identity and a single email account / mailbox that can be used in a typical enterprise environment or when a user refuses, degrades, interrupts, or hides network connectivity. In some aspects, the system provides a database limited to a single user, the single-user database containing the user's electronic identity and email account / mailbox. The single-user database is replicated using a multi-master replication scheme spanning cloud and on-premises servers. When a user enters an environment with a denied, degraded, interrupted, or hidden network connectivity ("DDIL"), the single-user database is replicated to the DDIL server. During the denied, degraded, interrupted, or hidden network connectivity, the user can be provided access to their electronic identity and email mailbox in the single-user database via the DDIL server. When there is no connectivity outside the DDIL environment, the user can continue to send and receive emails from the user's single email account / mailbox to other users in the DDIL environment. In addition, the single-user database can be replicated across cloud / on-premises servers when network connectivity is established and during a period sufficient for replication. This way, when users move from the enterprise environment to the DDIL environment and back, they can continue to use the same user identity and email account / mailbox.
[0004] This summary is provided to introduce a selection of design concepts that are further described below in the detailed description in a simplified form. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Non-limiting and non-exhaustive examples are described with reference to the following figures.
[0006] Figure 1 A conventional system for providing email in a DDIL environment is shown.
[0007] Figure 2 A system for providing access to email in a DDIL environment according to aspects of the present disclosure is shown.
[0008] Figure 3 is a flow chart of a method for providing a per-user database in an enterprise network according to an example aspect of the present disclosure.
[0009] Figure 4 is a block diagram illustrating example physical components of a computing device according to example aspects of the present disclosure.
[0010] Figure 5 is a simplified block diagram of a mobile computing device according to example aspects of the present disclosure.
[0011] Figure 6 is an exemplary tablet computing device 800 according to example aspects of the present disclosure.
[0012] Figure 7 is a simplified block diagram of a distributed computing system according to example aspects of the present disclosure.
[0013] Figure 8 A tablet computing device according to example aspects of the present disclosure is shown. DETAILED DESCRIPTION
[0014] In the following detailed description, reference is made to the accompanying drawings, which form a part of the detailed description, and in which specific aspects or examples are illustrated by way of illustration. These aspects may be combined, other aspects may be used, and structural changes may be made without departing from the present disclosure. Each aspect may be implemented as a method, system, or device. Therefore, each aspect may take the form of a hardware implementation, an overall software implementation, or a combination of software and hardware implementations. Therefore, the following detailed description should not be considered to have a limiting meaning, and the scope of the present disclosure is defined by the appended claims and their equivalents.
[0015] As described above, in general, the present disclosure relates to systems and methods for providing an electronic identity and an electronic mailbox to an enterprise user when the enterprise user is in a DDIL environment. For the purposes of the present disclosure, "DDIL" stands for "denied, delayed, interrupted, or latent" and describes an environment or network that typically has limited bandwidth, sporadic connectivity, and / or no connection to the Internet for a long period of time. The methods and systems described herein allow a user to access a user's primary email account in a DDIL environment. As used herein, the terms "electronic mail account," "email account," "email mailbox," and "email mailbox" are used interchangeably to represent an account: (i) associated with a user, (ii) uniquely identified by one or more email addresses (e.g., aliases); (iii) including one or more mailboxes that store email messages sent from or received by email addresses associated with the account. In some aspects, the email account can be an on-premises account or a cloud-based account. Such systems and methods use a per-user database of limited size and include the same electronic identity and the same email account of the user that the user uses in a non-DDIL environment (including an on-premises environment and / or a cloud environment).
[0016] In contrast, a typical enterprise directory service database is large and includes data associated with hundreds, thousands, or more users. Such large databases are not designed for users operating in environments with denied, degraded, interrupted, or latent network connections, and for users whose access to enterprise resources (such as email) is mission-critical.
[0017] Figure 1A conventional system 100 for providing email in a DDIL environment is shown. An enterprise 110 includes any number of users 102, such as users C...n, with any number of client computer devices 104, as shown by ellipsis 106. User A 122 and user B 124 are typically part of the enterprise network environment 110, but have been moved to the DDIL environment 120. Such an environment typically has hundreds or thousands of users and devices. Client devices 104 are connected to an on-premises server 112 via connection 108 and / or to a cloud environment 141 via connection 110. The enterprise network environment 110 is connected to the cloud environment via network 140. The enterprise environment 110 utilizes two huge databases to provide identity and email services. Database 114 includes electronic identity information for all users A122, B 124, C...n 102. The electronic identity information in database 114 includes everything a user needs to access all enterprise services, such as name, contact information, location, job title, manager, reports, login ID, user ID, password, security credentials, title, group, group type, domain, permissions, department, display name, membership, abbreviation, resource, archive status, delegate, restrictions, GUID of the user's mailbox, email type, identity of the server activated for email, security information, policy, device ID, title, user certificate, and home page. Database 116 includes the email accounts of all users in the enterprise. For user 102 to access the user's email account from the user's device 104, the user must have an active connection to both databases 114 and 116. For cloud-based email accounts, a multi-master replication scheme is used to replicate and synchronize databases 114 and 116 across network 140. In this way, cloud-based user 102 accesses the user's email by connecting to either server 112 or 142. However, due to the size of databases 114 and 116, the limited connectivity to network 140, and the duration that DDIL environment 120 is disconnected from network 140, such a multi-master replication scheme is difficult, if not impossible, to use in a DDIL environment (e.g., DDIL environment 120). Copying such databases from servers 112 and / or 142 to DDIL server 122 is time consuming, and synchronizing such databases when the DDIL server actually has connectivity to network 140 is problematic. Synchronization often fails. The larger the email mailbox, the higher the likelihood that synchronization will fail. Even if synchronization is ultimately successful, it is time consuming, and users may not be able to use their email accounts during the process. In addition, when a DDIL server attempts to synchronize databases 114 and 116 but fails, there is a risk that the DDIL server fails and functionality in the DDIL cannot be restored in the DDIL environment.Failure of a DDIL server will cause users in the DDIL environment to lose all email functionality with each other until a reliable connection is reestablished.
[0018] Due to the difficulty of replicating and synchronizing multi-user databases (such as databases 114 and 116) in a DDIL environment, conventional systems create new databases 130, 132 on the DDIL server 122 with new identities (e.g., A1, B1) for user A 122 and user B 124 and new email accounts (e.g., A1, B1) for the users moving to the DDIL environment 120. Typically these new accounts are not synchronized with the on-premises databases 114, 116 or the cloud databases 144, 146. Instead, the DDIL users use the new accounts in the DDIL environment and then switch back to their existing accounts (e.g., A, B) in the databases 114, 116 when they return to the enterprise environment 110. In effect, the system typically requires the user to have a new identity and email account each time he or she is deployed in a DDIL environment.
[0019] Figure 2 A system 200 is shown in which aspects of the present disclosure may be implemented. In the example shown, the environment includes an enterprise network environment 210, a cloud computing environment 241, and a DDIL environment 220.
[0020] Enterprise environment 210 includes multiple users 202, such as user C, each of which has one or more client computing devices 204, which are connected to an on-premises server 216 within enterprise environment 210 via connection 217. Connection 217 represents a local area network (LAN), a wide area network (WAN), the Internet, or other wireless and wired transmission media. This list is exemplary only and should not be considered limiting. As indicated by ellipsis 206, there are any number of users and client devices. In some aspects, enterprise environment 210 is secure, as indicated by dashed line 218.
[0021] The enterprise network environment 210 uses a network 240 to communicate data with a cloud computing environment 241. In the example shown, the cloud computing environment 241 includes a plurality of cloud servers 242 connected via a connection 213 through the network 240. In some aspects, the network 240 can represent a network that is at least partially public, such as the Internet. In some aspects, the network 240 is a computer network, such as an enterprise intranet. In this regard, the network 240 can include a local area network (LAN), a wide area network (WAN), the Internet, wireless and wired transmission media. In other aspects, the server 242 can communicate with some components of the system via a local area network (e.g., an enterprise intranet), and the server 242 can communicate with other components of the system via a wide area network (e.g., the Internet). In addition, the aspects and functions described herein operate on a distributed system (e.g., a cloud-based computing system) in which application functions, memory, data storage and retrieval, and various processing functions are remotely operated relative to each other through a distributed computing network (e.g., the Internet or an intranet).
[0022] The client computing device 204 may include any computing device, such as a mobile computing device, a laptop, a mobile phone, a tablet computer, a smart watch, a wearable computer, a personal computer, a desktop computer, etc. This list is exemplary only and should not be considered limiting. Any suitable client computing device for connecting to a network can be used. The client computing device 204 can be connected to the cloud computing environment 241 through a connection 211 to the network 240 and / or through a connection 217 to an on-premises server 216 to access various services, such as the electronic identity and email of the user 202. In some aspects, the client computing device 204 can be connected to the on-premises server 216 through the network 240, and in some aspects, the client computing device 204 can be connected to the on-premises server through an alternative connection such as connection 217. In some aspects, the enterprise environment 210 is a secure environment as indicated by the dashed line 218.
[0023] In the illustrated example, an enterprise environment 210 provides email services to users 202 on their client devices 204. To provide these services, an on-premises server 216 (e.g., a server forest) includes a small database 208, 210, 212, 214 for each user in the enterprise environment 210. The ellipsis 214 indicates that there are any number of single-user databases, one for each user 202 in the enterprise system 210. In the illustrated aspect, the databases 208, 210, 212, 214 are limited to a single user and include an electronic identity and an email mailbox, such as an email, for one enterprise user. Thus, for example, user A 222 has a database 208 with an electronic identity 208a and an email mailbox 208b for user A. User B 224 has a database 210 with an electronic identity 210a and an email mailbox 210b for user B. User C has a database 212 with an electronic identity 212a and an email mailbox 212c for User C, and so on, as indicated by ellipses 206 and 214. As used herein, "electronic identity information" or "identity" refers to any information required for a user to access his or her email account. Examples of identity information include, but are not limited to, login ID, password, name, contact information, location, job title, manager, reports, user ID, security credentials, title, group, group type, domain, permissions, department, display name, membership, initials, resources, archive status, delegates, restrictions, GUID of the user's mailbox, email type, identity of the server activated for email, security information, policies, device ID, title, user certificates, and home page.
[0024] Each user database 208, 210, 212, 214 may use any database technology, including but not limited to a B-tree database, such as the Extensible Storage Engine (ESE), which is an ISAM (Index Sequential Access Method) data storage technology. Figure 2 As shown, the per-user database 212 can be replicated across multiple servers 242 in the cloud computing environment 241. In some aspects, the per-user database 242 can be replicated via a multi-master replication scheme, in which all members of the computer group 216, 242 storing the per-user database 208, 210, 212, 214 are responsive to queries from the client device 204 regarding data included in the per-user database 208, 210, 212, 214. In some aspects, the per-user database 208, 210, 212, 214 is formed by: Figure 1The cloud server 224 may further include a copy 244 of the database 208 of user A 222, which has the identity 208a and email mailbox 208b of user A 222. The cloud server 224 may include a copy 246 of the database 210 of user B 224, which has the identity 210a and email mailbox 210b of user B 224. The cloud server 224 may include a copy 248 of the database 212 of user C 204, which has the identity 212a and email mailbox 212b of user C 204. In some aspects, the per-user database contains encrypted information.
[0025] In this example, user A 222 and user B 224, who are typically associated with the enterprise environment 210, have moved to the DDIL environment 220. The DDIL environment 220 includes a DDIL server 230 (or server forest) that provides services to a client computing device 228 of user A 222 and a client computing device 228 of user B 224 through connections to the DDIL server 230. Typically, the DDIL environment is secure, as shown by block 221. In some aspects, the DDIL server 230 is a member of the enterprise network environment 210 and can be connected to the on-premises server 216 through a network 240, as shown by network connection 236. In some aspects, the DDIL server 230 is also a member of a cloud computing environment 241 and is connected to a plurality of cloud servers 242 through the network 240 through the network connection 236.
[0026] In some aspects, DDIL environment 220 may include a location such as a building. In other aspects, DDIL environment 220 may include a region or area, such as a political boundary of a country, state, province, etc., or a geographic area, such as a desert, forest, sea, or ocean. In some aspects, DDIL environment 220 is a location in which connections 142 and 144 may be denied, degraded, interrupted, or hidden. For example, DDIL environment 220 may be a military vehicle deployed in a foreign country, or a warship such as an aircraft carrier at sea.
[0027] DDIL environments often deny, delay, interrupt or hide connections to network 240, as shown by dashed connection 236. Loss of connection can be caused by any number of factors, including, but not limited to: (i) lack of ability to participate in trusted private information exchange, (ii) network connection is lost or disconnected for an extended period of time, (iii) low bandwidth resulting in very low network throughput, (iv) only a portion of the network is available, (v) unreliable connection resulting in a large number of messages being lost or corrupted, (vi) the DDIL environment is moving or located in a remote location. Typically, loss of connection occurs over a long period of time, such as weeks to months. In some aspects, loss of connection is unexpected, such as when a satellite connection is disconnected.
[0028] In the example shown, the DDIL server 230 computer includes a per-user database for each user that is part of the DDIL network environment 220. The per-user databases 232, 234 are replicated from the on-premises server 216. For example, the DDIL server 230 includes a copy 232 of database A 208 for user A 222 and a copy 234 of database B 210 for user B 224. The copies 232 and 234 contain the same user identities and email mailboxes as the on-premises server 216 and / or cloud server 242. For example, the copy 232 of the per-user database contains the identity 208a and email mailbox 208b of user A 222. The copy 234 of the per-user database contains the identity 210a and email mailbox 210b of user A 224. In this way, users in the DDIL environment 220 continue to use the same electronic identities and the same email mailboxes that they use in the enterprise environment 210 in the DDIL environment. In some aspects, in anticipation of user A 222 and user B 224 moving to the DDIL environment, these per-user databases are replicated to the DDIL server 230. Furthermore, when the DDIL server 230 is connected to the network 240, the per-user databases 232, 234 are replicated across the on-premises servers 216 and / or cloud servers 242 via a multi-master replication scheme. While user A 222 and user B 224 are in the DDIL environment 220, administrators within the DDIL environment 220 have the ability to manage the per-user databases 232, 234. When the connection 236 is active and / or when user A 222 and / or user B 224 return to the enterprise environment 210, these changes are also synchronized.
[0029] Advantages of the system 200 include: User A 222 and User B 224 have the ability to access and use their same email mailboxes in databases 232, 234 even if the connection 236 has limited bandwidth, sporadic connectivity, or no connection to the Internet. In addition, User A 222 and User B 224, as well as any other users in the DDIL environment 220, have the ability to continue to communicate with all other users in the DDIL environment 220 via the DDIL server 230 even when there is no connection 236 to the network 240. When the connection 236 is lost, the per-user databases of the users in the DDIL environment 220 continue to operate, such as receiving mail, policy changes, updates, even if they are not actively used by the users in the DDIL environment. For the databases 208, 244 of User A 222 and the databases 210, 246 of User B 224, the copies of the per-user databases on the on-premises server 216 and the cloud server 242 are active in ghost mode, as indicated by the dashed lines. Once the connection 236 is established and / or user A 222 and / or user B 224 return to the enterprise environment 210, their per-user databases are easily and quickly synchronized to the on-premises server 216 and / or the server in the cloud environment 242 using a multi-master replication scheme. When the connection 236 is active, synchronizing the much smaller per-user databases is much easier than attempting to synchronize much larger multi-user databases (e.g., Figure 1 The synchronization problem of large multi-user databases becomes more problematic when the connection 236 is disconnected for a long time. By making the database smaller and limited to a single user, synchronization when the connection 236 is restored is faster and easier than in conventional systems. Synchronizing per-user databases from the DDIL environment 220 to the enterprise environment 210 and / or cloud environment 241 has further advantages because it can be limited in a variety of ways, including by prioritizing which per-user databases are synchronized first. On the other hand, user A 222 leaves the DDIL environment 220 but user B 224 does not. The currently described system allows user A 222's database 232 to be synchronized with databases 208 and / or 244 without requiring user B's database 234 to be synchronized with databases 210 and / or 246. In previous systems, the ability to synchronize emails for some users without synchronizing emails for other users was problematic and slow. Still further, because the per-user database includes both the user's identity and email mailbox, synchronization is further optimized to allow users to quickly and seamlessly switch from a DDIL environment to other environments and back while using the same email account and mailbox.
[0030] It should be understood that Figure 2The various devices, components, etc. described are not intended to limit the systems and methods to the specific components described. Therefore, additional topological configurations may be used to implement the methods and systems herein and / or some of the components described may be excluded without departing from the methods and systems disclosed herein.
[0031] Figure 3 is a flow chart of a method 300 for providing a per-user database in a system such as system 200 according to an example aspect of the present disclosure.
[0032] The method 300 begins at operation 302 where a plurality of per-user databases 208, 210, 212, 214 ( Figure 2 In various aspects, a single user (e.g., Figure 2 The electronic identities (e.g., 208a, 210a) and email addresses (e.g., 210a, 210b) of user A 222, user B 224, and user C in 202 are associated with a per-user database or a single database (e.g., Figure 2 This is done by creating each user database from scratch or by transferring a large database (such as Figure 1 This is accomplished by dividing and combining the databases 114 and 116 in the example embodiment into smaller per-user databases, each of which includes the user identity and email mailbox of a single user.
[0033] At operation 304, the single-user databases 208, 210, 212, 214 ( Figure 2 ) can be used in cloud computing environments (e.g. Figure 2 241) in the server (for example, Figure 2 between the servers 242 in the Figure 2 ) are replicated between. In some aspects, operation 304 can utilize a multi-master replication scheme, and the single-user databases 208, 210, 212, 214 ( Figure 2 ).
[0034] At operation 306, the single-user databases of all users (e.g., user A 222 and user B 224) entering the DDIL environment 220 are copied to and activated on the DDIL server 230. At this point, the administrator in the DDIL environment 220 is responsible for managing the single-user databases 234, 236 ( Figure 2 ).
[0035] At 308, it is determined whether the network connection between the DDIL server 230 and the network 240 is denied, degraded, interrupted, or hidden. If the answer is no, the method 300 proceeds to optional operation 310 or operation 312. At 310, it is determined whether there is an appropriate policy that will prevent users from synchronizing to the on-premises server 216 and / or the cloud server 242 via the network 240. This is an optional operation indicated by a dotted line. If the answer is "no" or there is no appropriate policy in this regard, the method 300 proceeds to operation 312, at which each user database 234, 236 is synchronized to the cloud server 242 and / or the on-premises server 216 via the network 240. Synchronization can be synchronous or asynchronous. It may or may not be restricted. It may or may not involve all users in the DDIL environment. At operation 314, users A 222 and B 224 within the DDIL environment 220 are provisioned with their emails on their client devices 228, 226 via the network 240 and can access electronic identities and emails associated with the per-user databases 208, 210, 234, 236, 244, 246 replicated on any of the DDIL server 230, the cloud server 242, or the on-premises server 216. The operation then returns to operation 308.
[0036] If the answer to determination operation 308 is "yes," then method 300 provides per-user database data from the DDIL server and can access the electronic identities and emails associated with the per-user databases 234, 236 replicated on the DDIL server 230. At this point, users within the DDIL environment communicate with each other via email, but cannot communicate via email with users outside of the DDIL environment 220. Method 300 then returns to operation 308.
[0037] It should be understood that operations 302-316 are described for the purpose of illustrating the methods and systems of the present disclosure and are not intended to limit the present disclosure to a specific sequence of steps. For example, the steps may be performed in a different order, additional steps may be performed, and disclosed steps may be excluded without departing from the present disclosure.
[0038] Figure 4-Figure 8 and the related descriptions provide a discussion of various operating environments in which aspects of the present disclosure may be implemented. Figure 4-Figure 8 The devices and systems illustrated and discussed are for purposes of example and explanation and are not limiting of the broad computing device configurations that may be used to implement aspects of the present disclosure described herein.
[0039] Figure 44 is a block diagram illustrating the physical components (e.g., hardware) of a computing device 400 used to implement aspects of the present disclosure. The computing device components described below have computer executable instructions for implementing a per-user database management application 420 on a computing device (e.g., server computing devices 142 and 144), including computer executable instructions for a per-user database management application 420, which can be executed to implement the methods disclosed herein. In a basic configuration, the computing device 400 includes at least one processing unit 402 and a system memory 404. Depending on the configuration and type of the computing device, the system memory 404 includes, but is not limited to, volatile storage (e.g., random access memory), non-volatile storage (e.g., read-only memory), flash memory, or any combination of such memories. The system memory 404 includes an operating system 405 and one or more programs 406 suitable for running the per-user database management application 420, such as a multi-master replicator program 411 and a database manager program 413.
[0040] For example, operating system 405 is suitable for controlling the operation of computing device 400. In addition, aspects of the present disclosure may be implemented in conjunction with a graphics library, other operating systems, or any other application program, and are not limited to any particular application or system. Figure 3 408. In some aspects, computing device 400 has additional features or functionality. For example, computing device 400 also includes additional data storage devices (removable and / or non-removable), such as magnetic disks, optical disks, or tapes. Such additional storage Figure 4 4 is shown by a removable storage device 409 and a non-removable storage device 410.
[0041] As described above, a plurality of program modules and data files are stored in the system memory 404. When executed on the processing unit 402, the program module 406 (e.g., the per-user database management application 420) performs processes including, but not limited to, the aspects described herein. Other program modules used in accordance with aspects of the present disclosure, particularly for providing per-user databases 102, include, among others, a multi-master replicator program 411 and a database manager program 413. The system memory 404 communicates with a local data store 440 so that when executed on the processing unit 402, the program module 406 accesses data in the data store 440. In the example shown, the data store 440 includes multi-master replication data 442, asynchronous communication data 444, and a per-user database repository 440 storing one or more per-user databases 102 associated with individual users (e.g., user 124). Although this aspect describes two per-user databases, e.g., a user A database and a user B database, fewer or more per-user databases 102 may be stored in the per-user database repository 440.
[0042] Additionally, aspects of the present disclosure are implemented in circuits comprising discrete electronic components, packaged or integrated electronic chips containing logic gates, circuits using microprocessors, or on a single chip containing electronic components or microprocessors. For example, aspects of the present disclosure are implemented via a system on a chip (SOC) in which: Figure 4 Each or many of the components shown in can be integrated onto a single integrated circuit. Such a SOC device includes one or more processing units, a graphics unit, a communication unit, a system virtualization unit, and various application functions, all of which can be integrated (or "burned") onto a chip substrate as a single integrated circuit. When operated via a SOC, the functions described herein for the ability of a client to switch protocols are operated via an application-specific logic unit integrated with other components of the computing device 400 on a single integrated circuit (chip). Other technologies capable of performing logical operations (such as, for example, AND, OR, and NOT) are also used to implement aspects of the present disclosure, including but not limited to mechanical, optical, fluidic, and quantum technologies. In addition, various aspects of the present disclosure are implemented in a general-purpose computer or in any other circuit or system.
[0043] The computing device 400 also has one or more input devices 412, such as a keyboard, a mouse, a pen, a sound or voice input device, a touch or swipe input device, etc. Output devices 414 such as a display, a speaker, a printer, etc. are also included. The aforementioned devices are examples, and other devices can be used. The computing device 400 includes one or more communication connections 416 that allow communication with other computing devices 450. Examples of suitable communication connections 416 include, but are not limited to: radio frequency (RF) transmitters, receivers, and / or transceiver circuits, universal serial buses (USB), parallel and / or serial ports.
[0044] The term "computer-readable medium" as used herein includes computer storage media. Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures or program modules. System memory 404, removable storage device 409, and non-removable storage device 410 are all examples of computer storage media (e.g., memory storage). Computer storage media include: RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage, cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other article that can be used to store information and can be accessed by computing device 400. In some aspects, any such computer storage medium is part of computing device 400. Computer storage media does not include carrier waveforms or other propagated or modulated data signals.
[0045] Communication media is embodied as computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier waveform or other transport mechanism and includes any information delivery media. The term "modulated data signal" describes a signal that has one or more characteristics set or changed in a manner that encodes information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared and other wireless media.
[0046] Figure 5-Figure 6 A mobile computing device 500 is shown, which may be used to implement aspects of the present disclosure, such as a mobile phone, a smart phone, a wearable computer (such as a smart watch), a tablet computer, a laptop computer, etc. Figure 5, one aspect of a mobile computing device 500 for implementing these aspects is shown. In a basic configuration, the mobile computing device 500 is a handheld computer having both an input unit and an output unit. The mobile computing device 500 typically includes a display 505 and one or more input buttons 510 that allow a user to input information to the mobile computing device 500. The display 505 of the mobile computing device 500 also serves as an input device (e.g., a touch screen display). If included, an optional side input unit 515 allows further user input. The side input unit 515 is a rotary switch, a button, or any other type of manual input unit. In alternative aspects, the mobile computing device 500 incorporates more or fewer input units. For example, in some aspects, the display 505 is not a touch screen. In yet another alternative aspect, the mobile computing device 500 is a portable telephone system (such as a cellular phone). The mobile computing device 500 also includes an optional key 535. The optional key 535 is a physical key or a "soft" key generated on the touch screen display. In various aspects, the output unit includes: a display 505 for showing a graphical user interface (GUI), a visual indicator 520 (e.g., a light emitting diode), and / or an audio transducer 525 (e.g., a speaker). In some aspects, the mobile computing device 500 incorporates a vibration sensor for providing tactile feedback to the user. In yet another aspect, the mobile computing device 500 incorporates input and / or output ports, such as an audio input (e.g., a microphone jack), an audio output (e.g., a headphone jack), and a video output (e.g., an HDMI port) for sending or receiving signals to or from an external device.
[0047] Figure 6 6 is a block diagram illustrating the architecture of one aspect of a mobile computing device. That is, a mobile computing device 600 may incorporate a system (i.e., architecture) 602 to implement some aspects. In one aspect, the system 602 is implemented as a "smart phone" capable of running one or more applications (e.g., a browser, email, calendar, contact manager, messaging client, game, and media client / player). In some aspects, the system 602 is integrated as a computing device, such as an integrated personal digital assistant (PDA) and a wireless phone.
[0048] One or more application programs 666 are loaded into the memory 662 and run on or in association with the operating system 664. Examples of application programs include: a phone dialer, an email program, a personal information management (PIM) program, a word processing program, a spreadsheet program, an Internet browser program, a messaging program, etc. The system 602 also includes a non-volatile storage area 668 within the memory 662. The non-volatile storage area 668 is used to store persistent information that should not be lost if the system 602 loses power. The application programs 666 use and store information in the non-volatile storage area 668, such as emails or other messages used by the email application, etc. A synchronization application (not shown) is also located on the system 602 and is programmed to interact with a corresponding synchronization application resident on the host computer to keep the information stored in the non-volatile storage area 668 synchronized with the corresponding information stored at the host computer. It should be understood that other applications are loaded into memory 662 and executed on mobile computing device 600, including instructions for providing consensus determination applications as described herein (e.g., message parsers, suggestion interpreters, opinion interpreters, and / or consensus presenters, etc.).
[0049] System 602 has a power source 660, which is implemented as one or more batteries. Power source 660 also includes an external power source, such as an AC adapter or a powered dock that replenishes or recharges the batteries.
[0050] The system 602 also includes a radio interface layer 662 that performs the function of sending and receiving radio frequency communications. The radio interface layer 662 facilitates wireless connectivity between the system 602 and the "outside world" via a communications carrier or service provider. Transmissions to and from the radio interface layer 662 are performed under the control of an operating system 664. In other words, communications received by the radio interface layer 662 are propagated to the application 666 via the operating system 664, and vice versa.
[0051] Visual indicator 620 is used to provide visual notification, and / or audio interface 664 is used to communicate via audio converter 625 (e.g., Figure 5625) produces an auditory notification. In the aspect shown, the visual indicator 620 is a light emitting diode (LED), and the audio converter 625 is a speaker. These devices are directly coupled to the power supply 660 so that when activated, they remain in working state for a period of time indicated by the notification mechanism, even if the processor 660 and other components may be turned off to save battery power. The LED can be programmed to remain in working state until the user takes action to indicate the power-on state of the device. The audio interface 664 is used to provide audio signals to the user and receive audio signals from the user. For example, in addition to being coupled to the audio converter 625, the audio interface 664 is also coupled to a microphone to receive audible input, such as to facilitate telephone conversations. According to some aspects of the present disclosure, as described below, the microphone is also used as an audio sensor to facilitate the control of notifications. The system 602 also includes a video interface 766, which enables the operation of the peripheral device 630 (e.g., a car camera) to record still images, video streams, etc. As described herein, the audio interface 664, the video interface 766 and the keyboard 635 are operated to generate one or more messages.
[0052] The mobile computing device 600 implementing the system 602 may optionally have additional features or functionality. For example, the mobile computing device 600 may also include additional data storage devices (removable and / or non-removable), such as magnetic disks, optical disks, or tapes. These additional storage devices may include: Figure 6 , shown by non-volatile storage area 668.
[0053] Data / information generated or captured by the mobile computing device 600 and stored via the system 602 is stored locally on the mobile computing device 600 as described above, or the data is stored on any number of storage media accessed by the device via the radio interface layer 662 or via a wired connection between the mobile computing device 600 and a separate computing device associated with the mobile computing device 600 (e.g., a server computer in a distributed computing network such as the Internet). It should be understood that such data / information is accessed via the mobile computing device 600 via the radio interface layer 662 or via a distributed computing network. Similarly, such data / information is easily transferred between computing devices for storage and use according to well-known data / information transmission and storage means, including email and collaborative data / information sharing systems.
[0054] It should be understood that Figure 5-Figure 6 It is described for the purpose of illustrating the methods and systems of the present disclosure and is not intended to limit the present disclosure to a specific sequence of steps or a specific combination of hardware or software components.
[0055] Figure 7One aspect of the architecture of a system for processing data received at a computing system from a remote source, such as a general-purpose computing device 704 (e.g., a personal computer), a tablet computing device 706, or a mobile computing device 708 as described above, is shown. The content displayed at the server device 702 is stored in different communication channels or other storage types. For example, a directory service 722, a portal website 724, a mailbox service 726, an instant messaging storage 728, or a social networking service 730 may be used to receive and / or store various messages. The server device 702 provides data to and from client computing devices such as a general-purpose computing device 704, a tablet computing device 706, and / or a mobile computing device 708 (e.g., a smart phone) via a network 715. By way of example, the above description of the system for processing data received at a remote source, such as a general-purpose computing device 704 (e.g., a personal computer), a tablet computing device 706, or a mobile computing device 708 (e.g., a smart phone) is shown. Figure 1-Figure 4 The depicted computer system may be embodied in a general purpose computing device 704 (e.g., a personal computer), a tablet computing device 706, and / or a mobile computing device 708 (e.g., a smartphone). In addition to receiving graphics data that may be used for pre-processing at a graphics originating system or post-processing at a receiving computing system, any of these aspects of the computing device may obtain content from storage 716.
[0056] It should be understood that Figure 7 It is described for the purpose of illustrating the methods and systems of the present disclosure and is not intended to limit the present disclosure to a specific sequence of steps or a specific combination of hardware or software components.
[0057] Figure 8 An exemplary tablet computing device 800 that performs one or more aspects disclosed herein is shown. In addition, the aspects and functions described herein operate on a distributed system (e.g., a cloud-based computing system) in which application functions, memory, data storage and retrieval, and various processing functions are remotely operated relative to each other through a distributed computing network (such as the Internet or an intranet). Various types of user interfaces and information are displayed via an onboard computing device display, or via a remote display unit associated with one or more computing devices. For example, various types of user interfaces and information are displayed on a wall onto which various types of user interfaces and information are projected and interact with such a wall. Interaction with the numerous computing systems used to implement aspects of the present invention includes: keystroke input, touch screen input, voice or other audio input, gesture input when the associated computing device is equipped with a detection (e.g., camera) function for capturing and interpreting user gestures for controlling functions of the computing device, etc.
[0058] It should be understood that Figure 8It is described for the purpose of illustrating the methods and systems of the present disclosure and is not intended to limit the present disclosure to a specific sequence of steps or a specific combination of hardware or software components.
[0059] The description and illustration of one or more aspects provided in this application are not intended to limit or restrict the scope of the disclosure claimed in any way. It is believed that the aspects, examples and details provided in this application are sufficient to convey possession and enable others to make and use the best mode of the disclosure claimed. The disclosure claimed should not be interpreted as being limited to any aspect, example or detail provided in this application. Regardless of whether it is shown and described in combination or separately, it is intended to selectively include or omit each feature (structural and methodological) to produce an aspect with a specific set of features. The description and illustration of this application have been provided, and those skilled in the art may conceive of variants, modifications and alternative aspects within the spirit of the broader aspects of the general inventive concept embodied in this application without departing from the broader scope of the disclosure claimed.
Claims
1. A computer system comprising: Processing unit; as well as a memory storing computer executable instructions which, when executed by the processing unit, cause the computer system to: replicating a plurality of per-user databases for a plurality of users across a plurality of database servers, the plurality of database servers being linked across a network, wherein each of the plurality of per-user databases includes an electronic identity and an electronic mailbox of a single user of the plurality of users; uploading and activating the plurality of per-user databases onto a rejected, degraded, discontinued or dormant DDIL server, the DDIL server being located in a computing environment separate from a computing environment of the plurality of database servers; providing, when the DDIL server is not connected to the network, to a client device of a first user of the plurality of users, the electronic identity of the first user and the electronic mailbox of the first user from the per-user database of the first user of the DDIL server, wherein, when the DDIL server is not connected to the network, the DDIL server allows the plurality of users to exchange electronic mails from the plurality of per-user databases activated on the DDIL server via the DDIL server; and When the DDIL server is connected to the network: synchronizing the per-user database of the first user from the DDIL server to the plurality of database servers across the network; and The electronic identity of the first user and the electronic mailbox of the first user in a per-user database of the first user from one of the plurality of database servers are provided to the client device of the first user.
2. The computer system of claim 1 , further comprising computer executable instructions which, when executed by the processing unit, cause the computer system to: replicating the plurality of per-user databases across the plurality of database servers linked across the network according to a multi-master replication scheme; and / or The plurality of per-user databases are asynchronously synchronized from the DDIL server to the plurality of database servers across the network.
3. The computer system according to any one of claims 1 to 2, wherein: The plurality of per-user databases are encrypted.
4. The computer system according to any one of claims 1 to 2, further comprising computer executable instructions, which, when executed by the processing unit, cause the computer system to: When the DDIL server is connected to the network, the plurality of per-user databases are synchronized from the DDIL server to the plurality of database servers across the network.
5. The computer system of claim 4, further comprising computer executable instructions which, when executed by the processing unit, cause the computer system to: When the DDIL server is connected to the network, synchronization of the plurality of per-user databases from the DDIL server to the plurality of database servers across the network is restricted.
6. The computer system of claim 4, further comprising computer executable instructions that, when executed by the processing unit, cause the computer system to: Prior to synchronizing the per-user database of the first user from the DDIL server to the plurality of database servers across the network, synchronizing the per-user database of a second user from the DDIL server to the plurality of database servers across the network.
7. The computer system of claim 4, further comprising computer executable instructions that, when executed by the processing unit, cause the computer system to: When the DDIL server is connected to the network, a policy is determined to prevent synchronization of a per-user database of a second user of the plurality of users to the plurality of database servers across the network.
8. The computer system according to any one of claims 1 to 2, wherein: Each of the plurality of users is part of an enterprise environment, and the enterprise environment includes an on-premises server connected to the network, the computer system further comprising computer executable instructions that, when executed by the processing unit, cause the computer system to: The plurality of per-user databases for the plurality of users are replicated to the on-premises server.
9. A method for providing a user with an electronic identity and an electronic mailbox for both an enterprise environment and a denied, degraded, discontinued or hidden DDIL environment, the method comprising: Associating a single user's electronic identity and email address with a single-user database; Replicating the single-user database to an on-premises server in the enterprise environment and a server in the DDIL environment via a multi-master replication scheme, wherein the on-premises server and the server in the DDIL environment are connected via a network; providing the electronic identity and the electronic mailbox from the single-user database stored on the server in the DDIL environment to a client device of the single user when the server in the DDIL environment is connected to the network, wherein when the server in the DDIL environment is not connected to the network, the server in the DDIL environment is configured for users in the DDIL environment to exchange electronic mail via the server in the DDIL environment; and When the server in the DDIL environment is connected to the network, the single-user database stored on the server in the DDIL environment is synchronized to the on-premises server.
10. The method according to claim 9, further comprising: When the server in the DDIL environment is connected to the network, the client device of the single user is provided with the electronic identity and the electronic mailbox from the single user database stored on the on-premises server.
11. The method according to any one of claims 9 to 10, further comprising: A plurality of single-user databases are replicated to the on-premises servers in the enterprise environment and to the servers in the DDIL environment via the multi-master replication scheme.
12. The method according to claim 11, further comprising: When the server in the DDIL environment is connected to the network, the plurality of single-user databases are synchronized to the on-premises server.
13. The method according to claim 12, further comprising: When the server in the DDIL environment is connected to the network, synchronization of the plurality of single-user databases to the on-premises server is restricted.
14. The method according to any one of claims 9 to 10, further comprising: To create multiple single-user databases, do the following: dividing a multi-user identity database including a plurality of user identities into a plurality of single-user identity databases; partitioning a multi-user email database including a plurality of user mailboxes into a plurality of single-user mailbox databases; matching each of the plurality of single-user identity databases with a corresponding one of the plurality of single-user mailbox databases based on the identity of the user; and Each of the single-user identity databases is combined with a matching single-user mailbox database.
15. The method according to any one of claims 9 to 10, further comprising: When the single user is not in the DDIL environment, the single-user database on the on-premises server is activated.
Citation Information
Patent Citations
Communication device and method for profiling and presentation of message threads
US20140245178A1
System and method for advertising
US20150170209A1