Patent Publication Number: US-8112785-B1

Title: Systems and methods for administering policies for physical locations

Description:
BACKGROUND 
     In the age of instant communication and information exchange, managing the settings of portable devices may be a significant challenge for individuals and enterprises. Network device settings may be difficult to manage because of the increasing complexity of networks and network devices. In particular, location owners may face the challenge of managing network device settings of mobile devices that enter their locations. For example, cell phones and laptops in a library may be allowed for the benefit of patrons, but left unregulated they may prove a distraction and disturbance to other patrons. However, traditional policy management and administration may be insufficient for allowing the library, or any other location owner or manager, to manage portable computing device usage on their property. 
     Traditional policy management may include both policy definition and policy enforcement. Policy definition may refer to the tools or techniques that allow administrators to define how a network device may be controlled. The second component of traditional policy management—policy enforcement—may refer to the tools or techniques that enforce policy definitions. The automated nature of policy enforcement may reduce the time and effort an administrator spends monitoring a network or network device. 
     Administrators may implement traditional policy management through fixed-policy enforcement. To implement fixed-policy enforcement, a network administrator may define a set of fixed policies for a network device. The set of fixed policies does not change, regardless of the location or status of the network device, unless the network administrator makes the policy change. While fixed-policy enforcement may be somewhat effective for a small network with a small number of non-portable network devices, fixed-policy enforcement may not be particularly useful to administrators managing portable network devices. 
     One policy management technique that attempts to address the limitations of fixed-policy enforcement is Network Location Awareness (NLA). NLA may change policy definitions for a device when the device changes networks. NLA may involve technology that allows a device to detect a network, receive a set of policy definitions for that network, then enforce the policies on the device. For example, a laptop with NLA may include one set of policy definitions that corresponds to a home network and another set of definitions that corresponds to a work network. NLA may provide some flexibility over fixed policy in managing portable-computing network devices, but growth and expansion in network environments and use of portable devices may present challenges that neither fixed policy or NLA may address. 
     NLA and other traditional network-policy management techniques may have limited capabilities in traditional networks and may be even less effective in attempts to control mobile-computing devices within certain physical locations. For example, NLA may be ineffective where a mobile-computing device may be in multiple physical locations but still connected to a single network (e.g., a municipal or 3G network). Thus, location owners and managers may need more effective tools to control network devices within their locations. 
     SUMMARY 
     Embodiments of the instant disclosure may address various disadvantages and problems with prior network device administration and may also provide various other advantages and features. For example, some embodiments may verify that a source is authorized to provide mobile-computing-device policies for a physical location. In at least one embodiment, verifying that a source is authorized to provide mobile-computing device policies for a physical location may comprise accessing a database to verify that the source is authorized to provide a first policy for the first physical location. In other embodiments, verifying that a source is authorized to provide mobile-computing device policies for a physical location may comprise receiving a confirmation that the source is authorized to provide the first policy for the first physical location. 
     Certain embodiments may provide third-party verification that a source is authorized to create and modify mobile-computing device policies for a physical location. Such verification may allow for sources (e.g., administrators) to control mobile device policies for their locations by access to a central control server through an internet interface. 
     In at least one embodiment, a computer-implemented method may comprise receiving verification that a source is authorized to provide mobile-computing-device policy for a first physical location. The method may also comprise receiving a first mobile-computing-device policy, identifying the first physical location, and associating the first mobile-computing-device policy with the first physical location. The method may further comprise implementing, based on the verification, the first mobile-computing-device policy at the first physical location. 
     In at least one embodiment, the source may be a location-policy administrator, and the location-policy administrator may be authorized to provide the first policy for the location. In various embodiments, receiving the first mobile-computing-device policy comprises identifying that the first mobile-computing-device policy is received from the location-policy administrator. 
     Embodiments of the instant disclosure provide various methods, systems, and computer-readable media for allowing a source to manage mobile-device settings for a physical location. Some embodiments may provide improved mobile device management and control capabilities for location owners. Various embodiments may verify that the administrator is authorized to provide mobile-computing device policy for a physical location. Various embodiments may combine some or all of these features and/or may provide alternative or additional features. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The accompanying drawings illustrate a number of exemplary embodiments and are a part of the specification. Together with the following description, these drawings demonstrate and explain various principles of the instant disclosure. 
         FIG. 1  is a block diagram of a system configured to receive verification from a source according to at least one embodiment. 
         FIG. 2  is a flow diagram of a computer-implemented method capable of receiving verification that a source is authorized to provide mobile-computing-device policy according to certain embodiments. 
         FIG. 3  is a flow diagram of a computer-implemented method for receiving verification that a source is authorized to provide mobile-computing-device policy for physical locations according to certain embodiments. 
         FIG. 4  is a flow diagram of a computer-implemented method for receiving multiple policies and identifying multiple locations according to at least one embodiment. 
         FIG. 5  is a flow diagram of a computer-implemented method for receiving and implementing policies for multiple sub-regions according to an additional embodiment. 
         FIG. 6  is a block diagram of a physical location with multiple boundaries according to an additional embodiment. 
         FIG. 7  is a block diagram of a physical location with multiple sub-regions according to an additional embodiment. 
         FIG. 8  is a flow diagram of an exemplary computer-implemented method for implementing mobile-computing-device policies according to an additional embodiment. 
         FIG. 9  is a block diagram of an exemplary computing system capable of implementing one or more of the embodiments described and/or illustrated herein. 
         FIG. 10  is a block diagram of an exemplary computing network capable of implementing one or more of the embodiments described and/or illustrated herein. 
     
    
    
     Throughout the drawings, identical reference characters and descriptions indicate similar, but not necessarily identical, elements. While the exemplary embodiments described herein are susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. However, the exemplary embodiments described herein are not intended to be limited to the particular forms disclosed. Rather, the instant disclosure covers all modifications, equivalents, and alternatives falling within the scope of the appended claims. 
     DETAILED DESCRIPTION 
     The following description discusses methods and systems for receiving verification that a source is authorized to provide mobile-computing-device policies for a physical location, and the following examples and figures may enable and describe these methods in a non-limiting and exemplary manner. Location owners may need more efficient and effective technologies to regulate the usage of mobile-computing devices that enter their properties, and the instant disclosure provides the following examples and figures as ways to meet and overcome such challenges. 
     Prior technologies may provide individual device owners with some degree of device control, but concerns beyond individual device management may require technologies capable of regulating device usage at a location level. While some current tools and technologies may attempt to give location owners some degree of control, it may be difficult to define policies for mobile-computing-device usage without applying a method for verifying that a source (e.g., a location owner) of the location is authorized to provide policies. Also, there may be a need for more intuitive and effective ways to allow sources to define usage policies. For example, internet-based interfaces may provide an intuitive and effective method for receiving policies and location identifiers. 
     Defining geographical areas to implement policies for mobile-computing devices may pose another challenge to current technologies. Methods that allow for creative and intuitive identifying of geographical areas in which to implement a policy may save time and money. For example, a location owner may manage a building in close proximity to other buildings. Such proximity may require technologies that can define policy areas with more accuracy and specificity. 
     The above problems, concerns, and solutions provided above are non-limiting and exemplary in nature and are not intended to limit the scope of the instant disclosure. The following description addresses the above as well as other problems in a non-limiting way. 
       FIG. 1  is an illustration of exemplary system  100  capable of receiving verification from a source and implementing mobile-computing-device policy based on that verification. For example, a library may utilize a server-based system similar to exemplary system  100  in order to better regulate mobile-computing-device policy on library premises. The system may include verifying that the library administrator is authorized to provide mobile-computing device policy for the library. For example, an independent party may verify that the library administrator is in charge of policy and authorized to provide policy for the library. 
     Exemplary system  100  may include a computing device  102 . Computing device  102  may include policy module  104 , location module  106 , policy-location-information database  108 , implementation module  110 , and verification mechanism  112 . Computing device  102  may comprise computer code operable to perform various embodiments of the instant disclosure. 
     Policy module  104  may be configured to receive a first mobile-computing-device policy, and location module  106  may be configured to identify a first physical location. Policy module  104  may receive a single policy or multiple policies and store the policies in policy-location-information database  108 . Likewise, location module  106  may identify a single or multiple physical locations and store the locations in policy-location-information database  108 . Policy-location-information database  108  may also store other data regarding the first mobile-computing-device policy, the first physical location, and/or the associations between the policy and location, as will be discussed in  FIG. 2 . 
     Implementation module  110  may be configured to enforce, based on the verification, the first mobile-computing-device policy at the first physical location. In some embodiments, implementation module  110  may be located on a mobile-computing device. In various embodiments, implementation module  110  may be served-based software, or may be part of the server and/or the mobile-computing device. The mobile computing device may include, without limitation, a laptop, a mobile phone, or a personal digital assistant. 
     Verification mechanism  112  may be configured to verify authorization of a source. For example, verification mechanism  112  may be responsible for verifying a person who claims to have authority to administer policy at a school is actually authorized to do so. In some embodiments, verification mechanism  112  may include elements separate from computing device  102 . For example, verification mechanism  112  may include software that tells a device to send a letter to the physical address of a first physical location. Verification mechanism  112  may also send the letter itself or cause the letter to be sent. 
       FIG. 2  illustrates a method  200  for receiving verification that a source is authorized to provide mobile-computing-device policy for a first physical location and then implementing, based on that verification, the first mobile-computing device policy with the first physical location. Method  200  may be implemented using a system similar to exemplary system  100 . Each step in the method may be performed by a computing device such as computing device  102 , and the steps of method  200  may occur in a different order than illustrated in  FIG. 2 . 
     At step  210 , in some embodiments the verification mechanism may receive verification that a source is authorized to provide mobile-computing-device policy for a first physical location. Receiving verification may comprise receiving verification that a source is authorized. Receiving verification may also include verifying that the source is authorized. For example, in one embodiment the verification mechanism may verify the source is authorized by contacting the owner of a hospital and verifying that the hospital owner is authorized to provide mobile-computing device policy for the hospital. In some embodiments, the process of verifying that a source is authorized may be performed separate from the verification mechanism, and the verification mechanism may simply receive the verification. In alternative embodiments, the verification mechanism may access a database to verify that the source is authorized to provide policies for the physical location. For example, a third party may verify that that hospital owner is authorized to provide policy for a hospital and store that information in a database. The verification mechanism may then access and search the database to verify that the hospital owner may provide policy for the hospital. 
     The phrase “mobile-computing-device policy” may refer generally to the overall mobile-computing-device policy of the first physical location, which may include multiple policies. In some embodiments, the phrase may refer to the area in which the policies may be implemented. For example, the hospital owner may be authorized to provide the physical location of the hospital as well as the policies that should be enforced within that physical location. In some embodiments, the hospital owner may do nothing more than define the physical locations for a mobile-computing-device policy to be implemented. 
     At step  220 , a computing device, such as computing device  102  in  FIG. 1 , may receive a first mobile-computing-device policy. The first-mobile-computing-device policy may be setting policies or usage policies. Examples of policies may include, but are not limited to, a ringer setting, a lighting setting, an incoming call setting, an outgoing call setting, a power setting, an email setting, a voicemail setting, a sound setting, a network setting, a network access setting, a network usage setting, a camera setting, a global positioning system setting, a messaging setting, a bluetooth setting, an infrared data association setting, an installed application setting, a built-in application setting, and/or a communication setting. In various embodiments, the first mobile-computing-device policy may contain at least one of the above examples. 
     In some embodiments, the policy may be received from the source through an internet-based interface. For example, the hospital owner may access, via the internet, a server similar to computing device  102 . Policy module  104  may be server-based software configured to provide the hospital owner with a graphical user interface for inputting the policy. In some embodiments, the hospital owner may select the policy from a set of pre-defined policies. Policy module  104  may then store the policy in a database similar to policy-location-information database  108  along with any other relevant information or data concerning the policy. 
     At step  230  of  FIG. 2 , a computing device such as computing device  102  in  FIG. 1  may identify the first physical location. In various embodiments, the physical location may generally refer to a real world location. For example, the real-world physical location of the hospital may be referred to as the first physical location. The process of identifying may be performed in various non-limiting embodiments. In one embodiment, identifying the first physical location may be receiving, from the source, geographical coordinates of the first physical location. In some embodiments, indentifying the first physical location may include receiving, from the source, boundaries of the first physical location. In another embodiment, indentifying the first physical location may include receiving, from the source, an address of the first physical location. The above embodiments for identifying the first physical location will be discussed in greater detail below with the description corresponding to  FIGS. 4-7 . 
     The identification of the first physical location may be stored in a database similar to policy-location-information database  108 . For example, geographical coordinates identifying the boundaries of the hospital may be stored in a database along with policy information. At step  240  of method  200 , a computing device similar to computing device  102  in  FIG. 1  may associate the first mobile-computing-device policy with the first physical location and may store these associations in a database similar to policy-location-information database  108 . 
     At step  250 , a computing device similar to computing device  102  of  FIG. 1  may implement, based on the verification (step  210 ), the first mobile-computing-device policy at the first physical location. Methods and systems for implementing mobile-computing-device policy are described with greater detail in connection to  FIG. 8 . 
     In some embodiments, the source may be a location-policy administrator authorized to provide the first policy for the first location. Examples of location-policy administrators may include, but are not limited to, owners of restaurants, principals of schools, owners of hospitals, administrators or owners of churches, airport administrators, theater owners, or any other person or group authorized to provide policy for their respective locations. 
     In various embodiments, receiving the first mobile-computing-device policy may include identifying that the first mobile-computing-device policy is received from the location-policy administrator. For example, the principal of a school may be required to provide a login username and password to access an internet-based interface capable of receiving a policy for the location. 
     The following discussion provides an example of how the principles of  FIGS. 1 and 2  may be implement. A principal of a school may desire to regulate the use of mobile-computing devices on school grounds. The principal may wish to provide a policy that turns the ringer setting of cell phones off. At step  210  of  FIG. 1 , a computing device similar to computing device  102  in  FIG. 1  may verify that the principal is authorized to provide mobile-computing-device policy for the school. The principal, in this example, may have already been verified as authorized by a third party and the verification mechanism have received this verification. 
     At step  220 , a policy module may receive a policy from the principal defining that the ringer settings are to be turned off for all cell phones while on school premises. At step  230 , a location module may receive an address of the school from the principal. In some embodiments, the location module may be configured to receive an address and identify, based on the address, the physical location (e.g., geographical coordinates or boundaries) of the school. At step  240 , the no-ring setting for cell phones may be associated with the school boundaries and stored in a database similar to policy-location-information database  108 . At step  250 , an implementation module may enforce the mobile-computing-device policy within the boundaries of the school. 
     In certain embodiments, the computing device may contain pre-defined policies for certain physical locations. For example, the computing device may contain a pre-defined policy for all schools. The computing device may, upon discovering that the location is a school, associate the pre-defined policy with geographical coordinates that correspond to the school. Thus, the principal may only need to specify that the first physical location is a school, and the pre-defined policy associated with schools may be automatically applied. 
       FIG. 3  illustrates an exemplary method  300  for receiving verification that a source is authorized to provide mobile-computing-device policy for a first physical location. Method  300  shows exemplary communications between a source  302  and a verification mechanism  304 . In some embodiments, source  302  may be a client device or terminal accessible by a location owner, a location-policy administrator, or any person or source authorized to provide policies for a physical location. For example, the manager of a restaurant may be a source authorized to define policies for the first physical location (e.g., the restaurant) 
     In some embodiments, verification mechanism  304  may be any mechanism configured to send notifications to a source, receive confirmations from a source, and/or verify that the source is authorized to provide mobile-computing-device policy. For example, verification mechanism  304  may be software capable of identifying when verification of a source is needed and may prompt mail to be sent to the physical address. The mail may include a password for a policy-administrator account or other information that the source may used to confirm that the source received the mail and/or is authorized to provide policies for the physical location. In some embodiments, the mail may direct the source to call a verification phone number or reply by mailing a letter to a verification administrator. 
     Verification mechanism  304  may also include software capable of identifying when confirmation mail has been returned or when a source has been verified over the phone. For example, the location administrator of a school may either mail back a notification confirmation or call to verify over the phone. A verification administrator may store verification information in a database configured to allow a computing device, such as computing device  102 , retrieve verification information. 
     At step  310 , verification mechanism  304  may send a notification to source  302  in any of methods previously discussed. At step  320 , the source may receive confirmation information contained within the notification. Confirmation information may be any information that is required to be returned or verified by the source in order to complete the authorization process. Confirmation may include, but is not limited to, personal identification numbers (PINs), passwords, identification information, confirmation numbers, or any other suitable information that may be returned or provided by the source in order to complete the verification process. 
     At step  330 , verification mechanism  304  may receive confirmation from the source. In certain embodiments, confirmation may be received via any suitable method including mail, email, third party verification, or telephone verification. After receiving the confirmation information, the verification mechanism may store the confirmation. 
     As noted in the previous example, the principal of a school may want to regulate the usage of cell-phones. In one embodiment, the principal may have provide policies and location information before being verified as a source authorized to provide policies for the school. Upon receiving the policies and location information, the verification mechanism may initiate a verification process before implementing the policies for the school. In some embodiments, verification mechanism  304  may poll a database (e.g., policy-location-information database  108 ) to determine whether the principal is authorized to provide policies for the school. In other embodiments, the verification mechanism may send a notification to a physical address of the school, as previously discussed. 
       FIG. 4  illustrates and exemplary method  400  for receiving multiple policies and identifying multiple locations. A system similar to exemplary system  100  may be used to implement one or more of the steps in  FIG. 4 . At step  410 , a verification mechanism may receive verification that a source is authorized to provide mobile-computing-device policy for a first physical location. At step  420 , a policy module may receive a first mobile-computing device policy. At step  430 , a location module may identify the first physical location. A computing device similar to computing device  102  may then associate the first mobile-computing-device policy with the first physical location (step  440 ). 
     At step  450 , the location module may receive a set of geographical coordinates that correspond to a sub-region within the first physical location. For example, the location module may receive a set of 5 coordinates that define a boundary for a school (first physical location), and then a set of 4 coordinates that define a library area (sub-region) within the school. At step  460 , the policy module may receive a second mobile-computing-device policy. For example, a principal may choose a “no-ring” setting for the first policy and a “no incoming calls” setting for the second policy. At step  470 , the computing device may associate the second mobile-computing-device policy with the sub-region. At step  480 , the implementation module may implement, based on the verification, the first mobile-computing device policy at the first physical location. 
     In many scenarios it may be advantageous to define policies for multiple sub-regions within a first physical location. Location administrators, for example, may be able to regulate each part of their location with tighter control.  FIG. 5  illustrates a method for receiving and implementing policies for multiple sub-regions. At step  510 , a verification mechanism may receive verification that a source is authorized to provide mobile-computing-device policies for a first physical location. A policy module may then receive a first mobile-computing-device policy (step  520 ). At step  530 , a location module may receive a first set of geographical coordinates that correspond to a first sub-region within the first physical location. At step  540 , the location module may receive a second set of geographical coordinates that correspond to a second sub-region within the first physical location. At step  550 , a computing device similar to computing device  102  may associate the first mobile-computing-device policy with the first sub-region, and at step  560  the computing device may associate a second mobile-computing-device with the second sub-region. At step  570 , an implementation module may implement, based on the verification, first mobile-computing-device policy at the first physical location. 
     In some exemplary embodiments, the physical locations described in methods  400  and  500  may correspond to boundaries of buildings. In certain embodiments, a sub-region may be identified within the first physical location.  FIG. 6  illustrates a first physical location and a sub-region located within the first physical location. A boundary  602  may be defined to encompass building  604 . A sub-boundary  612  may be defined to encompass a room  614  within building  604 . 
     In one example, building  604  may be a school and room  614  may be the library of the school. A location module may identify boundary  602  as the first physical location. A policy may be received defining that all cell-phones within boundary  602  be on the lowest ringer setting and that incoming and outgoing calls would not be permitted except for during lunch hours. The location module may also identify sub-boundary  612  as geographical coordinates corresponding to a sub-region within the first physical location. A policy may be associated with sub-boundary  612  defining that all cell phones may be set to vibrate and no incoming or outgoing calls may be allowed except for emergency phone numbers. The policy may also state that laptops are fully functional but restricted from visiting certain websites. 
     A physical location may be defined by a boundary of any shape or size. In some embodiments, a boundary box may be defined using two geographical coordinates (e.g., latitude and longitude coordinates). A boundary may also be defined with more than two geographical coordinates and may provide a useful tool to develop boundaries unique to the physical locations they correspond to. In some embodiments, identifying the first physical location includes receiving at least three coordinates. Boundaries of various different shapes and sizes may be defined by three or more geographical coordinates. 
     In certain exemplary embodiments, physical locations and sub-regions may be identified by an internet-based interface. The internet-based interface may be provided by the location module. The interface may provide tools that allow a location-policy administrator to draw and/or define different shapes and boundaries to define the first physical location and sub-regions. For example, software may be provided on a computing system similar to computing device  102  in  FIG. 1  that allows a principal of a school to identify the boundaries of a school. The internet-based interface may provide tools for the principal to aid in developing unique shapes to fit the shape of the school and/or rooms within the school. 
     In some embodiments, a first physical location may include more than one sub-region.  FIG. 7  illustrates exemplary drawings of multiple sub-regions.  FIG. 7  illustrates a real-world location  700 . Real-world location  700  may include a boundary  702  defined to be around a building  704 . A sub-boundary  712  may be defined around an area  714 , and a sub-boundary  722  may be defined around an area  724 . 
     In one embodiment, real-world location  700  may be located 1  in a city. Building  704  may be a church, area  714  may be a chapel within the church, and area  724  may be a community center within the church. Boundary  702  may be referred to as a physical location. Sub-boundary  712  and sub-boundary  722  may be referred to as first and second sub-regions. In this example, a pastor may want to define policy that will turn off cell-phones for members of the congregation in the chapel and allow limited cell phone use in the community center. The pastor may also want to allow full use of cell-phones in anywhere else in the church (e.g., hallways, bathrooms, foyers). Boundary  702 , being the whole church, may not be associated with any policy. Sub-boundary  712  may be associated with the chapel&#39;s “no cell phone usage” policy. Sub-boundary may  722  may be associated with the community center&#39;s “limited cell phone use” policy. 
     In some embodiments, implementing the first mobile-computing-device policy includes determining that a mobile-computing device is within the first physical location.  FIG. 8  is an illustration of exemplary method  800  for implementing, based on the verification, the first mobile-computing-device policy at the first physical location. Method  800  shows exemplary communications between an implementation module  810  and a mobile-computing device  820 . At step  830 , mobile-computing device  820  may transmit location information to implementation module  810 . For example, a cell phone may transmit GPS coordinates or may use any other triangulation or location technology to determine where the cell phone is located. At step  832 , implementation module  810  may receive location information. At step  834  implementation module  810  may associate the location information with a mobile-computing-device policy. At step  836 , implementation module  836  may transmit the policy to the mobile-computing device. At step  838 , the policy may be implemented (e.g., enforced) on the mobile-computing device. 
       FIG. 8  may correspond to exemplary embodiments of  FIG. 7 . For example, a church patron&#39;s cell phone may transmit a GPS signal to an implementation module server every five seconds. When the patron enters building the church, the cell phone may transmit GPS coordinates to the implementation module. The implementation module may receive the patron&#39;s cell phones coordinates and search for a database for an associated policy. Because there may be no policy associated with building  704 , no policy will be transmitted to the patron&#39;s cell phone. Once the church patron enters area  714 , the cell phone may transmit its GPS again to implementation module  810 . The implementation may associate the location information of the patron&#39;s cell phone with the policy for sub-boundary  712  (the chapel&#39;s policy). At step  836  this policy may then be transmitted to the patron&#39;s cell phone, and at step  838  the cell phone may enforce the policy by turning off while in the chapel. 
     According to various embodiments, receiving verification that a source is authorized to provide mobile-computing-device policies may comprise receiving verification that a source has authority to create or change one or more mobile-computing device policies associated with a physical location. In various embodiments, receiving a first mobile-computing device policy may comprise allowing a location administrator to set or select one or more device-setting policies for a particular mobile-computing device or a set of mobile-computing devices. In some embodiments, a location administrator may be provided with an account that allows the administrator to input or change policies for a mobile-computing device. The location administrator may input mobile-computing device policies through an Internet-based interface or any other suitable interface. 
     According to various embodiments, identifying a first physical location may comprise receiving, from the administrator, geographical coordinates of the first physical location. As previously discussed, identifying the first physical location may comprise receiving, from the administrator, boundaries of the first physical location. In at least one embodiment, identifying the first physical location may comprise receiving an address of the first physical location. In such embodiments, the address may be converted into geographical coordinates or any other suitable boundary definition for the first physical location. 
     After receiving the mobile-computing-device policy for the mobile-computing device and the identification of the first physical location, the management module may store the mobile-computing device and the identification of the first physical location in a record. The record may be stored in a database or any other suitable storage mechanism. 
     When the a mobile-computing device enters the first physical location, an implementation module may implement the mobile-computing-device policy on the mobile computing device. In some embodiments, implementing a mobile-computing-device policy may comprise changing a first setting on the first mobile-computing device while the first mobile-computing device is within the first physical location. The setting may be associated with the first mobile-computing device policy. For example the setting may be a volume setting, and the mobile-computing-device policy may be a volume level of “3.” Implementing the first mobile-computing-device policy may comprise changing the volume level on the device to “3” if the volume level is not already set to “3.” If the volume level is already set to “3,” the mobile-computing device may verify that the volume level matches the mobile-computing-device policy. In other embodiments, the mobile-computing device may do nothing if the volume level already matches the mobile-computing-device policy. 
       FIG. 9  is a block diagram of an exemplary computing system  910  capable of implementing one or more of the embodiments described and/or illustrated herein. Computing system  910  broadly represents any single or multi-processor computing device or system capable of executing computer-readable instructions. Examples of computing system  910  include, without limitation, workstations, laptops, client-side terminals, servers, distributed computing systems, handheld devices, or any other computing system or device. In its most basic configuration, computing system  910  may comprise at least one processor  914  and a system memory  916 . 
     Processor  914  generally represents any type or form of processing unit capable of processing data or interpreting and executing instructions. In certain embodiments, processor  914  may receive instructions from a software application or module. These instructions may cause processor  914  to perform the functions of one or more of the exemplary embodiments described and/or illustrated herein. For example, processor  914  may perform and/or be a means for performing, either alone or in combination with other elements, one or more of the receiving, comparing, identifying, transmitting, receiving, broadcasting, and determining steps described herein. Processor  914  may also perform and/or be a means for performing any other steps, methods, or processes described and/or illustrated herein. 
     System memory  916  generally represents any type or form of volatile or non-volatile storage device or medium capable of storing data and/or other computer-readable instructions. Examples of system memory  916  include, without limitation, random access memory (RAM), read only memory (ROM), flash memory, or any other suitable memory device. Although not required, in certain embodiments computing system  910  may comprise both a volatile memory unit (such as system memory  916 ) and a non-volatile storage device (such as primary storage device  932 , as described in detail below). 
     In certain embodiments, exemplary computing system  910  may also comprise one or more components or elements in addition to processor  914  and system memory  916 . For example, as illustrated in  FIG. 9 , computing system  910  may comprise a memory controller  918 , an Input/Output (I/O) controller  920 , and a communication interface  922 , each of which may be interconnected via a communication infrastructure  912 . Communication infrastructure  912  generally represents any type or form of infrastructure capable of facilitating communication between one or more components of a computing device. Examples of communication infrastructure  912  include, without limitation, a communication bus (such as an ISA, PCI, PCIe, or similar bus) and a network. 
     Memory controller  918  generally represents any type or form of device capable of handling memory or data or controlling communication between one or more components of computing system  910 . For example, in certain embodiments memory controller  918  may control communication between processor  914 , system memory  916 , and I/O controller  920  via communication infrastructure  912 . In certain embodiments, memory controller may perform and/or be a means for performing, either alone or in combination with other elements, one or more of the steps or features described and/or illustrated herein, such as receiving, comparing, identifying, transmitting, receiving, broadcasting, and determining. 
     I/O controller  920  generally represents any type or form of module capable of coordinating and/or controlling the input and output functions of a computing device. For example, in certain embodiments I/O controller may control or facilitate transfer of data between one or more elements of computing system  910 , such as processor  914 , system memory  916 , communication interface  922 , display adapter  926 , input interface  930 , and storage interface  934 . I/O controller  920  may be used, for example, to perform and/or be a means for performing, either alone or in combination with other elements, one or more of the receiving, comparing, identifying, transmitting, receiving, broadcasting, and determining steps described herein. I/O controller  920  may also be used to perform and/or be a means for performing other steps and features set forth in the instant disclosure. 
     Communication interface  922  broadly represents any type or form of communication device or adapter capable of facilitating communication between exemplary computing system  910  and one or more additional devices. In certain embodiments, communication interface  922  may facilitate communication between computing system  910  and a private or public network comprising additional computing systems. Examples of communication interface  922  include, without limitation, a wired network interface (such as a network interface card), a wireless network interface (such as a wireless network interface card), a modem, and any other suitable interface. In at least one embodiment, communication interface  922  may provide a direct connection to a remote server via a direct link to a network, such as the Internet. Communication interface  922  may also indirectly provide such a connection through, for example, a local area network (such as an Ethernet network), a personal area network (such as a BLUETOOTH network), a telephone or cable network, a cellular telephone connection, a satellite data connection, or any other suitable connection. 
     In certain embodiments, communication interface  922  may also represent a host adapter configured to facilitate communication between computing system  910  and one or more additional network or storage devices via an external bus or communications channel. Examples of host adapters include, without limitation, SCSI host adapters, USB host adapters, IEEE 1394 host adapters, SATA and eSATA host adapters, ATA and PATA host adapters, Fibre Channel interface adapters, Ethernet adapters, or the like. Communication interface  922  may also allow computing system  910  to engage in distributed or remote computing. For example, communication interface  922  may receive instructions from a remote device or send instructions to a remote device for execution. In certain embodiments, communication interface  922  may perform and/or be a means for performing, either alone or in combination with other elements, one or more of the receiving, comparing, identifying, transmitting, receiving, broadcasting, and determining steps disclosed herein. Communication interface  922  may also be used to perform and/or be a means for performing other steps and features set forth in the instant disclosure. 
     As illustrated in  FIG. 9 , computing system  910  may also comprise at least one display device  924  coupled to communication infrastructure  912  via a display adapter  926 . Display device  924  generally represents any type or form of device capable of visually displaying information forwarded by display adapter  926 . Similarly, display adapter  926  generally represents any type or form of device configured to forward graphics, text, and other data from communication infrastructure  912  (or from a frame buffer, as known in the art) for display on display device  924 . 
     As illustrated in  FIG. 9 , exemplary computing system  910  may also comprise at least one input device  928  coupled to communication infrastructure  912  via an input interface  930 . Input device  928  generally represents any type or form of input device capable of providing input, either computer or human generated, to exemplary computing system  910 . Examples of input device  928  include, without limitation, a keyboard, a pointing device, a speech recognition device, or any other input device. In at least one embodiment, input device  928  may perform and/or be a means for performing, either alone or in combination with other elements, one or more of the receiving, comparing, identifying, transmitting, receiving, broadcasting, and determining steps disclosed herein. Input device  928  may also be used to perform and/or be a means for performing other steps and features set forth in the instant disclosure. 
     As illustrated in  FIG. 9 , exemplary computing system  910  may also comprise a primary storage device  932  and a backup storage device  933  coupled to communication infrastructure  912  via a storage interface  934 . Storage devices  932  and  933  generally represent any type or form of storage device or medium capable of storing data and/or other computer-readable instructions. For example, storage devices  932  and  933  may be a magnetic disk drive (e.g., a so-called hard drive), a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash drive, or the like. Storage interface  934  generally represents any type or form of interface or device for transferring data between storage devices  932  and  933  and other components of computing system  910 . 
     In certain embodiments, storage devices  932  and  933  may be configured to read from and/or write to a removable storage unit configured to store computer software, data, or other computer-readable information. Examples of suitable removable storage units include, without limitation, a floppy disk, a magnetic tape, an optical disk, a flash memory device, or the like. Storage devices  932  and  933  may also comprise other similar structures or devices for allowing computer software, data, or other computer-readable instructions to be loaded into computing system  910 . For example, storage devices  932  and  933  may be configured to read and write software, data, or other computer-readable information. Storage devices  932  and  933  may also be a part of computing system  910  or may be a separate device accessed through other interface systems. 
     In certain embodiments, the exemplary file systems disclosed herein may be stored on primary storage device  932 , while the exemplary file-system backups disclosed herein may be stored on backup storage device  933 . Storage devices  932  and  933  may also be used, for example, to perform and/or be a means for performing, either alone or in combination with other elements, one or more of the receiving, comparing, identifying, transmitting, receiving, broadcasting, and determining steps disclosed herein. Storage devices  932  and  933  may also be used to perform and/or be a means for performing other steps and features set forth in the instant disclosure. 
     Many other devices or subsystems may be connected to computing system  910 . Conversely, all of the components and devices illustrated in  FIG. 9  need not be present to practice the embodiments descried and/or illustrated herein. The devices and subsystems referenced above may also be interconnected in different ways from that shown in  FIG. 9 . Computing system  910  may also employ any number of software, firmware, and/or hardware configurations. For example, one or more of the exemplary embodiments disclosed herein may be encoded as a computer program (also referred to as computer software, software applications, computer-readable instructions, or computer control logic) on a computer-readable medium. The phrase “computer-readable medium” generally refers to any form of device, carrier, or medium capable of storing or carrying computer-readable instructions. Examples of computer-readable media include, without limitation, transmission-type media, such as carrier waves, and physical media, such as magnetic-storage media (e.g., hard disk drives and floppy disks), optical-storage media (e.g., CD- or DVD-ROMs), electronic-storage media (e.g., solid-state drives and flash media), and other distribution systems. 
     The computer-readable medium containing the computer program may be loaded into computing system  910 . All or a portion of the computer program stored on the computer-readable medium may then be stored in system memory  916  and/or various portions of storage devices  932  and  933 . When executed by processor  914 , a computer program loaded into computing system  910  may cause processor  914  to perform and/or be a means for performing the functions of one or more of the exemplary embodiments described and/or illustrated herein. Additionally or alternatively, one or more of the exemplary embodiments described and/or illustrated herein may be implemented in firmware and/or hardware. For example, computing system  910  may be configured as an application specific integrated circuit (ASIC) adapted to implement one or more of the exemplary embodiments disclosed herein. 
       FIG. 10  is a block diagram of an exemplary network architecture  1000  in which client systems  1010 ,  1020 , and  1030  and servers  1040  and  1045  may be coupled to a network  1050 . Client systems  1010 ,  1020 , and  1030  generally represent any type or form of computing device or system, such as exemplary computing system  910  in  FIG. 9 . Similarly, servers  1040  and  1045  generally represent computing devices or systems, such as application servers or database servers, configured to provide various database services and/or to run certain software applications. Network  1050  generally represents any telecommunication or computer network; including, for example, an intranet, a wide area network (WAN), a local area network (LAN), a personal area network (PAN), or the Internet. 
     As illustrated in  FIG. 10 , one or more storage devices  1060 ( 1 )-(N) may be directly attached to server  1040 . Similarly, one or more storage devices  1090 ( 1 )-(N) may be directly attached to server  1045 . Storage devices  1060 ( 1 )-(N) and storage devices  1090 ( 1 )-(N) generally represent any type or form of storage device or medium capable of storing data and/or other computer-readable instructions. In certain embodiments, storage devices  1060 ( 1 )-(N) and storage devices  1090 ( 1 )-(N) may represent network-attached storage (NAS) devices configured to communicate with servers  1040  and  1045  using various protocols, such as NFS, SMB, or CIFS. 
     Servers  1040  and  1045  may also be connected to a storage area network (SAN) fabric  1080 . SAN fabric  1080  generally represents any type or form of computer network or architecture capable of facilitating communication between a plurality of storage devices. SAN fabric  1080  may facilitate communication between servers  1040  and  1045  and a plurality of storage devices  1090 ( 1 )-(N) and/or an intelligent storage array  1095 . SAN fabric  1080  may also facilitate, via network  1050  and servers  1040  and  1045 , communication between client systems  1010 ,  1020 , and  1030  and storage devices  1090 ( 1 )-(N) and/or intelligent storage array  1095  in such a manner that storage devices  1090 ( 1 )-(N) and intelligent storage array  1095  appear as locally attached devices to client systems  1010 ,  1020 , and  1030 . As with storage devices  1060 ( 1 )-(N) and storage devices  1070 ( 1 )-(N), storage devices  1090 ( 1 )-(N) and intelligent storage array  1095  generally represent any type or form of storage device or medium capable of storing data and/or other computer-readable instructions. 
     In certain embodiments, and with reference to exemplary computing system  910  of  FIG. 9 , a communication interface, such as communication interface  922  in  FIG. 9 , may be used to provide connectivity between each client system  1010 ,  1020 , and  1030  and network  1050 . Client systems  1010 ,  1020 , and  1030  may be able to access information on servers  1040  or  1045  using, for example, a web browser or other client software. Such software may allow client systems  1010 ,  1020 , and  1030  to access data hosted by server  1040 , server  1045 , storage devices  1060 ( 1 )-(N), storage devices  1070 ( 1 )-(N), storage devices  1090 ( 1 )-(N), or intelligent storage array  1095 . Although  FIG. 10  depicts the use of a network (such as the Internet) for exchanging data, the embodiments described and/or illustrated herein are not limited to the Internet or any particular network-based environment. 
     In at least one embodiment, all or a portion of one or more of the exemplary embodiments disclosed herein may be encoded as a computer program and loaded onto and executed by server  1040 , server  1045 , storage devices  1060 ( 1 )-(N), storage devices  1070 ( 1 )-(N), storage devices  1090 ( 1 )-(N), intelligent storage array  1095 , or any combination thereof. All or a portion of one or more of the exemplary embodiments disclosed herein may also be encoded as a computer program, stored in server  1040 , run by server  1045 , and distributed to client systems  1010 ,  1020 , and  1030  over network  1050 . Accordingly, network architecture  1000  may perform and/or be a means for performing, either alone or in combination with other elements, one or more of the receiving, comparing, identifying, transmitting, receiving, broadcasting, and determining steps disclosed herein. Network architecture  1000  may also be used to perform and/or be a means for performing other steps and features set forth in the instant disclosure. 
     As detailed above, computing system  1010  and/or one or more of the components of network architecture  1000  may perform and/or be a means for performing, either alone or in combination with other elements, one or more steps of the exemplary methods described and/or illustrated herein. In one embodiment, this exemplary computer-implemented method may comprise identifying login information for a first user account associated with the first online community, accessing the first user account using the login information from the first user account, obtaining information from the first user account, and modifying, based on the information obtained from the first user account, a second user account associated with the second online community. 
     In some embodiments, identifying the login information for the first user account may comprise receiving the login information for the first user account from a user or retrieving the login information from the first user account from a login-information database. The method may further comprise, prior to modifying the second user account associated with the second online community, identifying login information for the second user account and accessing the second user account using the login information for the second user account. The method may also further comprise obtaining information from the second user account and modifying, based on the information obtained from the second user account, the first user account. 
     In certain embodiments, accessing the first user account may comprise logging in to the first user account using the login information for the first user account. Accessing the first user account may also comprise accessing the first user account using a community-specific access module. In addition, obtaining information from the first user account may comprise receiving computer-readable data associated with the first user account or extracting human-readable data associated with the first user account. 
     In at least one embodiment, the information obtained from the first user account may comprise user-account data. The information obtained from the first user account may also comprise at least one contact record, which may comprise contact identification information, an email address, a phone number, a fax number, a mailing address, a website address, or an instant-messaging address. 
     In certain embodiments, modifying the second user account may comprise editing, based on the information obtained from the first user account, at least one preexisting contact record, creating, based on the information obtained from the first user account, at least one new contact record, or deleting at least one contact record. In addition, modifying the second user account may comprise creating the second user account and the second online community, creating, based on the information obtained from the first user account, at least one new contact record for the second user account, and transmitting an invitation to join the second online community to a contact identified in the at least one new contact record. 
     In some embodiments, the method may also comprise providing a graphical user interface that allows a user to modify login information, community access settings, community synchronization settings, or the like. The method may also comprise modifying, based on the information obtained from the first user account, a third user account associated with a third online community. In addition, the method may further comprise, prior to accessing the first user account, receiving a request from a user to synchronize the first user account with the second user account. 
     Computing system  1010  and/or one or more of the components of network architecture  1000  may also represent all or portions of exemplary system  100  in  FIG. 1 . For example, computing system  1010  and/or one or more of the components of network architecture  1000  may represent portions of a system for automatically synchronizing online communities, which system may comprise a login module for managing login information for at least a first user account associated with the first online community, a community-access module for accessing the first user account using the login information for the first user account, and obtaining information from the first user account, and a community synchronization module for modifying, based on the information obtained from the first user account, a second user account associated with the second online community. 
     In certain embodiments, the community-access module may further comprise at least one community-specific access module. In addition, the system may further comprise a graphical-user-interface module for providing a graphical user interface that allows a user to modify login information, community access settings, or synchronization settings. 
     The system may also comprise a login-information database for storing login information for user accounts associated with online communities, and obtain-information data base for storing information obtained from online communities, and a community-specific-access-module database for storing community-specific access modules. 
     As detailed above, all or portions of exemplary system  100  in  FIG. 1  (such as modules  104 - 112 ) may represent a software application or program that, when executed by a computing device, may cause the computing device to perform one or more tasks required to automatically synchronize online communities. In this embodiment, all or portions of exemplary system  100  in  FIG. 1  may represent computer-readable media comprising one or more computer-executable instructions that, when executed by a computing device, may cause a computing device to identify login information for a first user account associated with the first online community, access the first user account using the login information for the first user account, obtain information from the first user account, and modify, based on the information obtained from the first user account, a second user account associated with the second online community. 
     While the foregoing disclosure sets forth various embodiments using specific block diagrams, flowcharts, and examples, each block diagram component, flowchart step, operation, and/or component described and/or illustrated herein may be implemented, individually and/or collectively, using a wide range of hardware, software, or firmware (or any combination thereof) configurations. In addition, any disclosure of components contained within other components should be considered exemplary in nature since many other architectures can be implemented to achieve the same functionality. 
     The process parameters and sequence of steps described and/or illustrated herein are given by way of example only and can be varied as desired. For example, while the steps illustrated and/or described herein may be shown or discussed in a particular order, these steps do not necessarily need to be performed in the order illustrated or discussed. The various exemplary methods described and/or illustrated herein may also omit one or more of the steps described or illustrated herein or include additional steps in addition to those disclosed. 
     Furthermore, while various embodiments have been described and/or illustrated herein in the context of fully functional computing systems, one or more of these exemplary embodiments may be distributed as a program product in a variety of forms, regardless of the particular type of computer-readable media used to actually carry out the distribution. The embodiments disclosed herein may also be implemented using software modules that perform certain tasks. These software modules may include script, batch, or other executable files that may be stored on a computer- 
     readable storage medium or in a computing system. In some embodiments, these software modules may configure a computing system to perform one or more of the exemplary embodiments disclosed herein. 
     The preceding description has been provided to enable others skilled in the art to best utilize various aspects of the exemplary embodiments disclosed herein. This exemplary description is not intended to be exhaustive or to be limited to any precise form disclosed. Many modifications and variations are possible without departing from the spirit and scope of the instant disclosure. The embodiments disclosed herein should be considered in all respects illustrative and not restrictive. Reference should be made to the appended claims and their equivalents in determining the scope of the instant disclosure. 
     Unless otherwise noted, the terms “a” or “an,” as used in the specification and claims, are to be construed as meaning “at least one of.” In addition, for ease of use, the words “including” and “having,” as used in the specification and claims, are interchangeable with and have the same meaning as the word “comprising.”