# Patent

## Title
Systems and methods for enhancing connectivity between a mobile workforce and a remote scheduling application

## Abstract

Systems and methods for enhancing connectivity are discussed. An illustrative aspect of the invention includes a method for enhancing connectivity. The method includes scheduling an order to be performed by a worker into a schedule, accessing the schedule by a mobile device via a server on the Internet, and substituting the schedule by a proxy to allow an application on the mobile device to interact with the proxy when the mobile device is temporarily disconnected from the schedule.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This application incorporates by reference and claims the benefit of U.S. Provisional Application No. 60/193,834, filed Mar. 31, 2000; U.S. Provisional Application No. 60/193,917, filed Mar. 31, 2000; U.S. Provisional Application No. 60/193,832, filed Mar. 31, 2000; U.S. Provisional Application No. 60/193,705, filed Mar. 31, 2000; and U.S. Provisional Application No. 60/193,833, filed Mar. 31, 2000.


TECHNICAL FIELD
The technical field relates generally to scheduling. More particularly, it pertains to updating a schedule when a mobile device of a worker has network coverage after being temporarily outside of the network coverage.
COPYRIGHT NOTICE—PERMISSION
A portion of the disclosure of this patent document contains materials which are subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings attached hereto: Copyright© 2001, MDSI Mobile Data Solutions Inc., All Rights Reserved.
BACKGROUND OF THE INVENTION
Suppose that to schedule a desired service to be performed, a customer calls a service organization to place an order for the desired service. The service organization schedules the work order. Then, a worker within the service organization performs the desired service.
The worker has a variety of equipment to help him perform his job. One type of equipment includes a device that allows him to continuously connect to the service organization so as to receive and to send information associated with assigned orders in his shift. To service the assigned orders, the worker typically travels to various destinations throughout a geographic area. Because of incomplete network coverage, as the worker travels to certain locations in the geographic area, he may become disconnected from the service organization. Such a disconnection frustrates the ability of the worker to provide information that may be pertinent to the service organization.
Thus, what is needed are systems and methods for enhancing the connectivity of a worker with a service organization in a mobile environment.
SUMMARY OF THE INVENTION
An illustrative aspect of the invention includes a system for enhancing connectivity over the Internet. The system includes a schedule having shifts of workers in which orders are assigned to be performed, a mobile device accessing the schedule by an application through the Internet, and a proxy that acts for the schedule when the mobile device is temporarily disconnected from the Internet.
Another illustrative aspect of the invention includes a method for enhancing connectivity. The method includes scheduling an order to be performed by a worker into a schedule, accessing the schedule by a mobile device via a server on the Internet, and substituting the schedule by a proxy to allow an application on the mobile device to interact with the proxy when the mobile device is temporarily disconnected from the schedule.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a system showing the relationship between a scheduling system and a mobile device of a mobile service representative according to one aspect of the present invention.
FIG. 2 is a block diagram of a system showing the scheduling system in greater detail according to one aspect of the present invention.
FIG. 3 is a block diagram of a system showing the mobile device in greater detail according to one aspect o the present invention.



DETAILED DESCRIPTION OF THE INVENTION
In the following detailed description of exemplary embodiments of the invention, reference is made to the accompanying drawings, which form a part hereof, and in which are shown, by way of illustration, specific exemplary embodiments in which the invention may be practiced. In the drawings, like numerals describe substantially similar components throughout the several views. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. Other embodiments may be utilized and structural, logical, electrical, and other changes may be made without departing from the spirit or scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
FIG. 1 is a block diagram of a system 100 showing the relationship between a scheduling system and a mobile device of a mobile service representative according to one aspect of the present invention. The system 100 includes a scheduling system 102. The scheduling system 102 manages the schedule of a workforce of a service organization. The service organization uses the scheduling system 102 to take reservations for orders from customers who wish to have services performed.
Typically, a customer calls the service organization to make a reservation. The service organization uses the scheduling system 102 to offer the customer a variety of appointment windows that fit the timing preferences of the customer. The appointment windows that are offered also fit the availability of the workforce of the service organization to perform the service. Once the customer selects an appointment window, the scheduling system 102 reserves the order to be performed within the time period specified by the appointment window.
The scheduling system 102 assigns the order to a worker of the workforce. The relationship between a worker of the workforce to the schedule is through one or more shifts. A shift is a time period that defines the beginning of a work period to the end of the work period. To assign the order to a worker, the scheduling system 102 assigns the order into the reservations that are in the shift of a worker. The worker, who commences his workday, looks at the information in his shift. His shift specifies the reservations in the order he is to perform them.
One way of sending and receiving the information regarding his shift is through a mobile device 106. One type of information that the worker receives from the scheduling system 102 includes an order summary. The order summary includes a brief description of the job he is to undertake to perform the service for a customer. A type of information that the worker sends to the scheduling system includes a timesheet. The timesheet includes the recording of the time of arrival and departure of the worker.
The mobile device 106 can be any suitable device that allows a worker to receive information from the scheduling system 102 and to send information to the scheduling system 102. One suitable example includes a laptop computer. Another suitable example includes a personal digital assistant.
The mobile device 106 is coupled to the scheduling system 102 through a network 104. The network 104 includes any wired or wireless networks that allow the mobile device 106 of the worker to be connected to the scheduling system 102.
FIG. 2 is a block diagram of a system 200 showing the scheduling system 102 in greater detail according to one aspect of the present invention. The scheduling system 102 includes a schedule database 204. The schedule database 204 is a file composed of records, each containing shifts of workers, break times of workers, and other fields together with a set of operations for searching, sorting, recombining, and other functions.
The scheduling system 102 includes a remote Web server 206. The remote Web server 206 includes pieces of software that use Hypertext Transfer Protocol (HTTP) to serve up Hypertext Markup Language (HTML) documents and any associated files and scripts when requested by a client, such as a Web browser. The remote Web server 206 converts selective information from the schedule database 204 into HTML documents to present such information to the Web browser.
The scheduling system 102 includes a connection kernel 202. The connection kernel 202 helps to enhance the connection of the mobile device 106 to the scheduling system 102. The network 104 defines an area of coverage. Due to interference from urban structures and electromagnetic sources, such as buildings and radio frequency sources, the area of coverage may have holes depending on the location of the mobile device 106. A mobile device 106 that is within the area of coverage of the network 104 may send information to the scheduling system 102 and receive information from the scheduling system 102. If the mobile device 106 is not in the area of coverage of the network 104, the mobile device 106 may be unable to either send information to the scheduling system 102 or receive information from the scheduling system 102.
The embodiments of the present invention allow a worker to continue to use the mobile device 106 as if the mobile device 106 were connected to the scheduling system 102 when the mobile device 106 is not present in the area of coverage of the network 104. When the mobile device 106 is again within the area of coverage of the network 104, the embodiments of the present invention synchronize information between the scheduling system 102 and the mobile device 106 to provide an apparently seamless connectivity between the mobile device 106 and the scheduling system 102.
One example includes a worker in his automobile traveling from one job to the next while using his mobile device 106 to access the scheduling system 102. As he travels, various interference sources inhibit his ability to access the scheduling system 102. The embodiments of the present invention allow the worker to continue to use his mobile device 106 as if he were still connected to the scheduling system 102.
FIG. 3 is a block diagram of a system 300 showing the mobile device 106 in greater detail according to one aspect of the present invention. The network 104 is shown as the Internet in FIG. 3 in one embodiment. Thus, the scheduling system 102 is coupled to the mobile device 106 using a TCP/IP protocol.
As discussed hereinbefore, the remote Web server 206 of the scheduling system 106 serves HTML documents to the mobile device 106. The mobile device 106 includes a browser 308. The browser 308 is a piece of software that lets a worker view HTML documents, such as order summaries, and access files and software related to those documents. The browser 308 allows downloading and transferring files, such as timesheets, and executing small programs, such as Java applets or ActiveX controls included by the scheduling system 102 in the documents.
The mobile device 106 includes an application 310. The application 310 interacts with the browser 308 to access the scheduling system 102. The application 310 includes pieces of software that are designed for the mobile worker. For example, the application 310 may include a piece of software that allows the worker to enter times into timesheets.
The mobile device 106 includes a cache database 304. The cache database 304 caches information received from the remote Web server 206 as well as information to be sent from the application 310 to the scheduling system 102. Suppose that the worker travels to a location that is not covered by the network 104, the cache database 304 in combination with a proxy for the scheduling system 102 allows the worker to continue to work with the mobile device 106 as if the mobile device 106 were still connected to the scheduling system 102. In one embodiment, the cache database is a Java Database Connectivity (JDBC)-compliant database.
In one embodiment, the proxy includes a local Web server 306. The local Web server 306 enables the worker to continue his interactions as if he were still connected to the scheduling system 102. The worker may continue to enter and to modify data on Web pages presented to the browser 308. The worker may also submit changes made to data in fields on the Web pages.
Information generated by the worker through the application 310 is kept in the cache database. The cache database includes a predetermined set of HTML documents that the worker is likely to access so as to give an apparent connection to the scheduling system 102 when the mobile device is temporarily disconnected from the scheduling system 102. When the mobile device 106 comes again within the coverage area of the network 104, the connection of the mobile device 106 to the scheduling system is established as if the worker has been connected to the scheduling system 102 without any disruption in the coverage of the network 104.
The mobile device 106 also includes an update component 302. The update component 302 communicates with the connection kernel 202 to synchronize the states of data between the scheduling system 102 and the mobile device 106. In one embodiment, the update component 302 bypasses the remote Web server 206 to communicate with the connection kernel 202. Such technique of bypassing enhances the connectivity of the mobile device 106 to the scheduling system 102 because the area of coverage of the network 104 is not complete.
In one embodiment, the update component 302 is implemented using a Java Servlet. The Java Servlet stores the results of the interactions of the worker while the mobile device 106 is disconnected from the scheduling system 102 in the cache database 304. When the mobile device 106 is again connected to the scheduling system 102 via the network 104, the Java Servlet communicates with the connection kernel 202 by bypassing the remote Web server 206 to update the schedule database 204. In another embodiment, the Java Servlet communicates with the connection kernel 202 via the remote Web server 206 to update the schedule database 204.
In one embodiment, the application 310 is a Web application. The Web application interacts with the local Web server 306 when the mobile device 106 is not within the area of coverage of the network 104. The local Web server 306 includes a piece of software that acts as a Java Virtual Machine. When the mobile device 106 is connected to the scheduling system 102, the remote Web server 206 pushes a Java Servlet, such as the update component 302, to run on the local Web server 306. When the remote Web server 206 sends Web pages, these Web pages are cached by the cache database 304. The Web application sets its URL to the local Web server 306. The local Web server 306 interfaces and communicates with the remote Web server 206 for new Web pages and to synchronize data.
CONCLUSION
What has been discussed hereinbefore is a technique for enhancing the connectivity of a worker, who may be traveling from one job site to another, to a scheduling system. The worker may have a mobile device that is coupled to the scheduling system through a network. But the network may have an incomplete coverage area. The situation is made worse when the mobile device runs Web-based applications that require constant connection to the Internet to access the Web server running on the Web server. The embodiments of the invention enhance the connectivity of the worker to the scheduling system without requiring the mobile device of the worker to have a constant connection to the Internet.
Although the specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention. It is to be understood that the above description is intended to be illustrative, and not restrictive. Combinations of the above embodiments and other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention includes any other applications in which the above structures and fabrication methods are used. Accordingly, the scope of the invention should only be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.

## Claims

1. A system for enhancing connectivity over the Internet, comprising:
a schedule having shifts of workers in which orders are assigned to be performed;
a mobile device accessing the schedule by an application through the Internet;
a proxy included in the mobile device that acts for the schedule when the mobile device is temporarily disconnected to the Internet; and
a bypass mechanism to allow the proxy to update the schedule without going through a web server when the mobile device is again connected from the Internet.

2. The system of claim 1, wherein the proxy includes a server that services the application as if the application were connected to the schedule when the mobile device is temporarily disconnected from the schedule.

3. The system of claim 1, wherein when the mobile device is again connected to the Internet, the proxy includes a Servlet that communicates with the schedule to update the schedule with information generated by the application while the mobile device is temporarily disconnected from the Internet.

4. The system of claim 1, wherein the proxy includes a database that stores information generated by the application while the mobile device is temporarily disconnected from the schedule.

5. A method for enhancing connectivity, comprising:
scheduling an order to be performed by a worker into a schedule;
accessing the schedule by a mobile device via a server on the Internet;
substituting the schedule by a proxy included in the mobile device to allow an application on the mobile device to interact with the proxy when the mobile device is temporarily disconnected from the schedule; and
bypassing the server to update the schedule via the Internet with information generated by the application when the mobile device was previously temporarily disconnected from the Internet but is now connected to the Internet.

6. The method of claim 5, wherein substituting includes serving by a server residing on the mobile device to service the application as if the application were interacting with the schedule when the mobile device is temporarily disconnected from the schedule.

7. The method of claim 5, wherein when the mobile device is again connected to the schedule, the method of claim 5 further comprising updating the schedule with information generated by the application while the mobile device is temporarily disconnected from the schedule.

8. The method of claim 5, further comprising caching information that is generated by the application when the mobile device is temporarily disconnected from the Internet.

9. A computer readable medium having instructions stored thereon for causing a computer to perform a method for enhancing connectivity, comprising:
scheduling an order to be performed by a worker into a schedule;
accessing the schedule by a mobile device via a server on the Internet;
substituting the schedule by a proxy included in the mobile device to allow an application on the mobile device to interact with the proxy when the mobile device is temporarily disconnected from the schedule; and
bypassing the server to update the schedule via the Internet with information generated by the application when the mobile device was previously temporarily disconnected from the Internet but is now connected to the Internet.