Systems and methods for automated employee resource delivery

Systems and methods are provided for automated employee resource delivery in a variety of situations that may commonly arise in modern large company settings. Employee identification data may be identified, and a subset of such data that is required for release of a particular resource may be identified. An automatic notification may be generated for the resource owner, where the automatic notification comprises the required subset of employee identification data. This approach is combined with one or more techniques for ascertaining the resources an employee will require and updating information regarding the resources employees are using.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No. 11/512,979 and U.S. patent application Ser. No. 11/512,808, both filed on Aug. 29, 2006, and also entitled “Systems and Methods for Automated Employee Resource Delivery.”

BACKGROUND

Most companies provide resources to employees to maximize their productive potential. For example, in a modern office environment, an employee may be provided with a workstation and a computer that is equipped with a variety of hardware and software. The employee may also have network access to additional hardware and software. The employee may be provided with access permissions as necessary to utilize resources such as email accounts, fax machines, printers, and network drive space. The employee may be further equipped with resources such as a telephone, building access badge, keys, cell phones, and so forth.

Although a variety of software products are available for assigning and scheduling “human resources,” i.e. employee time and expertise that is needed to accomplish a complex project, such products neglect the tools employees may need to extend their productivity. Instead, such products simply assume that a company has provided its employees with the tools they need to be as effective as possible.

Meanwhile, the resources provided to employees are typically controlled by a diverse set of resource owners. For example, a workstation building access badge may be owned by a building maintenance department, while a computer is owned by an Information Technology (IT) department. A telephone may be owned by a human resources department, while access permissions to various computing resources may be owned by the business units that maintain and manage such resources. It may fall on a new employee, the employee's manager, or a person with appropriate knowledge of company practices to equip employees with the resources they need.

In a large company, resource owners become spread out and develop their own unique protocols for accepting and reviewing resource requests. Some require an approval from a manager or other person of appropriate authority. Some require information from the requesting employee, such as the employee's employee ID number, username and password, social security number, and so forth. Satisfying the demands of the various resource owners in order to acquire all the resources an employee needs becomes a difficult and time consuming task that presents an efficiency drag on the business.

In light of the above mentioned difficulties, systems and methods are needed for fast identification of the resources employees should have, and for providing resources from a disparate group of resource owners. This would increase efficiency as employees enter, leave, and transform within a company.

SUMMARY

In consideration of the above-identified shortcomings of the art, the present disclosure provides systems and methods for automated employee resource delivery in a variety of situations that may commonly arise in modern large company settings, for example when a new employee joins a workforce, when an employee request a new resource, and when an employee changes functions such as by promotion or lateral transfer within a company. In general, employee identification data may be identified, and a subset of such data that is required for release of a particular resource may be identified. An automatic notification may be generated for the resource owner, where the automatic notification comprises the required subset of employee identification data. This approach is combined with one or more techniques for ascertaining the resources an employee will require and updating information regarding the resources employees are using, as described in greater detail below.

DETAILED DESCRIPTION

Certain specific details are set forth in the following description and figures to provide a thorough understanding of various embodiments of the invention. Certain well-known details often associated with computing and software technology are not set forth in the following disclosure, however, to avoid unnecessarily obscuring the various embodiments of the invention. Further, those of ordinary skill in the relevant art will understand that they can practice other embodiments of the invention without one or more of the details described below. Finally, while various methods are described with reference to steps and sequences in the following disclosure, the description as such is for providing a clear implementation of embodiments of the invention, and the steps and sequences of steps should not be taken as required to practice this invention.

In general, the below description begins with exemplary methods that may be implemented in accordance with embodiments of the invention. Thereafter, computer hardware, software, and networking components are described that may be used to implement such methods, or to provide system and computer readable media embodiments the invention.

FIG. 1illustrates an exemplary method for delivering resources to a new employee. An exemplary method for employee resource delivery according toFIG. 1may comprise receiving new employee identification data101. Employee identification data may comprise data such as employee name, employee social security number, employee address, employee identification number, employee username, employee password, employee building access number, employee criminal history, employee insurance policy data, employee credit card number, employee bank account information, employee email, and the like. Modern companies collect a host of identification data from their employees for a large variety of identification, tax, financial, reimbursement and other reasons, and any such data may be included in the employee identification data. Because resource owners typically require a wide variety of different information, it is preferable to include a similarly wide variety of employee identification data in step101.

The act of receiving the new employee identification data according to step101may be accomplished, in one embodiment, by a computer. For example, a company employee in a human resource department may collect the data from a new employee, and subsequently enter such data into a terminal. The terminal in such an embodiment receives the new employee identification data, as may a central company database that is updated from the terminal.

The method ofFIG. 1may further comprise receiving a resource list102. A resource list is a list of resources that the employee will need to perform his or her function in the company. A huge variety of resources are utilized by modern employees depending on the work they do and the resources available to their employer. In an office environment, as mentioned above, common resources include a workstation location, a computer equipped with a variety of hardware and software as necessary, network access to additional hardware and software, access permissions as necessary to utilize resources such as email accounts, fax machines, printers, and network drive space, a telephone, a building access badge, keys, cell phones, and so forth. In a construction environment an employee may receive tool belt, tape measure, hammer, drill, hard hat, safety goggles, work gloves, specialized clothing, and the like. The resources that are necessary in a particular setting cannot be exhaustively described herein and such considerations are left to the particular needs of an implementing organization.

Different employees serve different functions, and will accordingly need different resources. Thus, a resource list is not an exhaustive list of all resources any employee may need, but rather a list that is tailored to the particular needs of the employee in question. Embodiments may provide a variety of approaches for selecting an appropriate resource list, and for keeping resource lists that remain up-to-date for continued use within a company as new employees join, leave, and transform within the company.FIGS. 4-7provide a variety of exemplary approaches for organizing resource lists and for assigning resource lists to employees in a disciplined fashion. See below for a detailed description of these figures.

An appropriately configured resource list according to this disclosure comprises entries with at least four fields: a resource description, a resource owner, an electronic communications address for requesting the resource, and a specification of a subset of employee identification data that is required for release of the resource. Additional fields may be included as desired to meet additional needs and requirements in particular settings.

The act of receiving a resource list according to step102may be accomplished, in one embodiment, by a computer. For example, a company employee in a human resource department may select an appropriate resource list for a new employee, for example by selecting a resource list from a collection of different resource lists. The act of selecting an appropriate resource list causes the computer in question, to receive the resource list, or at least an identification of the resource list, which also satisfies step102. A central company database may also receive the resource list or an identification thereof when such database is updated from an individual terminal.

The method ofFIG. 1may further comprise automatically sending a resource request to the electronic communications address103that is provided in a corresponding entry in the resource list. For example, a computer that received employee identification data and also a resource list may perform this step. Such computer may use an appropriate algorithm to walk through the entries in a received resource list, and request each resource for the new employee.

An exemplary algorithm for doing so may include, for example, appropriate logic and subsystems to identify an entry in the resource list, identify the specification of a subset of employee identification data that is required for release of the resource, identify the electronic communications address for requesting the resource, extract the subject employee's identification data from the employee identification data, and generate an electronic notification directed to such electronic communications address, where in one embodiment the notification includes only the employee identification data that is required for release of the resource. The algorithm may also execute the sending of the notification.

The electronic notification may be, in one embodiment, an email. In this case the electronic communications address would preferably be an email address or email alias. It need not, however, be the email address of the resource owner. In many situations, the resource owner may delegate satisfaction of resource requests to another, while the owner may remain behind the scenes for approval of the request and management of the resource. In additional embodiments, the electronic notification may be a post to a resource owner's web page, a call to an Application Programming Interface (API) provided by the resource owner, a file that is saved to a location accessible by the resource owner, and the like.

FIG. 1and the various other Figures herein may be extended as necessary to accommodate departing employees, for example employees who are terminated, relocated, or otherwise leave a company or a particular company location. In such embodiments, the various steps of, for example,FIG. 1may be supplemented by systems and methods for receiving an employee departure notification that identifies a departing employee, automatically locating departing employee identification data associated with said departing employee, automatically identifying a resource list associated with said departing employee, and automatically sending a resource recovery request to an electronic communications address on said resource list associated with a departing employee, said resource recovery request comprising said departing employee identification data. Here, the resource recovery request may serve to put resource owners on notice that they are responsible for recovering their resource. The departing employee identification data may thus advantageously include employee workstation location, and even employee home address in situations where an employee is furnished with portable resources or resources such as those for tele-working out of the home. A flag may be included with the departing employee identification data if the employee departed on hostile terms or expedited resource recovery is otherwise recommended. Removal or displacement of equipment, hardware/software, company cell phones, RLA/VPN accounts, keys, card accesses, system accesses and so forth can thus be accomplished much more rapidly than under existing practices.

FIG. 2illustrates an exemplary method for assigning resources to an existing employee. Various of the steps inFIG. 2can be understood from the above description ofFIG. 1. In general,FIG. 2illustrates a method for employee resource delivery in a scenario involving updating the resources that are allocated to existing employees in such a way as to keep track of the resources that are required by a company's various employees. A first step in the method ofFIG. 2may comprise receiving an existing employee request for a new resource201. Here, it is generally contemplated that one employee or department will perform the function of a centralized resource clearinghouse, and the request for a new resource will be received at such a central location. For example, a request may be received in the form of an email to an employee in a human resources department, where the employee is responsible for tracking resource requests and keeping appropriately updated resource lists. However, embodiments may also be envisioned in which requests are received by resource owners directly, and the resource owners update resource lists in a distributed fashion, for example by individually accessing resource lists residing in a central database.

A next step inFIG. 2may comprise identifying employee identification data associated with said existing employee202. This is similar to step101inFIG. 1, except that the employee identification data presumably already exists in the company's data stores and so need only be identified or retrieved. The employee identification data may be identified, for example, by an automated process that receives the existing employee request, or by a human operator that reads the existing employee request after it is received.

A next step inFIG. 2may comprise identifying a specification of a subset of employee identification data that is required for release of the resource203. Here, the resource may be associated with one or more existing resource lists, in which case the specification of a subset of employee identification data may be usefully pulled from an existing resource list. In another embodiment, the specification of a subset of employee identification data may be recovered from the resource owner. For example, resource owners may publish on a company intranet a specification of a subset of employee identification data that is required for requesting their resource. In this case, an automated process that may have identified employee identification data may also retrieve the specification of a subset of employee identification data from the published location. Resource owners may also save their specifications of a subset of employee identification data to a centrally accessible file, or such information may be otherwise kept within a centralized information clearinghouse.

Step204comprises identifying an electronic communications address for requesting the resource, and may optionally be performed according to the same approaches available for step203. In short, the electronic communications address may be pulled from an existing resource list, or may be recovered from information that is published by the resource owner.

The method ofFIG. 2may further comprise automatically sending a resource request to the electronic communications address205that is identified in step204. Similar to step103inFIG. 1, a computer that has identified employee identification data, the required subset of employee information to request the resource, and the appropriate electronic communications address, may perform this step. Such computer may use an appropriate algorithm to request the requested resource for the existing employee.

Having requested the resource, it may remain unknown in this scenario whether approval will be granted by the resource owner. If approval is granted, an appropriate corresponding resource list must be updated so that the resource lists remain useful in determining appropriate resources for other employees. Thus, step206comprises receiving an approval from a resource owner. In fully automated embodiments, an automated process that sent the resource request pursuant to step205may also receive an appropriately formatted approval in step206. The approval can operate as implicit agreement to also deliver the requested resource to the existing employee, as well as any other existing employees who may also be deemed to be entitled to the resource in view of the newly granted approval.

A resource list may be automatically updated with a new entry for the newly approved resource207. The resource list that is updated depends on how the resource lists are configured, e.g. in an embodiment such as illustrated inFIG. 4, described further below, an employee role resource list may be updated. In an embodiment such as illustrated inFIG. 5, described further below, an employee resource list may be updated. In an embodiment such as illustrated inFIG. 6, described further below, a manager resource list may be updated. In an embodiment such as illustrated inFIG. 7, described further below, a workstation location resource list may be updated.

An exemplary algorithm for updating a resource list according to step207may comprise, for example, appropriate logic and subsystems to identify a resource list that is associated with the requesting employee, and to update that resource list with a new entry comprising the resource description, resource owner, electronic communications address for requesting the resource, and specification of a subset of employee identification data that is required for release of the resource.

FIG. 3illustrates an exemplary method for assigning resources to an employee that changes function, for example by virtue of a promotion or a lateral transfer within a company. In such a situation, the subject employee may no longer need their former resources, and may instead need a new set of resources. It may also be likely that the subject employee will need some of their former resources but not others, and will need some new resources. For example, if an employee is promoted, the employee may require new access permissions to data that was formerly inaccessible. Access permissions are considered a resource for the purpose of this disclosure.

The exemplary method ofFIG. 3may first comprise receiving a request for existing employee resource modification301. Such a request may be sent by the employee themselves, or by the department or new manager to which the employee has transferred. The request may be received by a computer, for example a computer that is operated by a human resources department or employee who is otherwise responsible for centralized resource tracking.

This request may comprise information that identifies the new position of the employee in a variety of ways. In one embodiment, the request may identify a new employee role. In another embodiment, the request may identify another existing employee who performs a function that is most closely similar to the function that the transferred employee will provide. In another embodiment, the request may identify a new manager of the transferred employee. In another embodiment, the request may identify a new workstation location for the transferred employee. The request may, but need not identify, the former role of the subject employee, because presumably the former role is data that is known and may be easily accessed.

Step302comprises identifying employee identification data and may be performed in an identical fashion as step202fromFIG. 2.

Step303comprises identifying a first resource list associated with the existing employee. This first resource list is the list of resources to which the employee was entitled in his or her previous position. The resource list comprises entries comprising resource descriptions, resource owners, electronic communications addresses, and specifications of subset of employee identification data, as described above. In one embodiment the first resource list may be identified by determining a resource list associated with a previous employee role associated with the employee. In another embodiment the resource list may be identified by determining a resource list that is directly associated with the employee. In another embodiment the first resource list may be identified by determining a resource list associated with a previous manager associated with the employee. In another embodiment the first resource list may be identified by determining a resource list associated with a previous workstation associated with the employee.

Step304comprises automatically sending a resource recovery request to a first electronic communications address, i.e., to an electronic communications address listed on said first resource list. Resource recovery requests may be sent to each of the electronic communications addresses on the first resource list, so that the resource owners may recall their resources from the transferred employee.

The issue of overlapping resources, i.e., resources that the transferred employee needed in their previous position, and will also need in their new position, can be dealt with in a variety of ways. In one embodiment, a computer may compare the first resource list with a second resource list, and send resource recovery requests to only those electronic communications addresses associated with resources that the employee will no longer need. Similarly, resource requests may be sent to only those electronic communications addresses associated with resources that the employee will need in their new position.

In another embodiment, resource recovery requests may be sent to all electronic communications address on a first resource list, and resource requests may be sent to all electronic communications addresses on a second resource list. The owners of the resources can determine on their own whether to recall a previous resource and send a new one, or to simply allow the employee to keep the previous resource.

An appropriately configured algorithm can send resource recovery requests in either of the embodiments above by identifying the electronic communications addresses in the first resource list, and sending a recovery request to such electronic communications addresses.

Step305comprises receiving a second resource list. As with step102inFIG. 1, this may comprise selecting an appropriate resource list for the transferred employee, for example by selecting a resource list from a collection of different resource lists. A drop-down listing of available resource lists may be presented for easy selection within a user interface. The act of selecting an appropriate resource list causes the computer in question to receive the resource list, or at least an identification of the resource list, which also satisfies step305. A central company database may also receive the resource list or an identification thereof when such database is updated from an individual terminal.

The exemplary method ofFIG. 3may finally comprise automatically sending a resource request to a second electronic communications address, i.e., an electronic communications address on the new (second) resource list associated with the transferred employee. Here, resource requests are sent to the various electronic communications addresses associated with the resources to which the transferred employee is newly entitled.

As with step103inFIG. 1, a computer that received employee identification data and also the second resource list may perform this step. Such computer may use an appropriate algorithm to walk through the entries in the second resource list, and request each resource for the transferred employee.

An exemplary algorithm for doing so may include, for example, appropriate logic and subsystems to identify an entry in the resource list, identify the specification of a subset of employee identification data that is required for release of the resource, identify the electronic communications address for requesting the resource, extract the subject employee's identification data from the employee identification data, and generate an electronic notification directed to such electronic communications address, where in one embodiment the notification includes only the employee identification data that is required for release of the resource. The algorithm may also execute the sending of the notification.

FIG. 4illustrates an approach for associating resource lists with employee roles and for providing a plurality of selectable roles that may be used to determine appropriate employee resources. InFIG. 4, a resource list may be associated with each of the employee roles401-407depicted in the organizational chart. While it is likely that employees at a same grouping level in the organizational chart will have a similar role, it is also possible that such employees will have different roles. For example a CEO may have role401, while two vice presidents have role402and one vice president has role403. In this example, all three general managers under vice president with role403have role404, and the employees under one of the general managers have roles405,406, and407. Thus, while there are numerous employees at various levels, the employees are assigned roles as necessary for their resource needs.

All roles401-407can be compiled into a digitized drop-down list of selectable roles that is accessible, for example, to a human resource department when a new employee is hired. For example, consider a scenario in which a new employee is hired as represented by the dotted box inFIG. 4. It may be determined that the new employee will have role405. A resource list may be associated with role405, such that upon determining the appropriate role, the new employee may be assigned resources according to the associated resource list using the method ofFIG. 1. Similarly, an employee that is transferred to the position associated with the dotted box may be assigned resources according to role405by applying the method ofFIG. 3. If any employee in role405requests a new resource, all employees in role405may receive the resource, if approved.

An exemplary resource list associated with role405is illustrated at the bottom ofFIG. 4. the resource list comprises four fields, a resource description, a resource owner, an electronic communications address for requesting the resource, and a specification of a subset of employee identification data that is required for release of the resource. The resource list may comprise any number of entries405a,405b,405cwith these fields. The entries correspond to all of the various resources to which the employee of that role is entitled.

FIG. 5illustrates an approach for associating resource lists with employees and for providing a plurality of selectable employees that may be used to determine appropriate employee resources. In an approach such as that ofFIG. 5, it is contemplated that each and every employee in a company will be associated with a resource list. For example, each employee501-511may be associated with a resource list. When a new employee511enters the company, an appropriate resource list may be determined for that employee by assessing which of the other employees perform a function that is most similar to the intended function of the new employee. In the illustrated example, it is determined that employee509performs a substantially similar function to that intended for employee511, and therefore a copy of employee509's resource list can be made and assigned to new employee511.

Similarly, if an employee is transferred to a new function, a different employee whose current function is now most similar to the transferred employee's new function may be selected, and the transferred employee may be assigned the same resources thereof. Any employee that wishes to modify their set of resources may do so according to the method ofFIG. 2. An updated resource list is thus kept for each employee, allowing any new or transferred employee to immediately be assigned appropriate resources for their new position by selecting an appropriate most similar existing employee.

FIG. 6illustrates an approach for associating resource lists with managers and for providing a plurality of selectable managers that may be used to determine appropriate employee resources. In an embodiment such asFIG. 6, the same resources are assigned to all employees under a particular manager. Thus, employees602-603, and manager604may be assigned resources according to a resource list associated with manager601. Manager605and employees606-607may be assigned resources according to a resource list associated with manager604. Employees608-611may be assigned resources according to a resource list associated with manager605.

A new employee608may be assigned a resource list by selected, e.g., from a drop-down menu of all managers in a company, the manager605that the new employee608will work under. A resource list such as that provided at the bottom of the figure may be associated with manager605, and may provide entries605a,605b,605c, for each and every resource that employees608-611may need. Similarly, an employee who is transferred to a position under manager605may be assigned resources from a resource list associated with manager605. If any employee requests a new resource, the resource list associated with605may be updated according to the method ofFIG. 2, and all employees608-611may receive the requested resource, if approved.

FIG. 7illustrates an approach for associating resource lists with workstation locations and for providing a plurality of selectable workstation locations that may be used to determine appropriate employee resources. An approach such as that illustrated inFIG. 7should be readily understood to one who studiesFIGS. 4-6and corresponding description. Here, resource lists may be associated with workstation locations. Resource lists may be associated at any grouping level. For example, if resource lists are available for each area705-707, but not for individual workstations708-711, then a new or transferred employee assigned to workstation708may be assigned resources according to a resource list associated with area705. Alternatively, if workstation708has a resource list specifically associated with it, then a new or transferred employee assigned to location708can be given resources according to that specific resource list. Such an exemplary list is illustrated at the bottom of the figure, comprising any number of entries such as708a,708b, and708c.

A resource list may be associated with an entire company headquarters701, with whole buildings702-704, as well as with areas705-707in a building704and individual workstations708-711. In one embodiment, resource lists at a more specific location such as711may “inherit” any items on a resource list associated with a more general location such as area705, as well as building704and headquarters701. In this way, some uniformity in resources given to employees may be achieved on a location-oriented basis, while specific tailoring of resources is also an option.

Note that workstation location may also be included in employee identification data, for example as in entry708a. Including workstation location in employee identification data is considered a useful embodiment because it allows resource owners to deliver resources directly to the employee's location. Employee identification number is also a useful item to include as it may be used to configure a variety of the resources assigned to an employee.

FIG. 8illustrates an exemplary computing device that may be used in connection with various embodiments of the invention and which may comprise a variety of software and hardware subsystems that implement the methods illustrated inFIGS. 1-3. With reference toFIG. 8, an exemplary computing device800suitable for use in connection with the systems and methods of the invention is broadly described. In its most basic configuration, device800typically includes a processing unit802and memory803. Depending on the exact configuration and type of computing device, memory803may be volatile803A (such as RAM), non-volatile803B (such as ROM, flash memory, etc.) or some combination of the two. Additionally, device800may also have mass storage (removable804and/or non-removable805) such as magnetic or optical disks or tape. Similarly, device800may also have input devices807such as a keyboard and mouse, and/or output devices806such as a display that presents a GUI as a graphical aid accessing the functions of the computing device800. Other aspects of device800may include communication connections808to other devices, computers, networks, servers, etc. using either wired or wireless media. All these devices are well known in the art and need not be discussed at length here.

FIG. 9illustrates an exemplary network environment that may be used in connection with various embodiments of the invention and which may comprise a variety of software and hardware subsystems that implement the methods illustrated inFIGS. 1-3.FIG. 9provides a schematic diagram of an exemplary networked or distributed computing environment. The environment comprises computing devices971,972,976, and977as well as objects973,974, and975, and database978. Each of these entities971,972,973,974,975,976,977and978may comprise or make use of programs, methods, data stores, programmable logic, etc. The entities971,972,973,974,975,976,977and978may span portions of the same or different devices such as PDAs, audio/video devices, MP3 players, personal computers, etc. Each entity971,972,973,974,975,976,977and978can communicate with another entity971,972,973,974,975,976,977and978by way of the communications network970. In this regard, any entity may be responsible for the maintenance and updating of a database978or other storage element.

This network970may itself comprise other computing entities that provide services to the system ofFIG. 9, and may itself represent multiple interconnected networks. In accordance with an aspect of the invention, each entity971,972,973,974,975,976,977and978may contain discrete functional program modules that might make use of an API, or other object, software, firmware and/or hardware, to request services of one or more of the other entities971,972,973,974,975,976,977and978.

It can also be appreciated that an object, such as975, may be hosted on another computing device976. Thus, although the physical environment depicted may show the connected devices as computers, such illustration is merely exemplary and the physical environment may alternatively be depicted or described comprising various digital devices such as PDAs, televisions, MP3 players, etc., software objects such as interfaces, COM objects and the like.

There are a variety of systems, components, and network configurations that support distributed computing environments. For example, computing systems may be connected together by wired or wireless systems, by local networks or widely distributed networks. Currently, many networks are coupled to the Internet, which provides an infrastructure for widely distributed computing and encompasses many different networks. Any such infrastructures, whether coupled to the Internet or not, may be used in conjunction with the systems and methods provided.

A network infrastructure may enable a host of network topologies such as client/server, peer-to-peer, or hybrid architectures. The “client” is a member of a class or group that uses the services of another class or group to which it is not related. In computing, a client is a process, i.e., roughly a set of instructions or tasks, that requests a service provided by another program. The client process utilizes the requested service without having to “know” any working details about the other program or the service itself In a client/server architecture, particularly a networked system, a client is usually a computer that accesses shared network resources provided by another computer, e.g., a server. In the example ofFIG. 9, any entity971,972,973,974,975,976,977and978can be considered a client, a server, or both, depending on the circumstances.

A server is typically, though not necessarily, a remote computer system accessible over a remote or local network, such as the Internet. The client process may be active in a first computer system, and the server process may be active in a second computer system, communicating with one another over a communications medium, thus providing distributed functionality and allowing multiple clients to take advantage of the information-gathering capabilities of the server. Any software objects may be distributed across multiple computing devices or objects.

Client(s) and server(s) communicate with one another utilizing the functionality provided by protocol layer(s). For example, Hyper-Text Transfer Protocol (HTTP) is a common protocol that is used in conjunction with the World Wide Web (WWW), or “the Web.” Typically, a computer network address such as an Internet Protocol (IP) address or other reference such as a Universal Resource Locator (URL) can be used to identify the server or client computers to each other. The network address can be referred to as a URL address. Communication can be provided over a communications medium, e.g., client(s) and server(s) may be coupled to one another via TCP/IP connection(s) for high-capacity communication.

In light of the diverse computing environments that may be built according to the general framework of provided inFIG. 8andFIG. 9, the systems and methods provided herein cannot be construed as limited in any way to a particular computing architecture. Instead, the present invention should not be limited to any single embodiment, but rather should be construed in breadth and scope in accordance with the appended claims.