Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts throughout the several views and more particularly to
Referring more specifically to
The processor 102 in the application provider system 120 executes a program of stored instructions for one or more aspects of the exemplary embodiments as described herein. The memory 104 stores these programmed instructions for one or more aspects of the exemplary embodiments as described herein, although some or all of the programmed instructions could be stored and/or executed elsewhere. A variety of different types of memory storage devices, such as a random access memory (RAM), flash memory or a read only memory (ROM) in the system or a floppy disk, hard disk, CD ROM, DVD ROM, or other computer readable medium which is read from and/or written to by a magnetic, optical, or other reading and/or writing system that is coupled to the processor 102, can be used for the memory 104 in the application provider system 120. The interface system 110 in the application provider system 120 is used to operatively couple and communicate between the application provider system 120 and the one or more user computing systems 112(1), 112(2), . . . 112(n) via communications network 114, although other types and numbers of connections and other configurations and other types of communication networks can be employed. For example, in an exemplary embodiment, the communication network 114 can employ TCP/IP over Ethernet and industry-standard protocols, including SOAP, HTML, HTTPS, XML, LDAP, SNMP, WSDL, UDDI, and the like, although other types and numbers of communication networks, such as a direct connection, a local area network, a wide area network, modems and phone lines, e-mail, wireless communication technology, and the like, each having their own communications protocols, can be employed.
The application provider system 120 further includes a database 118, for example, for storing user data, application data, and the like, although other types and numbers of data storage devices can be employed, as will be appreciated by those skilled in the database art(s). For example, the database 118 can be a repository for all users' scheduled events and each user's relevant time zone for the event, and enables the coordination of meeting scheduling among multiple users.
Each of the user computing systems 112(1), 112(2), . . . 112(n) enable a user to utilize an application from the application provider system 120, although one or more of the user computing systems 112(1), 112(2), . . . 112(n) could utilize other applications and could provide a wide variety of other functions for the user. Each of the user computing systems 112(1), 112(2), . . . 112(n) includes a central processing unit (CPU) or processor 102, a memory 104, user input device 106, a display 108, and an interface system 110, and which are coupled together by a bus or other link 122, although one or more of the user computing systems 112(1), 112(2), . . . 112(n) can include other numbers and types of components and systems in other configurations. The processor 102 executes a program of stored instructions for one or more aspects of the exemplary embodiments as described and illustrated herein, for the creation of a temporary time zone within the calendar application, although the processor 102 could execute other types of programmed instructions.
The memory 104 stores these programmed instructions for one or more aspects of the exemplary embodiments as described herein, including an exemplary method for creating a temporary time zone, although some or all of the programmed instructions could be stored and/or executed elsewhere. A variety of different types of memory storage devices, such as a random access memory (RAM), flash memory or a read only memory (ROM) in the system or a floppy disk, hard disk, CD ROM, DVD ROM or other computer readable medium which is read from and/or written to by a magnetic, optical, or other reading and/or writing system that is coupled to one or more processors, can be used for the memory 104.
The user input device 106 is used to input selections, such as user appointment start times, appointment end times, time zone, appointment titles, other data, and the like, and to interact with the calendar application and scheduling features, although the user input device 106 could be used to input other types of data and interact with other elements. The user input device 106 can include a computer keyboard, a computer mouse, and the like, although other types and numbers of user input devices 106 can be employed.
The display 108 is used to show data and information to the user, such as the calendar application being utilized to create temporary time zones within the calendar application. The display 108 can include a computer display screen, such as a CRT or LCD screen, and the like, although other types and numbers of displays could be employed.
The interface system 110 is used to operatively couple and communicate between the user computing systems 112(1), 112(2), . . . 112(n) and application provider system 120 via the communications network 114, although other types and numbers of connections and other configurations and other types of communication systems can be employed.
Although exemplary embodiments of the application provider system 120, and the user computing systems 112(1), 112(2), . . . 112(n), are described and illustrated herein, each of the application provider system 120, the user computing systems 112(1), 112(2), . . . 112(n) of the exemplary embodiments can be implemented on any suitable computer system or computing device, and the like. It is to be understood that the devices and systems of the exemplary embodiments are for exemplary purposes, as many variations of the specific hardware and software used to implement the exemplary embodiments are possible, as will be appreciated by those skilled in the relevant art(s).
Furthermore, each of the systems of the exemplary embodiments may be conveniently implemented using one or more general purpose computer systems, microprocessors, digital signal processors, micro-controllers, and the like, programmed according to the teachings of the exemplary embodiments, as described and illustrated herein, and as will be appreciated by those skilled in the computer and software arts.
In addition, two or more computing systems or devices can be substituted for any one of the systems in any embodiment of the exemplary embodiments. Accordingly, principles and advantages of distributed processing, such as redundancy, replication, and the like, also can be implemented, as desired, to increase the robustness and performance of the devices and systems of the exemplary embodiments. The exemplary embodiments may also be implemented on computer system or systems that extend across any suitable network using any suitable interface mechanisms and communications technologies, including, for example telecommunications in any suitable form (e.g., voice, modem, and the like), wireless communications media, wireless communications networks, cellular communications networks, G3 communications networks, Public Switched Telephone Network (PSTNs), Packet Data Networks (PDNs), the Internet, intranets, a combination thereof, and the like.
The exemplary embodiments may also be embodied as a computer readable medium having instructions stored thereon for creating a temporary time zone in the calendar application as described herein, which when executed by a processor, cause the processor to carry out the steps necessary to implement the methods of the exemplary embodiments, as described and illustrated herein.
The operation of the exemplary system 100 in accordance with the exemplary embodiments will now be described with reference to
In step 204, the user of the user computing systems 112(1), 112(2), . . . 112(n) selects via the application provider system 120 a time block, date block and the like, when the user is or will be geographically in a new time zone.
In step 206, the application provider system 120 automatically prompts the user of the user computing systems 112(1), 112(2), . . . 112(n) when the application server 116 detects events scheduled in the new time zone. If the user of computing systems 112(1), 112(2), . . . 112(n) does know which time zone is the correct entry, as determined in step 208, the process proceeds to step 212. If, however, the user of computing systems 112(1), 112(2), . . . 112(n) does not know which time zone is the correct entry, as determined in step 208, the user is taken to step 210. In step 210, the application provider system 120 queries the database 118 and performs a lookup, for example, based on geographic data, and the like, to determine the appropriate time zone for entry and the process then proceeds to step 212.
In step 212, a temporary time zone is set in the application provider system 120. If the user of the user computing system 112(1), 112(2), . . . 112(n) chooses not to delete the temporary time zone created, as determined in step 214, then the exemplary temporary time zone creation process 200 is completed. If, however, the user of the user computing system 112(1), 112(2), . . . 112(n) chooses to delete the temporary time zone created, as determined in step 214, then the user is taken to step 216. In step 216, the application provider system 120 deletes the temporary time zone from the calendar and shift events that were scheduled during the temporary time zone in the user computing system 112(1), 112(2), . . . 112(n) back to the default time zone, completing the exemplary temporary time zone creation process 200.
The operation of the exemplary system 100 in accordance with other exemplary embodiments will now be described with reference to
In step 304, the application provider system 120 displays the calendar application with a graphical representation of the temporary time zone on the user or third party display 108.
In step 306, the user of the user computing system 112(1), 112(2), . . . 112(n) or the third party can attempt to schedule an activity, such as an event, a meeting, and the like, with another user or with themselves during a temporary time zone timeframe in the calendar application of application provider system 120.
In step 308, the application provider system 120 scans for user availability based on both of the user or third party and the other user's active time zone during the scheduled activity time. Active time zones can be either a home time zone or the temporary time zone depending on the respective schedules of the user or third party or the other user at the time of the event.
In step 310, the application provider system 120 returns the results of step 308 on the user display 108 of the user computing system 112(1), 112(2), . . . 112(n) or the third party, for example, in the form a visual representation, and the like, of the users' schedule and third party's schedule overlaid onto a single calendar view to show availability based upon their respective active time zones and prior schedule commitments.
In step 312, the user of the user system 112(1), 112(2), . . . 112(n) or the third party can accept the calendar event for scheduling of the event in the calendar of all attendees, completing the exemplary temporary time zone interaction process 300.
As described herein, the present invention is versatile and can be added to a wide range of applications, including, but not limited to calendars, contacts, task management, instant messaging, time and attendance systems, Voice over Internet Protocol (VoIP), email, web conferencing, sales force automation, and CRM.
The present invention also solves the above-noted and other problems with conventional time zone management systems and methods. The present invention can be used for establishing a block of time with a start time and an end time as a temporary time zone (TTZ). Each user has their default time zone, and then can set a time zone for a given period of time on a temporary basis. Advantageously, the temporary time zone lets third parties schedule meetings with the user and have it appear correctly in both calendars simultaneously. The temporary time zone also enables users to see their calendar in a local time zone at all suitable times.
In addition, the present invention allows users to keep a single calendar with blocks of time that are given the temporary time zone, as may be established from time to time. The present invention also intelligently predicts a user's location at a given date/time, for example, based upon travel plans found in calendar, hotel addresses included in travel plans, addresses associated with meetings, and the like. The granularity of location prediction, for example, can be a function of granularity of data available in relevant applications, and users also can manually enter corrected current location data. Addresses and locations can be automatically associated with a calendar event, for example, as a function of the address data associated with invited attendees.
Advantageously, the present invention overcomes the limitations of existing cookie or server-side data storage-based mapping systems, which only remember the last few addresses a user entered. For example, the present invention intelligently decides what address a user is currently at or will be at, for example, based upon the date/time, context, and the like. The present invention thus can include various applications, including, for example, mapping from a current location to a next meeting location, yellow page searching results localized to predicted current location, weather forecasting localized to predicted current location, mapping of closest on-demand printing location based upon predicted current location, scheduling of package pick-up from an express package delivery company based upon predicted current location, and the like.
Accordingly, the present invention can include the temporary time zone feature, for example, which enables a user to select a block of time when they will be in another time zone, and their calendar will store the start time and end time they are in that time zone. Advantageously, the present invention then automatically can handle scheduling between a user who is traveling to a different time zone, and a user in the home time zone, and prevents the problem of scheduling between users where their home time zone is the same, forcing the scheduled time to be incorrect for one of the two users.
Having thus described the basic concept of the invention, it will be rather apparent to those skilled in the art that the foregoing detailed disclosure is intended to be presented by way of example only, and is not limiting. Various alterations, improvements, and modifications will occur and are intended to those skilled in the art, though not expressly stated herein. These alterations, improvements, and modifications are intended to be suggested hereby, and are within the spirit and scope of the invention. Additionally, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations therefore, is not intended to limit the claimed processes to any order except as may be specified in the claims. Accordingly, the invention is limited only by the following claims and equivalents thereto.