WO2015108983A1 - Associating externally retrieved data with calendared events - Google Patents

Associating externally retrieved data with calendared events Download PDF

Info

Publication number
WO2015108983A1
WO2015108983A1 PCT/US2015/011409 US2015011409W WO2015108983A1 WO 2015108983 A1 WO2015108983 A1 WO 2015108983A1 US 2015011409 W US2015011409 W US 2015011409W WO 2015108983 A1 WO2015108983 A1 WO 2015108983A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
data elements
scheduled
events
data
Prior art date
Application number
PCT/US2015/011409
Other languages
French (fr)
Inventor
William Olsen
Morgan MAGLEBY
Original Assignee
Business Owners Advantage, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Business Owners Advantage, Inc. filed Critical Business Owners Advantage, Inc.
Publication of WO2015108983A1 publication Critical patent/WO2015108983A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations

Definitions

  • the present invention relates generally to computer-aided association of data with scheduled events.
  • a contractor may be required to track a variety of different daily expenses as they relate to various appointments scheduled throughout the day. Additionally, each appointment may relate to a different client or project, and each client or project may require unique tracking procedures.
  • a commercial truck driver may be required to associate mileage with specific deliveries that are made, along with the fuel costs associated with each delivery. As such, the driver must not only identify the distance travelled between each delivery, but also identify the amount of fuel that each respective distance consumed.
  • Implementations of the present invention comprise systems, methods, and computer program products configured to provide users with the ability to intuitively associate data entries with scheduled events.
  • implementations of the present invention can provide novel user-interfaces that automatically gather data from a variety of sources and present the data to the user in a way that allows the user to intuitively associate the data with specific events within a calendar.
  • at least one implementation of the present invention can automatically analyze the data, and based upon the analysis, generate reports.
  • At least one implementation of the present invention can include displaying one or more scheduled events within an electronic calendaring application.
  • Implementations additionally can include displaying one or more data elements.
  • the one or more data elements can be generated in relation to the one or more scheduled events.
  • implementations can include receiving input from the user associating at least one of the one or more data elements with at least one of the one or more scheduled events.
  • Various implementations can include displaying the scheduled events and data elements on a touch screen interface.
  • the data elements can be associated with the scheduled events by selecting the data elements and then dragging and dropping them onto particular scheduled events. Further, in at least one implementation, once a data element is associated with the scheduled event, a user can be prompted to further define the association.
  • Figure 1 illustrates a schematic diagram of an implementation of a system for associating data elements with scheduled events
  • Figure 2 illustrates an implementation of a user interface for associating data elements with scheduled events
  • Figure 3 illustrates a flow chart for an implementation of a method for associating data elements with scheduled events
  • Figure 4 illustrates a flow chart for another implementation of a method for associating data elements with scheduled events.
  • Figure 5 illustrates a flow chart for yet another implementation of a method for associating data elements with scheduled events.
  • the present invention extends to systems, methods, and computer program products configured to provide users with the ability to intuitively associate data entries with scheduled events.
  • implementations of the present invention can provide novel user-interfaces that automatically gather data from a variety of sources and present the data to the user in a way that allows the user to intuitively associate the data with specific events within a calendar.
  • at least one implementation of the present invention can automatically analyze the data, and based upon the analysis, generate reports.
  • At least one implementation of the present invention aids a user in tracking a variety of different data elements that are associated with scheduled events. For example, a user can easily associate mileage from a GPS unit with a particular appointment. Similarly, a user can easily associate a bank transaction with a business lunch.
  • a computer-based user interface displays to a user both the scheduled events and the data elements in a form that allows a user to easily and quickly associate the data elements with the correct scheduled event. Additionally, the computer-based user interface can be accessible through a mobile computing device (e.g., a mobile phone), a local computer system, a webpage, or through any other known computing system.
  • Figure 1 illustrates a schematic diagram of an implementation of a system for associating data elements with scheduled events.
  • Figure 1 depicts a computer 110, one or more input devices 112, and a software application 100.
  • the software application 100 can receive data 162, 164, 166, 168 from a GPS unit 152, a car unit 154, a calendar application 156, a remote server 158, and/or a storage unit 170.
  • the software application 100 can retrieve data from other similar computer systems and electronic devices.
  • the software application 100 further includes a user interface ("UI") module 120, an association module 130, a report module 140, and a data-gathering module 150.
  • UI user interface
  • the UI module 120 displays an interface to a user and receives responsive input from a user input device 112.
  • the displayed interface can include a calendar and associated data elements (shown in Figure 2).
  • the association module 130 and the data-gathering module 150 can together provide the UI module 120 with the appropriate data elements.
  • the UI module 120 can also provide a user with an option to generate a report based upon previous user input.
  • the report module 140 can receive information from the association module 130, the UI module 120, and the storage unit 170. The report module 140 can then analyze the information and provide a report to the user or to a third party. In at least one implementation, a user can customize the report to provide specific information that is of interest to the user.
  • Figure 2 illustrates an implementation of the user interface 260 described above.
  • the depicted user interface 260 can be used for associating data elements 200 with scheduled events 210.
  • the user interface 260 can include a calendar portion 210 that depicts one or more scheduled events 240.
  • the calendar portion 210 can be displayed in a variety of different ways (e.g., weekly, monthly, daily, etc.).
  • the data-gathering module 150 populates the scheduled events 240 within the calendar portion 260 by retrieving the scheduled events 240 from an external calendar application 156.
  • an external calendar application 156 For example, a user may maintain a digital calendar on a computer and/or portable processing device.
  • the data-gathering module 150 can access the digital calendar and import the calendared events 240 from the calendar application 156.
  • a user can manually enter at least a portion of the calendared events into the software application 100.
  • the user can provide the date, time, and a description of each scheduled event, and the UI module 120 can display the received information within the calendar portion 210 of the user interface 260.
  • the UI module 120 can display to a user a calendar portion 260 that depicts one or more calendared events.
  • the UI module can also depict a data element portion 200 of the user interface 260.
  • the data element portion 200 can include data elements 220 that the association module 130 has associated with the calendar events 240.
  • the association module 130 can receive various data elements from the data-gathering module 150. The association module 130 can then determine what data elements should be associated with the calendared events 240 that are being depicted on the user interface 260.
  • the data gathering module 150 can gather data from a variety of different sources, including but not limited to, banking websites, credit card websites, GPS units, car odometers, or through manual entry from a user.
  • the software application 100 runs on a mobile phone and can access a GPS unit that is integrated within the mobile phone. Additionally, or as an alternative, the software application 100 may also access GPS units that are stand-alone units or integrated within a vehicle. Further, in at least one implementation, the software application 100 can access the odometer or the OBD system of the automobile and receive the mileage information directly from the vehicle.
  • the data gathering module 150 can automatically identify starting and stopping locations based upon the GPS data, or a user can manually indicate to the software application 100 either when to begin and to end tracking distance travelled or the user can simply input the aggregated total distance travelled after the fact.
  • the data gathering module 150 can analyze the data that is gathered data from the various different sources. In particular, the data- gathering module 150 can gather predictive information associating various data elements 220 with scheduled events 240. For example, in at least one implementation, the data-gathering module 150 can gather data relating to a user's movements and locations. For instance, the data-gathering module 150 can identify that a user has stopped moving for a threshold amount of time. A threshold amount of time may comprise 30 minutes, 45 minutes, 1 hour, 2 hours, 3 hours, 4 hours, or some other time segment.
  • the data-gathering module 150 can generate and store a data element associated with the detected stop. For example, the data-gathering module 150 may store the location of the user at the time of the stop, the continuous miles the car had driven prior to the stop, a time associated with the stop, and other similar data points. Additionally, in at least one implementation, the data-gathering module 150 may store various points-of-interest within a threshold distance from the location of the detected stop. For example, the data-gathering module 150 may access the Internet or a mapping service and search for all points-of-interest within a threshold distance from the user's stopping location.
  • a threshold distance may comprise 30 feet, 50 feet, 1 ⁇ 4 mile, 1 mile, or some other distance.
  • Points-of-interest may comprise restaurants, stores, hotels, bars, airports, car rental locations, business centers, entertainment locations, and other similar locations that are available within modern mapping services.
  • the association module 130 can suggest that particular calendared events 240 are related to particular data elements 220. For example, when preparing a report, the report module 140 can display to a user, for verification, various proposed associations.
  • the data gathering module 150 may have identified a stop that occurred on Wednesday the 9 th at 12:00 PM. Additionally, the data gathering module 150 may have identified that the points-of-interest within a threshold distance of the identified stop comprise: "Sandwich Shop,” “Convenience Store,” and "Gas Station.” Further, the data-gathering module 150 may receive from a third-party financial institution that a purchase of $14.14 was made at the "Sandwich Shop.” In various implementations, the time stamp on the Sandwich purchase may correspond directly to Wednesday the 9 th at 12:00 PM. In alternate implementations, however, the time stamp may differ by one or more days - based upon the amount of time it took for the transaction to clear.
  • the association module 130 can identify that the purchase occurred within a threshold number of days from the identified stop, and that the purchase place ("Sandwich Shop"), corresponds with a detected point-of-interest within a threshold distance of the identified stop. Once the association module 130 identifies this potential relationship, the UI module can display a visual indication that the particular data element 240 and calendared event 240 are related.
  • the visual indication may comprise a common highlight color, a common symbol, or some other easily distinguishable visual effect.
  • the association module 130 can also associate a wide variety of different types of data elements 220 with calendared events 240.
  • the association module 130 may be able to associate mileage with particular scheduled events by detecting a stop that exceeds a threshold, detecting the location of the stop, determining the distance traveled from the previous stop, and then suggesting an association between this data with a calendared event that comprise a corresponding location.
  • the data-gathering module 150 can receive input information from a user.
  • the data-gathering module 150 can receive a home address, office address, second office address, client address, company warehouse, and/or other related user-specific location information.
  • the association module 130 can further associate various data with scheduled events. For instance, the association module may determine, based upon the user-provided information, that a particular trip started at the user's office and ended at a client address. This association may be used to further suggest relationship between the user's calendar and the various gathered data.
  • a user may be requested to verify a suggested association or an automatic association. For example, a user may be asked to verify whether a trip consisted of driving from a home office to a warehouse. Similarly, a user may be requested to verify whether a trip consisted of work related travel. Additionally, in at least one implementation, a report may display to a user various potential numerical outcomes that are influenced by the user classification of a particular event or data item.
  • the calendar portion 210 depicted in Figure 2 is an example of a user's daily calendar.
  • the calendar portion 210 includes appointments for client meetings, committee meetings, lunch meetings, soccer games, and other similarly common appointments.
  • Each of the scheduled events includes a title portion 242, which displays a general description of the scheduled event 240, and a location portion 244, which includes an address or location name that is associated with the scheduled event 240.
  • the scheduled events can include less or more information than depicted in Figure 2.
  • one or more scheduled events 240 may lack location information.
  • the data-gathering module 150 can automatically attempt to find unavailable data for the scheduled events 240.
  • a scheduled event 240 may comprise the name of the location, but not the actual address to the location. Using the name of the location, the data-gathering module 150 may be able to automatically search the internet for an address that is associated with the name.
  • the data element portion 200 depicted in Figure 2 includes various data elements relating to expenses and travel.
  • each displayed data element 220 includes a quantitative description 224, which includes mileage or cost, and a general description 222, which include a merchant's name or a description of a trip.
  • the data elements 220 may include more or less information.
  • the data elements 220 can include information specifying where the data gathering module 150 accessed the information (e.g., what bank).
  • the user can associate the various data elements 220 with one or more scheduled events 240. For example, the user may determine that data element 250, which represents a $14.13 transaction at the "Sandwich Shop," should be associated with scheduled event 252, which is called "Lunch Meeting B.” This associated is depicted with an arrow, which is provided for explanatory purposes and may not comprise a portion of the implemented invention.
  • the user can associate data element 250 with scheduled event 252 by dragging and dropping data element 250 onto scheduled event 252.
  • the user can associate the data element 250 with scheduled event 252 by first selecting data element 250 and then selecting scheduled event 252.
  • a user can select the scheduled event 252 first and then select the data element 250.
  • implementations of the present invention provide a novel and beneficial system for visually associating data elements 220 with calendared events 240.
  • the visualization of data elements 220 in conjunction with associated calendared events 240 may provide significant benefits to an individual attempting to associate business expenses 220 with the appropriate calendared event 240.
  • visualizing both the data 220 and the scheduled events 240 may aid a user in recalling the associations between the data and the events.
  • the ease of use associated with implementations of the present invention may encourage a user to frequently associate the data with the events, rather than waiting until a report is due and having to recall items from far in the past.
  • each data element 220 or scheduled event 240 may provide some indication of the category or type of data element 220 or scheduled event 240.
  • data elements 220 that comprise financial transactions are depicted with rounded corners (e.g., 250), while data elements 220 that comprise mileage are depicted with sharp corners (e.g., 254).
  • some other system such as colors, may be used to distinguish between categories.
  • similar categories can be used to distinguish the scheduled events. For example, a user may wish to visually distinguish "personal" scheduled events from "work" scheduled events.
  • a user can also associate a single data element 220 with multiple scheduled events 240.
  • a user may wish to associate data element 254 with multiple scheduled events.
  • data element 254 represents a mileage that was driven on Monday the 7 th .
  • the user may wish to indicate that the mileage represents miles that were driven to both the scheduled events 256(a) and 256(b), titled "Client #1" and "Lunch Meeting A,” respectively.
  • the user can do this by dragging data element 254 onto both scheduled event 256(a) and scheduled event 256(b), consecutively.
  • the user can first select data element 254 and then select scheduled events 256(a) and 256(b). In each case, the selected data element 254 and scheduled events 256(a), 256(b) can change color or provide some other visual indication that they are currently selected.
  • a user can be prompted to further specify which portion of the data element 254 should be associated with which scheduled event 256(a) and 256(b). For example, a user may want to specify that of the 48 miles, 15 miles should be associated with scheduled event 256(a) and the remaining 35 miles should be associated with scheduled event 256(b).
  • the association module 130 can automatically predict that certain data elements 220 are associated with certain scheduled events. For example, the association module 130 can identity through the internet or some other database that the "Sandwich Shop" from data element 250 is located at 1341 Main St. The association module 130 can then identify that the "Lunch Meeting B" from scheduled event 252 was located at 1341 Main St. Accordingly, the association module 130 can automatically predict that data element 250 is associated with scheduled event 252. In at least one implementation, upon identifying predicted associations, the software application 100 can ask a user to verify the validation, or the software application can automatically create the association without user input.
  • the association module 130 can also associate mileages with scheduled events. For example, the association module 130 can identify that on Monday the 7 th , the user drove 48 miles in the first part of the day. Based upon this information and the distances between "100 S 1248 E" and the "Taco Palace," the association module 130 can automatically predict that 15 miles should be associated with scheduled event 256(a) and the remaining 35 miles should be associated with scheduled event 256(b).
  • association module 130 may be particularly useful in light of the occasional unpredictability of time stamps on financial transactions from banks and credit card. For instance, a user may make a purchase with a credit card that does not clear the user's account for several days. Accordingly, it can be difficult to rely upon dates and times when associating financial transactions with scheduled events. However, the association module 130 relying upon GPS data, for example, may be able to determine what scheduled event a financial transaction should be associated with.
  • a report is being continuously updated and displayed to the user while the user is associating data elements 220 with scheduled events 240.
  • a user can customize the generated report to identify what specific information should be included within the report.
  • the report can be configured to conform with official or government reports that must be filed. For example, a user may wish to file a report detailing business expenses. Accordingly, in at least one implementation, the application software 100 generates a report that conforms with IRS specifications for detailing business expenses.
  • the reporting module 140 analyzes the report using multiple independent equations and updates the reported information dynamically based upon the outcomes of the equations. For example, the reporting module 140 may rely upon multiple independent equations that each independently provides a possible reporting outcome. The reporting module 140 may also be configured to only report the most favorable outcome from the multiple independent equations. Accordingly, in at least one implementation, the reporting module 140 can analyze associated data elements 220 and scheduled events 240 using multiple independent equations, and then report on only a specific outcome based upon report requirements.
  • the report results may comprise a single number indicating a financial benefit, a financial cost, or a similar metric.
  • the report results can comprise various graphs relating to the various data elements.
  • the report results can comprise various categorizations of calendared events and data elements. Accordingly, Figures 1 and 2, and the corresponding text, illustrate or otherwise describe one or more components, modules, and/or mechanisms for associating data elements with scheduled events on a calendar.
  • Figures 3-5 and the corresponding text illustrate flowcharts of a sequence of acts in a method for resolving boundaries within an architectural design. The acts of Figures 3-5 are described below with reference to the components and modules illustrated in Figures 1 and 2.
  • Figure 3 illustrates that a flow chart for an implementation of a method for associating data elements with scheduled events can comprise an act 300 of displaying a calendar interface.
  • Act 300 includes displaying through a user interface one or more scheduled events within an electronic calendaring application.
  • the software application 100 displays a calendar portion 210 that includes a plurality of different scheduled events 240.
  • the displayed calendar portion 210 can be configured to display a variety of different calendar views, including a daily calendar, weekly calendar, a monthly calendar, or some other customized calendar view.
  • Figure 3 also shows that the method can comprise an act 310 of displaying a collection of data elements.
  • Act 310 includes displaying one or more data elements at a system displaying the user interface.
  • the one or more data elements can comprise information relating to previously transacted events. Additionally, at least one of the previously transacted events may be associated with at least one of the one or more scheduled events.
  • the software application displays a data element portion 200 within the software interface 260. At least one of the displayed data elements 200 - for example, data element 250 - includes information relating to a financial transaction.
  • the financial transaction may be associated with scheduled event 252. As described above, this information can be retrieved by the data-gathering module 150 from a remote server 158, such as a credit card company's webpage.
  • Figure 3 shows that the method can include an act 320 of receiving an input associating elements with events.
  • Act 320 includes receiving input from the user associating the at least one of the one or more data elements with the at least one of the one or more scheduled events.
  • a user can associate a data element 220 with a scheduled event 240 by dragging and dropping a particular data element 250 onto a desired scheduled event 252. Additional methods for using a gesture to associate a data element 220 with a scheduled event 240 are also disclosed above.
  • the method described in Figure 3 can in alternate implementations comprise an act of analyzing the received data.
  • the method can comprise analyzing at a computer system the at least one of the one or more data elements and the at least one of the one or more scheduled events. Analyzing can comprise automatically determining a computer-stored category that describes the at least one of the one or more data elements and based upon the determination summing numerical information associated with the at least one of the one or more data elements with other numerical information associated with the computer- stored category.
  • the computer-based categories can include: work expense, personal expense, tax deductible, taxable, compensation account, etc.
  • the method can comprise determining that the data element falls within the tax deductible account and adding the transaction amount associated with the data element to a total running tax deductible amount associated with the entire tax deductible category.
  • the method can comprise an act of generating a report.
  • the generated report can comprise information relating to a single total (e.g., work expense), or information relating to a number of different items (e.g., work expense, private expense, tax deductible, etc.).
  • the information displayed can be automatically configured such that only the best-case information is displayed. For example, in at least one implementation, there may be multiple classifications of tax-deductible items.
  • the method can automatically choose to display the number associated with the most beneficial categorization.
  • Figure 4 illustrates that a flow chart for another implementation of a method for associating data elements with scheduled events can comprise an act 400 of displaying a calendar interface.
  • Act 400 includes displaying to a user a calendar interface that displays at least one scheduled event.
  • the software application 100 displays a calendar portion 210 that includes a plurality of different scheduled events 240.
  • the displayed calendar portion 210 can be configured to display a variety of different calendar views, including a daily calendar, weekly calendar, a monthly calendar, or some other customized calendar view.
  • Figure 4 also shows that the method can comprise an act 410 of displaying a collection of data elements.
  • Act 410 includes displaying to the user, within the calendar interface, a collection of one or more automatically gathered data elements.
  • the one or more data elements can comprise information relating to previously transacted events. Additionally, at least one of the previously transacted events may be associated with at least one of the one or more scheduled events. Further, the one or more automatically gathered data elements can include data that was received from a third party over a network connection.
  • the software application displays a data element portion 200 within the software interface 260. At least one of the displayed data elements 200 - for example, data element 250 - includes information relating to a financial transaction. The financial transaction may be associated with scheduled event 252. As described above, this information can be retrieved by the data-gathering module 150 from a remote server 158, such as a credit card company's webpage.
  • Figure 4 shows that the method can include an act 420 of receiving an association between a calendar event and a data element.
  • Act 420 includes receiving a gesture from the user associating at least one of the one or more automatically gathered data elements with the at least one scheduled event.
  • a user can associate a data element 220 with a scheduled event 240 by dragging and dropping a particular data element 250 onto a desired scheduled event 252. Additional methods for using a gesture to associate a data element 220 with a scheduled event 240 are also disclosed above.
  • Figure 4 shows that the method can include an act 430 of receiving a selection of data element.
  • Act 430 can comprise receiving a first indication through a touch interface of a user selecting an automatically gathered data element.
  • Figure 2 depicts a user interface with a plurality of data elements 220. The data elements 220 can be displayed on a touch interface such that the data elements 220 can be selected and dragged to a scheduled event.
  • Figure 4 shows that the method can include an act 440 of receiving a selection o a calendar event.
  • Act 440 comprises receiving a second indication through the touch interface of the user dragging the automatically gathered data element onto a visual indication of the at least one scheduled calendar event. For example, once a user has selected a data element 220 on the touch interface, the user can drag the data element 220 to a depicted scheduled event 240 on the calendar.
  • a back-end server can be used to perform at least a portion of the described method.
  • Figure 4 illustrates that a flow chart for an implementation of a method for associating data elements with calendared events using a back-end server can comprise an act 400 of transmitting data elements and scheduled events.
  • Act 400 includes transmitting one or more data elements and one or more scheduled events to a remote user.
  • the one or more data elements can comprise at least a financial transaction digitally received from a financial entity.
  • the software application 100 shown in Figure 1 can be executed, completely or in part, on a back-end server and then communicated to a remote display device 110 (e.g., a mobile phone).
  • the transmitted information can include one or more scheduled events 240.
  • Figure 5 also shows that the method can comprise an act 510 of receiving an association of a data element and a scheduled event.
  • Act 510 includes receiving, from the remote user, an indication that at least one data element is associated with at least one scheduled event. For example, in the interface depicted in Figure 2, data element 250 is associated with scheduled event 252, through a drag-and-drop gesture. Once a data element is associated with a schedule event, the association can be transmitted to the back-end server.
  • Figure 5 shows that the method can include an act 520 of updating a report.
  • Act 520 includes updating a report using the association of the at least one data element with the at least one scheduled event.
  • the reporting module 140 can analyze the associated data element and scheduled event, and based upon that analysis generate a report.
  • the generated report only includes analysis that conforms to predetermined standards.
  • Figure 5 shows that the method can comprise act 530 of displaying the report.
  • Act 530 can include displaying the report to the remote user.
  • the UI module 120 can be executed on the back-end server. The UI module 120 can then transmit the report to the remote user, where the report can be displayed.
  • the remote user can comprise a third-party, a C.P.A., an accounting department, the actual user that associated the data elements with the scheduled events, or any other interested party.
  • one or more implementations of the present invention provide users with methods and systems for easily associating data elements with scheduled events.
  • a simple gesture such as a drag and drop.
  • a simple gesture such as a drag and drop.
  • automatically generating reports based upon the associated data elements and scheduled events.
  • Embodiments of the present invention may comprise or utilize a special- purpose or general-purpose computer system that includes computer hardware, such as, for example, one or more processors and system memory, as discussed in greater detail below.
  • Embodiments within the scope of the present invention also include physical and other computer-readable media for carrying or storing computer- executable instructions and/or data structures.
  • Such computer-readable media can be any available media that can be accessed by a general-purpose or special-purpose computer system.
  • Computer-readable media that store computer-executable instructions and/or data structures are computer storage media.
  • Computer-readable media that carry computer-executable instructions and/or data structures are transmission media.
  • embodiments of the invention can comprise at least two distinctly different kinds of computer-readable media: computer storage media and transmission media.
  • Computer storage media are physical storage media that store computer- executable instructions and/or data structures.
  • Physical storage media include computer hardware, such as RAM, ROM, EEPROM, solid state drives (“SSDs”), flash memory, phase-change memory (“PCM”), optical disk storage, magnetic disk storage or other magnetic storage devices, or any other hardware storage device(s) which can be used to store program code in the form of computer-executable instructions or data structures, which can be accessed and executed by a general- purpose or special-purpose computer system to implement the disclosed functionality of the invention.
  • Transmission media can include a network and/or data links which can be used to carry program code in the form of computer-executable instructions or data structures, and which can be accessed by a general-purpose or special-purpose computer system.
  • a "network" is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices.
  • program code in the form of computer-executable instructions or data structures can be transferred automatically from transmission media to computer storage media (or vice versa).
  • program code in the form of computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a "NIC"), and then eventually transferred to computer system RAM and/or to less volatile computer storage media at a computer system.
  • a network interface module e.g., a "NIC”
  • computer storage media can be included in computer system components that also (or even primarily) utilize transmission media.
  • Computer-executable instructions comprise, for example, instructions and data which, when executed at one or more processors, cause a general-purpose computer system, special-purpose computer system, or special-purpose processing device to perform a certain function or group of functions.
  • Computer-executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code.
  • a computer system may include a plurality of constituent computer systems.
  • program modules may be located in both local and remote memory storage devices.
  • Cloud computing environments may be distributed, although this is not required. When distributed, cloud computing environments may be distributed internationally within an organization and/or have components possessed across multiple organizations.
  • “cloud computing” is defined as a model for enabling on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services). The definition of “cloud computing” is not limited to any of the other numerous advantages that can be obtained from such a model when properly deployed.
  • a cloud-computing model can be composed of various characteristics, such as on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service, and so forth.
  • a cloud-computing model may also come in the form of various service models such as, for example, Software as a Service (“SaaS”), Platform as a Service (“PaaS”), and Infrastructure as a Service (“IaaS”).
  • SaaS Software as a Service
  • PaaS Platform as a Service
  • IaaS Infrastructure as a Service
  • the cloud-computing model may also be deployed using different deployment models such as private cloud, community cloud, public cloud, hybrid cloud, and so forth.
  • Some embodiments may comprise a system that includes one or more hosts that are each capable of running one or more virtual machines.
  • virtual machines emulate an operational computing system, supporting an operating system and perhaps one or more other applications as well.
  • each host includes a hypervisor that emulates virtual resources for the virtual machines using physical resources that are abstracted from view of the virtual machines.
  • the hypervisor also provides proper isolation between the virtual machines.
  • the hypervisor provides the illusion that the virtual machine is interfacing with a physical resource, even though the virtual machine only interfaces with the appearance (e.g., a virtual resource) of a physical resource. Examples of physical resources including processing capacity, memory, disk space, network bandwidth, media drives, and so forth.

Abstract

A method for associating data elements with calendared events in an electronic user interface display can comprise transmitting one or more data elements and one or more scheduled events to a remote user. The method can also comprise receiving, from the remote user, an indication that at least one data element is associated with at least one scheduled event. Further, the method can comprise updating a report using the association of the at least one data element with the at least one scheduled event. The method can then comprise displaying the report to the remote user.

Description

ASSOCIATING EXTERNALLY RETRIEVED DATA WITH CALENDARED
EVENTS
BACKGROUND OF THE INVENTION
Technical Field
The present invention relates generally to computer-aided association of data with scheduled events.
Background and Relevant Art
In many different fields and professions, individuals are required to track various data elements as they relate to particular events. For example, a contractor may be required to track a variety of different daily expenses as they relate to various appointments scheduled throughout the day. Additionally, each appointment may relate to a different client or project, and each client or project may require unique tracking procedures. As an additional example, a commercial truck driver may be required to associate mileage with specific deliveries that are made, along with the fuel costs associated with each delivery. As such, the driver must not only identify the distance travelled between each delivery, but also identify the amount of fuel that each respective distance consumed.
One will understand that many similar situations exist that require individuals to associate data elements with scheduled events. Additionally, one can understand the difficulty and inconvenience that can arise in organizing and managing these data elements, especially when they involves multiple clients, projects, or events.
BRIEF SUMMARY OF THE INVENTION
Implementations of the present invention comprise systems, methods, and computer program products configured to provide users with the ability to intuitively associate data entries with scheduled events. In particular, implementations of the present invention can provide novel user-interfaces that automatically gather data from a variety of sources and present the data to the user in a way that allows the user to intuitively associate the data with specific events within a calendar. Additionally, at least one implementation of the present invention can automatically analyze the data, and based upon the analysis, generate reports.
For example, at least one implementation of the present invention can include displaying one or more scheduled events within an electronic calendaring application. Implementations additionally can include displaying one or more data elements. The one or more data elements can be generated in relation to the one or more scheduled events. Further still, implementations can include receiving input from the user associating at least one of the one or more data elements with at least one of the one or more scheduled events.
Various implementations can include displaying the scheduled events and data elements on a touch screen interface. The data elements can be associated with the scheduled events by selecting the data elements and then dragging and dropping them onto particular scheduled events. Further, in at least one implementation, once a data element is associated with the scheduled event, a user can be prompted to further define the association.
Additional features and advantages of exemplary implementations of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of such exemplary implementations. The features and advantages of such implementations may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features will become more fully apparent from the following description and appended claims, or may be learned by the practice of such exemplary implementations as set forth hereinafter.
BRIEF DESCRIPTION OF THE DRAWINGS
In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which: Figure 1 illustrates a schematic diagram of an implementation of a system for associating data elements with scheduled events;
Figure 2 illustrates an implementation of a user interface for associating data elements with scheduled events;
Figure 3 illustrates a flow chart for an implementation of a method for associating data elements with scheduled events;
Figure 4 illustrates a flow chart for another implementation of a method for associating data elements with scheduled events; and
Figure 5 illustrates a flow chart for yet another implementation of a method for associating data elements with scheduled events.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention extends to systems, methods, and computer program products configured to provide users with the ability to intuitively associate data entries with scheduled events. In particular, implementations of the present invention can provide novel user-interfaces that automatically gather data from a variety of sources and present the data to the user in a way that allows the user to intuitively associate the data with specific events within a calendar. Additionally, at least one implementation of the present invention can automatically analyze the data, and based upon the analysis, generate reports.
Accordingly, at least one implementation of the present invention aids a user in tracking a variety of different data elements that are associated with scheduled events. For example, a user can easily associate mileage from a GPS unit with a particular appointment. Similarly, a user can easily associate a bank transaction with a business lunch. In at least one implementation, a computer-based user interface displays to a user both the scheduled events and the data elements in a form that allows a user to easily and quickly associate the data elements with the correct scheduled event. Additionally, the computer-based user interface can be accessible through a mobile computing device (e.g., a mobile phone), a local computer system, a webpage, or through any other known computing system.
Turning now to the figures, Figure 1 illustrates a schematic diagram of an implementation of a system for associating data elements with scheduled events. In particular, Figure 1 depicts a computer 110, one or more input devices 112, and a software application 100. As depicted in this implementation, the software application 100 can receive data 162, 164, 166, 168 from a GPS unit 152, a car unit 154, a calendar application 156, a remote server 158, and/or a storage unit 170. In other implementations, the software application 100 can retrieve data from other similar computer systems and electronic devices.
The modules depicted in Figure 1 are provided for the sake of clarity and ease of discussion. In alternate implementations, the various components and modules may be otherwise named, combined, divided, and/or presented. As such, one will understand that the components and modules described herein are not limiting, but are merely exemplary.
The software application 100 further includes a user interface ("UI") module 120, an association module 130, a report module 140, and a data-gathering module 150. In at least one implementation, the UI module 120 displays an interface to a user and receives responsive input from a user input device 112. The displayed interface can include a calendar and associated data elements (shown in Figure 2). The association module 130 and the data-gathering module 150 can together provide the UI module 120 with the appropriate data elements.
The UI module 120 can also provide a user with an option to generate a report based upon previous user input. In particular, the report module 140 can receive information from the association module 130, the UI module 120, and the storage unit 170. The report module 140 can then analyze the information and provide a report to the user or to a third party. In at least one implementation, a user can customize the report to provide specific information that is of interest to the user.
As an example, Figure 2 illustrates an implementation of the user interface 260 described above. Specifically, the depicted user interface 260 can be used for associating data elements 200 with scheduled events 210. As shown, the user interface 260 can include a calendar portion 210 that depicts one or more scheduled events 240. The calendar portion 210 can be displayed in a variety of different ways (e.g., weekly, monthly, daily, etc.).
In at least one implementation, the data-gathering module 150 populates the scheduled events 240 within the calendar portion 260 by retrieving the scheduled events 240 from an external calendar application 156. For example, a user may maintain a digital calendar on a computer and/or portable processing device. In at least one implementation, the data-gathering module 150 can access the digital calendar and import the calendared events 240 from the calendar application 156.
In another implementation, a user can manually enter at least a portion of the calendared events into the software application 100. For example, the user can provide the date, time, and a description of each scheduled event, and the UI module 120 can display the received information within the calendar portion 210 of the user interface 260. In any case, the UI module 120 can display to a user a calendar portion 260 that depicts one or more calendared events.
In addition to depicting a calendar portion 260, the UI module can also depict a data element portion 200 of the user interface 260. The data element portion 200 can include data elements 220 that the association module 130 has associated with the calendar events 240. Specifically, the association module 130 can receive various data elements from the data-gathering module 150. The association module 130 can then determine what data elements should be associated with the calendared events 240 that are being depicted on the user interface 260.
The data gathering module 150 can gather data from a variety of different sources, including but not limited to, banking websites, credit card websites, GPS units, car odometers, or through manual entry from a user. With regards to the GPS units, in at least one implementation, the software application 100 runs on a mobile phone and can access a GPS unit that is integrated within the mobile phone. Additionally, or as an alternative, the software application 100 may also access GPS units that are stand-alone units or integrated within a vehicle. Further, in at least one implementation, the software application 100 can access the odometer or the OBD system of the automobile and receive the mileage information directly from the vehicle. Additionally, in at least one implementation, the data gathering module 150 can automatically identify starting and stopping locations based upon the GPS data, or a user can manually indicate to the software application 100 either when to begin and to end tracking distance travelled or the user can simply input the aggregated total distance travelled after the fact.
In at least one implementation, the data gathering module 150 can analyze the data that is gathered data from the various different sources. In particular, the data- gathering module 150 can gather predictive information associating various data elements 220 with scheduled events 240. For example, in at least one implementation, the data-gathering module 150 can gather data relating to a user's movements and locations. For instance, the data-gathering module 150 can identify that a user has stopped moving for a threshold amount of time. A threshold amount of time may comprise 30 minutes, 45 minutes, 1 hour, 2 hours, 3 hours, 4 hours, or some other time segment.
Once the data-gathering module 150 identifies that the user has stopped for at least a threshold amount of time, the data-gathering module 150 can generate and store a data element associated with the detected stop. For example, the data-gathering module 150 may store the location of the user at the time of the stop, the continuous miles the car had driven prior to the stop, a time associated with the stop, and other similar data points. Additionally, in at least one implementation, the data-gathering module 150 may store various points-of-interest within a threshold distance from the location of the detected stop. For example, the data-gathering module 150 may access the Internet or a mapping service and search for all points-of-interest within a threshold distance from the user's stopping location. A threshold distance may comprise 30 feet, 50 feet, ¼ mile, 1 mile, or some other distance. Points-of-interest may comprise restaurants, stores, hotels, bars, airports, car rental locations, business centers, entertainment locations, and other similar locations that are available within modern mapping services.
Using the associated data, in at least one implementation, the association module 130 can suggest that particular calendared events 240 are related to particular data elements 220. For example, when preparing a report, the report module 140 can display to a user, for verification, various proposed associations.
For instance, the data gathering module 150 may have identified a stop that occurred on Wednesday the 9th at 12:00 PM. Additionally, the data gathering module 150 may have identified that the points-of-interest within a threshold distance of the identified stop comprise: "Sandwich Shop," "Convenience Store," and "Gas Station." Further, the data-gathering module 150 may receive from a third-party financial institution that a purchase of $14.14 was made at the "Sandwich Shop." In various implementations, the time stamp on the Sandwich purchase may correspond directly to Wednesday the 9th at 12:00 PM. In alternate implementations, however, the time stamp may differ by one or more days - based upon the amount of time it took for the transaction to clear. In any case, the association module 130 can identify that the purchase occurred within a threshold number of days from the identified stop, and that the purchase place ("Sandwich Shop"), corresponds with a detected point-of-interest within a threshold distance of the identified stop. Once the association module 130 identifies this potential relationship, the UI module can display a visual indication that the particular data element 240 and calendared event 240 are related. The visual indication may comprise a common highlight color, a common symbol, or some other easily distinguishable visual effect.
In addition, to automatically associating purchases with particular calendared events, in at least one implementation, the association module 130 can also associate a wide variety of different types of data elements 220 with calendared events 240. For example, the association module 130 may be able to associate mileage with particular scheduled events by detecting a stop that exceeds a threshold, detecting the location of the stop, determining the distance traveled from the previous stop, and then suggesting an association between this data with a calendared event that comprise a corresponding location.
Similarly, in at least one implementation, the data-gathering module 150 can receive input information from a user. For example, the data-gathering module 150 can receive a home address, office address, second office address, client address, company warehouse, and/or other related user-specific location information. Using this location information, the association module 130 can further associate various data with scheduled events. For instance, the association module may determine, based upon the user-provided information, that a particular trip started at the user's office and ended at a client address. This association may be used to further suggest relationship between the user's calendar and the various gathered data.
In at least one implementation, a user may be requested to verify a suggested association or an automatic association. For example, a user may be asked to verify whether a trip consisted of driving from a home office to a warehouse. Similarly, a user may be requested to verify whether a trip consisted of work related travel. Additionally, in at least one implementation, a report may display to a user various potential numerical outcomes that are influenced by the user classification of a particular event or data item.
The calendar portion 210 depicted in Figure 2 is an example of a user's daily calendar. The calendar portion 210 includes appointments for client meetings, committee meetings, lunch meetings, soccer games, and other similarly common appointments. Each of the scheduled events includes a title portion 242, which displays a general description of the scheduled event 240, and a location portion 244, which includes an address or location name that is associated with the scheduled event 240. In other implementations, the scheduled events can include less or more information than depicted in Figure 2. In particular, one or more scheduled events 240 may lack location information.
In at least one implementation, the data-gathering module 150 can automatically attempt to find unavailable data for the scheduled events 240. For example, in at least one implementation, a scheduled event 240 may comprise the name of the location, but not the actual address to the location. Using the name of the location, the data-gathering module 150 may be able to automatically search the internet for an address that is associated with the name.
The data element portion 200 depicted in Figure 2 includes various data elements relating to expenses and travel. In particular, each displayed data element 220 includes a quantitative description 224, which includes mileage or cost, and a general description 222, which include a merchant's name or a description of a trip. In alternate embodiments, the data elements 220 may include more or less information. For example, the data elements 220 can include information specifying where the data gathering module 150 accessed the information (e.g., what bank).
Once the user interface 260 is presented to a user, the user can associate the various data elements 220 with one or more scheduled events 240. For example, the user may determine that data element 250, which represents a $14.13 transaction at the "Sandwich Shop," should be associated with scheduled event 252, which is called "Lunch Meeting B." This associated is depicted with an arrow, which is provided for explanatory purposes and may not comprise a portion of the implemented invention. In at least one implementation, the user can associate data element 250 with scheduled event 252 by dragging and dropping data element 250 onto scheduled event 252. In contrast, in another implementation, the user can associate the data element 250 with scheduled event 252 by first selecting data element 250 and then selecting scheduled event 252. In other implementations, a user can select the scheduled event 252 first and then select the data element 250.
As such, implementations of the present invention provide a novel and beneficial system for visually associating data elements 220 with calendared events 240. In at least one implementation, the visualization of data elements 220 in conjunction with associated calendared events 240 may provide significant benefits to an individual attempting to associate business expenses 220 with the appropriate calendared event 240. In particular, visualizing both the data 220 and the scheduled events 240 may aid a user in recalling the associations between the data and the events. Additionally, the ease of use associated with implementations of the present invention may encourage a user to frequently associate the data with the events, rather than waiting until a report is due and having to recall items from far in the past.
Additionally, in at least one implementation, the presentation of each data element 220 or scheduled event 240 may provide some indication of the category or type of data element 220 or scheduled event 240. For example, data elements 220 that comprise financial transactions are depicted with rounded corners (e.g., 250), while data elements 220 that comprise mileage are depicted with sharp corners (e.g., 254). In other implementations, some other system, such as colors, may be used to distinguish between categories. Similarly, one will understand that similar categories can be used to distinguish the scheduled events. For example, a user may wish to visually distinguish "personal" scheduled events from "work" scheduled events.
A user can also associate a single data element 220 with multiple scheduled events 240. For example, a user may wish to associate data element 254 with multiple scheduled events. In particular, data element 254 represents a mileage that was driven on Monday the 7th. The user may wish to indicate that the mileage represents miles that were driven to both the scheduled events 256(a) and 256(b), titled "Client #1" and "Lunch Meeting A," respectively. In at least one implementation, the user can do this by dragging data element 254 onto both scheduled event 256(a) and scheduled event 256(b), consecutively. In another implementation, the user can first select data element 254 and then select scheduled events 256(a) and 256(b). In each case, the selected data element 254 and scheduled events 256(a), 256(b) can change color or provide some other visual indication that they are currently selected.
Upon associating the data element 254 with multiple scheduled events a user can be prompted to further specify which portion of the data element 254 should be associated with which scheduled event 256(a) and 256(b). For example, a user may want to specify that of the 48 miles, 15 miles should be associated with scheduled event 256(a) and the remaining 35 miles should be associated with scheduled event 256(b).
Additionally, in at least one implementation, the association module 130 can automatically predict that certain data elements 220 are associated with certain scheduled events. For example, the association module 130 can identity through the internet or some other database that the "Sandwich Shop" from data element 250 is located at 1341 Main St. The association module 130 can then identify that the "Lunch Meeting B" from scheduled event 252 was located at 1341 Main St. Accordingly, the association module 130 can automatically predict that data element 250 is associated with scheduled event 252. In at least one implementation, upon identifying predicted associations, the software application 100 can ask a user to verify the validation, or the software application can automatically create the association without user input.
Similarly, the association module 130 can also associate mileages with scheduled events. For example, the association module 130 can identify that on Monday the 7th, the user drove 48 miles in the first part of the day. Based upon this information and the distances between "100 S 1248 E" and the "Taco Palace," the association module 130 can automatically predict that 15 miles should be associated with scheduled event 256(a) and the remaining 35 miles should be associated with scheduled event 256(b).
The ability for the association module 130 to predict associations between the data elements 220 and the scheduled events 240 may be particularly useful in light of the occasional unpredictability of time stamps on financial transactions from banks and credit card. For instance, a user may make a purchase with a credit card that does not clear the user's account for several days. Accordingly, it can be difficult to rely upon dates and times when associating financial transactions with scheduled events. However, the association module 130 relying upon GPS data, for example, may be able to determine what scheduled event a financial transaction should be associated with.
After a user has associated one or more data elements 220 with one or more scheduled events 240, the user can request that a report be generated. In at least one implementation, a report is being continuously updated and displayed to the user while the user is associating data elements 220 with scheduled events 240. A user can customize the generated report to identify what specific information should be included within the report. In at least one implementation, the report can be configured to conform with official or government reports that must be filed. For example, a user may wish to file a report detailing business expenses. Accordingly, in at least one implementation, the application software 100 generates a report that conforms with IRS specifications for detailing business expenses.
In at least one implementation, the reporting module 140 analyzes the report using multiple independent equations and updates the reported information dynamically based upon the outcomes of the equations. For example, the reporting module 140 may rely upon multiple independent equations that each independently provides a possible reporting outcome. The reporting module 140 may also be configured to only report the most favorable outcome from the multiple independent equations. Accordingly, in at least one implementation, the reporting module 140 can analyze associated data elements 220 and scheduled events 240 using multiple independent equations, and then report on only a specific outcome based upon report requirements.
In at least one implementation, the report results may comprise a single number indicating a financial benefit, a financial cost, or a similar metric. In contrast, in at least one implementation, the report results can comprise various graphs relating to the various data elements. Additionally, in at least one implementation, the report results can comprise various categorizations of calendared events and data elements. Accordingly, Figures 1 and 2, and the corresponding text, illustrate or otherwise describe one or more components, modules, and/or mechanisms for associating data elements with scheduled events on a calendar. One will appreciate that implementations of the present invention can also be described in terms of methods comprising one or more acts for accomplishing a particular result. For example, Figures 3-5 and the corresponding text illustrate flowcharts of a sequence of acts in a method for resolving boundaries within an architectural design. The acts of Figures 3-5 are described below with reference to the components and modules illustrated in Figures 1 and 2.
For example, Figure 3 illustrates that a flow chart for an implementation of a method for associating data elements with scheduled events can comprise an act 300 of displaying a calendar interface. Act 300 includes displaying through a user interface one or more scheduled events within an electronic calendaring application. For example, in Figure 2 and the accompanying description, the software application 100 displays a calendar portion 210 that includes a plurality of different scheduled events 240. As explained above, the displayed calendar portion 210 can be configured to display a variety of different calendar views, including a daily calendar, weekly calendar, a monthly calendar, or some other customized calendar view.
Figure 3 also shows that the method can comprise an act 310 of displaying a collection of data elements. Act 310 includes displaying one or more data elements at a system displaying the user interface. The one or more data elements can comprise information relating to previously transacted events. Additionally, at least one of the previously transacted events may be associated with at least one of the one or more scheduled events. For example, in Figures 1 and 2 and the accompanying description, the software application displays a data element portion 200 within the software interface 260. At least one of the displayed data elements 200 - for example, data element 250 - includes information relating to a financial transaction. The financial transaction may be associated with scheduled event 252. As described above, this information can be retrieved by the data-gathering module 150 from a remote server 158, such as a credit card company's webpage.
Additionally, Figure 3 shows that the method can include an act 320 of receiving an input associating elements with events. Act 320 includes receiving input from the user associating the at least one of the one or more data elements with the at least one of the one or more scheduled events. For example, as depicted in the computer interface 260 of Figure 2, a user can associate a data element 220 with a scheduled event 240 by dragging and dropping a particular data element 250 onto a desired scheduled event 252. Additional methods for using a gesture to associate a data element 220 with a scheduled event 240 are also disclosed above.
Further, the method described in Figure 3 can in alternate implementations comprise an act of analyzing the received data. In particular, the method can comprise analyzing at a computer system the at least one of the one or more data elements and the at least one of the one or more scheduled events. Analyzing can comprise automatically determining a computer-stored category that describes the at least one of the one or more data elements and based upon the determination summing numerical information associated with the at least one of the one or more data elements with other numerical information associated with the computer- stored category. For example, the computer-based categories can include: work expense, personal expense, tax deductible, taxable, compensation account, etc. As such, in at least one implementation, the method can comprise determining that the data element falls within the tax deductible account and adding the transaction amount associated with the data element to a total running tax deductible amount associated with the entire tax deductible category.
Further still, in at least one implementation, the method can comprise an act of generating a report. The generated report can comprise information relating to a single total (e.g., work expense), or information relating to a number of different items (e.g., work expense, private expense, tax deductible, etc.). In either case, the information displayed can be automatically configured such that only the best-case information is displayed. For example, in at least one implementation, there may be multiple classifications of tax-deductible items. In at least one implementation, the method can automatically choose to display the number associated with the most beneficial categorization.
For example, Figure 4 illustrates that a flow chart for another implementation of a method for associating data elements with scheduled events can comprise an act 400 of displaying a calendar interface. Act 400 includes displaying to a user a calendar interface that displays at least one scheduled event. For example, in Figure 2 and the accompanying description, the software application 100 displays a calendar portion 210 that includes a plurality of different scheduled events 240. As explained above, the displayed calendar portion 210 can be configured to display a variety of different calendar views, including a daily calendar, weekly calendar, a monthly calendar, or some other customized calendar view.
Figure 4 also shows that the method can comprise an act 410 of displaying a collection of data elements. Act 410 includes displaying to the user, within the calendar interface, a collection of one or more automatically gathered data elements. The one or more data elements can comprise information relating to previously transacted events. Additionally, at least one of the previously transacted events may be associated with at least one of the one or more scheduled events. Further, the one or more automatically gathered data elements can include data that was received from a third party over a network connection. For example, in Figures 1 and 2 and the accompanying description, the software application displays a data element portion 200 within the software interface 260. At least one of the displayed data elements 200 - for example, data element 250 - includes information relating to a financial transaction. The financial transaction may be associated with scheduled event 252. As described above, this information can be retrieved by the data-gathering module 150 from a remote server 158, such as a credit card company's webpage.
Additionally, Figure 4 shows that the method can include an act 420 of receiving an association between a calendar event and a data element. Act 420 includes receiving a gesture from the user associating at least one of the one or more automatically gathered data elements with the at least one scheduled event. For example, as depicted in the computer interface 260 of Figure 2, a user can associate a data element 220 with a scheduled event 240 by dragging and dropping a particular data element 250 onto a desired scheduled event 252. Additional methods for using a gesture to associate a data element 220 with a scheduled event 240 are also disclosed above.
Further, Figure 4 shows that the method can include an act 430 of receiving a selection of data element. Act 430 can comprise receiving a first indication through a touch interface of a user selecting an automatically gathered data element. For example, Figure 2 depicts a user interface with a plurality of data elements 220. The data elements 220 can be displayed on a touch interface such that the data elements 220 can be selected and dragged to a scheduled event.
Further still, Figure 4 shows that the method can include an act 440 of receiving a selection o a calendar event. Act 440 comprises receiving a second indication through the touch interface of the user dragging the automatically gathered data element onto a visual indication of the at least one scheduled calendar event. For example, once a user has selected a data element 220 on the touch interface, the user can drag the data element 220 to a depicted scheduled event 240 on the calendar.
In at least one implementation a back-end server can be used to perform at least a portion of the described method. For example, Figure 4 illustrates that a flow chart for an implementation of a method for associating data elements with calendared events using a back-end server can comprise an act 400 of transmitting data elements and scheduled events. Act 400 includes transmitting one or more data elements and one or more scheduled events to a remote user. The one or more data elements can comprise at least a financial transaction digitally received from a financial entity. For example, the software application 100 shown in Figure 1 can be executed, completely or in part, on a back-end server and then communicated to a remote display device 110 (e.g., a mobile phone). As illustrated in Figure 2, the transmitted information can include one or more scheduled events 240.
Figure 5 also shows that the method can comprise an act 510 of receiving an association of a data element and a scheduled event. Act 510 includes receiving, from the remote user, an indication that at least one data element is associated with at least one scheduled event. For example, in the interface depicted in Figure 2, data element 250 is associated with scheduled event 252, through a drag-and-drop gesture. Once a data element is associated with a schedule event, the association can be transmitted to the back-end server.
Additionally, Figure 5 shows that the method can include an act 520 of updating a report. Act 520 includes updating a report using the association of the at least one data element with the at least one scheduled event. For example, as described above, the reporting module 140 can analyze the associated data element and scheduled event, and based upon that analysis generate a report. In at least one implementation, the generated report only includes analysis that conforms to predetermined standards.
Further, Figure 5 shows that the method can comprise act 530 of displaying the report. Act 530 can include displaying the report to the remote user. For example, the UI module 120 can be executed on the back-end server. The UI module 120 can then transmit the report to the remote user, where the report can be displayed. In at least one implementation, the remote user can comprise a third-party, a C.P.A., an accounting department, the actual user that associated the data elements with the scheduled events, or any other interested party.
Accordingly, one or more implementations of the present invention provide users with methods and systems for easily associating data elements with scheduled events. In particular, one will understand the benefit that can be gained by providing a user with a list of automatically generated data elements that the user can associate with scheduled events by using a simple gesture, such as a drag and drop. Additionally, one will understand the benefits of automatically generating reports based upon the associated data elements and scheduled events.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above, or the order of the acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.
Embodiments of the present invention may comprise or utilize a special- purpose or general-purpose computer system that includes computer hardware, such as, for example, one or more processors and system memory, as discussed in greater detail below. Embodiments within the scope of the present invention also include physical and other computer-readable media for carrying or storing computer- executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general-purpose or special-purpose computer system. Computer-readable media that store computer-executable instructions and/or data structures are computer storage media. Computer-readable media that carry computer-executable instructions and/or data structures are transmission media. Thus, by way of example, and not limitation, embodiments of the invention can comprise at least two distinctly different kinds of computer-readable media: computer storage media and transmission media.
Computer storage media are physical storage media that store computer- executable instructions and/or data structures. Physical storage media include computer hardware, such as RAM, ROM, EEPROM, solid state drives ("SSDs"), flash memory, phase-change memory ("PCM"), optical disk storage, magnetic disk storage or other magnetic storage devices, or any other hardware storage device(s) which can be used to store program code in the form of computer-executable instructions or data structures, which can be accessed and executed by a general- purpose or special-purpose computer system to implement the disclosed functionality of the invention.
Transmission media can include a network and/or data links which can be used to carry program code in the form of computer-executable instructions or data structures, and which can be accessed by a general-purpose or special-purpose computer system. A "network" is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer system, the computer system may view the connection as transmission media. Combinations of the above should also be included within the scope of computer-readable media.
Further, upon reaching various computer system components, program code in the form of computer-executable instructions or data structures can be transferred automatically from transmission media to computer storage media (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a "NIC"), and then eventually transferred to computer system RAM and/or to less volatile computer storage media at a computer system. Thus, it should be understood that computer storage media can be included in computer system components that also (or even primarily) utilize transmission media. Computer-executable instructions comprise, for example, instructions and data which, when executed at one or more processors, cause a general-purpose computer system, special-purpose computer system, or special-purpose processing device to perform a certain function or group of functions. Computer-executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code.
Those skilled in the art will appreciate that the invention may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor- based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, tablets, pagers, routers, switches, and the like. The invention may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. As such, in a distributed system environment, a computer system may include a plurality of constituent computer systems. In a distributed system environment, program modules may be located in both local and remote memory storage devices.
Those skilled in the art will also appreciate that the invention may be practiced in a cloud-computing environment. Cloud computing environments may be distributed, although this is not required. When distributed, cloud computing environments may be distributed internationally within an organization and/or have components possessed across multiple organizations. In this description and the following claims, "cloud computing" is defined as a model for enabling on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services). The definition of "cloud computing" is not limited to any of the other numerous advantages that can be obtained from such a model when properly deployed.
A cloud-computing model can be composed of various characteristics, such as on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service, and so forth. A cloud-computing model may also come in the form of various service models such as, for example, Software as a Service ("SaaS"), Platform as a Service ("PaaS"), and Infrastructure as a Service ("IaaS"). The cloud-computing model may also be deployed using different deployment models such as private cloud, community cloud, public cloud, hybrid cloud, and so forth.
Some embodiments, such as a cloud-computing environment, may comprise a system that includes one or more hosts that are each capable of running one or more virtual machines. During operation, virtual machines emulate an operational computing system, supporting an operating system and perhaps one or more other applications as well. In some embodiments, each host includes a hypervisor that emulates virtual resources for the virtual machines using physical resources that are abstracted from view of the virtual machines. The hypervisor also provides proper isolation between the virtual machines. Thus, from the perspective of any given virtual machine, the hypervisor provides the illusion that the virtual machine is interfacing with a physical resource, even though the virtual machine only interfaces with the appearance (e.g., a virtual resource) of a physical resource. Examples of physical resources including processing capacity, memory, disk space, network bandwidth, media drives, and so forth.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims

CLAIMS We claim:
1. A computerized method for associating data elements with calendared events in an electronic user interface display, the method comprising:
displaying through a user interface one or more scheduled events within an electronic calendaring application;
displaying one or more data elements through the user interface, wherein the one or more data elements comprise information relating to previously transacted events, and wherein at least one of the previously transacted events is associated with at least one of the one or more scheduled events;
receiving one or more electronic signals from the user, wherein the one or more electronic signals associate the at least one of the one or more data elements with the at least one of the one or more scheduled events;
analyzing at a computer system the at least one of the one or more data elements and the at least one of the one or more scheduled events, wherein analyzing comprises automatically determining a computer-stored category that describes the at least one of the one or more data elements and based upon the determination summing numerical information associated with the at least one of the one or more data elements with other numerical information associated with the computer-stored category;
based upon the analysis, generating a report, wherein the report comprises a financial component that relates to the at least one of the one or more data elements and the at least one of the one or more scheduled events.
2. The method as recited in claim 1, wherein generating the report further comprises:
performing a first analysis on the at least one of the one or more data elements and the at least one of the one or more scheduled events; and
determining a first result based upon the first analysis.
3. The method as recited in claim 2, wherein generating the report further comprises: performing a second analysis on the at least one of the one or more data elements and the at least one of the one or more scheduled events;
determining a second result based upon the second analysis;
determining that the second result is more beneficial to a user than the first result; and
generating the report based upon the second result.
4. The method as recited in claim 1, wherein the one or more data elements comprises a mileage figure.
5. The method as recited in claim 4, wherein the mileage figure is provided by a GPS unit.
6. The method as recited in claim 4, wherein the mileage figure is provided by user input.
7. The method as recited in claim 1, wherein the one or more data elements comprises a financial transaction.
8. The method as recited in claim 7, wherein the financial transaction is provided by user input.
9. The method as recited in claim 7, wherein the financial transaction is provided by a third party through a network connection.
10. The method as recited in claim 1, wherein receiving input from the user associating at least one of the one or more data elements with at least one of the one or more scheduled events comprises receiving a gesture that associates the at least one of the one or more data elements with at least one of the one or more scheduled events.
11. The method as recited in claim 10, wherein the gesture comprises the user dragging the at least one of the one or more data elements onto the at least one of the one or more scheduled events.
12. The method as recited in claim 10, wherein the gesture comprises the user dragging the at least one of the one or more scheduled events onto the at least one of the one or more data elements.
13. The method as recited in claim 1, further comprising:
automatically predicting that the at least one of the one or more data elements is associated with the at least one of the one or more scheduled events; and
displaying to the user an indication that the at least one of the one or more data elements and the at least one of the one or more scheduled events may be associated.
14. The method as recited in claim 13, wherein automatically predicting that the at least one of the one or more data elements is associated with the at least one of the one or more scheduled events comprises:
identifying that the at least one of the one or more data elements is associated with a particular location; and
identifying that the at least one of the one or more scheduled events is also associated with the particular location.
15. The method as recited in claim 13, wherein automatically predicting that the at least one of the one or more data elements is associated with the at least one of the one or more scheduled events comprises:
identifying that the at least one of the one or more data elements is associated with a particular time and date; and
identifying that the at least one of the one or more scheduled events is also associated with the particular time and date.
16. A method for associating automatically gathered data elements with calendared events, the method comprising:
displaying to a user a calendar interface, wherein the calendar interface displays at least one scheduled event;
displaying to the user, within the calendar interface, a collection of one or more automatically gathered data elements, wherein:
the one or more automatically gathered data elements comprise information relating to previously transacted events,
at least one of the previously transacted events is associated with the at least one scheduled event, and
the one or more automatically gathered data elements includes data that was received from a third party over a network connection; and
receiving a gesture from the user associating at least one of the one or more automatically gathered data elements with the at least one scheduled event, wherein the gesture comprises:
receiving a first indication through a touch interface of a user selecting an automatically gathered data element, and
receiving a second indication through the touch interface of the user dragging the automatically gathered data element onto a visual indication of the at least one scheduled calendar event.
17. The method as recited in claim 16, wherein receiving a gesture from the user further comprises:
receiving a third indication through the touch interface of the user selecting the automatically gathered data element;
receiving a fourth indication through the touch interface of the user dragging the automatically gathered data element onto a visual indication of a different scheduled calendar event; and
dividing quantitative data within the automatically gathered data element between the at least one scheduled event and the different scheduled event.
18. The method as recited in claim 16, wherein receiving a gesture from the user further comprises:
displaying to the user, within the calendar interface, a first attribute associated with the automatically gathered data element; and
displaying to the user, within the calendar interface, a second visual attribute associated with the at least one scheduled event, wherein the second visual attribute and the first visual attribute comprise the same attribute;
wherein the first attribute and the second attribute indicate a suggested association between the automatically gathered data element and the at least one scheduled event.
19. The method as recited in claim 18, further comprising:
generating the suggested association between the automatically gathered data element and the at least one scheduled event, wherein generating the suggested association comprises:
identify a time and location associated with the at least one scheduled event,
identify a time and location association with the automatically gathered data element, and
determining that the time and location associated with the at least one scheduled event corresponds within one or more thresholds with the time and location association with the automatically gathered data element.
20. A computerized method for associating data elements with calendared events in an electronic user interface display, the method comprising:
transmitting one or more data elements and one or more scheduled events to a remote user, wherein the one or more data elements comprise at least a financial transaction digitally received from a financial entity;
receiving, from the remote user, an indication that at least one data element is associated with at least one scheduled event;
updating a report using the association of the at least one data element with the at least one scheduled event; and
displaying the report to the remote user.
PCT/US2015/011409 2014-01-15 2015-01-14 Associating externally retrieved data with calendared events WO2015108983A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461927691P 2014-01-15 2014-01-15
US61/927,691 2014-01-15

Publications (1)

Publication Number Publication Date
WO2015108983A1 true WO2015108983A1 (en) 2015-07-23

Family

ID=53543397

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/011409 WO2015108983A1 (en) 2014-01-15 2015-01-14 Associating externally retrieved data with calendared events

Country Status (1)

Country Link
WO (1) WO2015108983A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110581794A (en) * 2018-06-11 2019-12-17 腾讯科技(深圳)有限公司 Information processing method, information processing device, storage medium and computer equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732399A (en) * 1995-06-07 1998-03-24 Sun Microsystems, Inc. Method and apparatus for associating calendar events with contextual information and other calendar events
US20050015316A1 (en) * 2003-07-02 2005-01-20 Vincenzo Salluzzo Methods for calendaring, tracking, and expense reporting, and devices and systems employing same
US20130205254A1 (en) * 2001-03-16 2013-08-08 Siebel Systems, Inc. System and Method for Assigning and Scheduling Activities
US20130232150A1 (en) * 2010-10-21 2013-09-05 Research In Motion Limited Methods and apparatus for the management and viewing of calendar data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732399A (en) * 1995-06-07 1998-03-24 Sun Microsystems, Inc. Method and apparatus for associating calendar events with contextual information and other calendar events
US20130205254A1 (en) * 2001-03-16 2013-08-08 Siebel Systems, Inc. System and Method for Assigning and Scheduling Activities
US20050015316A1 (en) * 2003-07-02 2005-01-20 Vincenzo Salluzzo Methods for calendaring, tracking, and expense reporting, and devices and systems employing same
US20130232150A1 (en) * 2010-10-21 2013-09-05 Research In Motion Limited Methods and apparatus for the management and viewing of calendar data
US20130305160A1 (en) * 2010-10-21 2013-11-14 Research In Motion Limited Methods and apparatus for management and viewing of calendar event participant data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110581794A (en) * 2018-06-11 2019-12-17 腾讯科技(深圳)有限公司 Information processing method, information processing device, storage medium and computer equipment

Similar Documents

Publication Publication Date Title
JP6644069B2 (en) Mobile device distance tracking
US10565181B1 (en) Database system for dynamically generating customized models
US10163147B2 (en) Systems and methods of location based merchant recommendations
US7865308B2 (en) User-generated activity maps
CN103678452B (en) Visualization and the integration with the analysis of business object
US20140229391A1 (en) Predictive service timeline
US20160335649A1 (en) Systems and methods for determining an impact event on a sector location
US20150073866A1 (en) Data visualization and user interface for monitoring resource allocation to customers
EP2988258A1 (en) System and method for determining a cohort
US10853865B2 (en) Systems and methods for dynamically determining activity levels in a selected geographical region
US11599935B2 (en) Computer program product, computer implemented method, and system for cognitive item selection with data mining
US10810261B2 (en) Visualization of transaction data
US10103953B1 (en) Methods and systems for analyzing entity performance
CN109377253A (en) Advertisement placement method, device, terminal and storage medium
US9213472B2 (en) User interface for providing supplemental information
US20180158145A1 (en) Resource planning system, particularly for vehicle fleet management
US20180082260A1 (en) Computer system and method for providing advanced scheduling with integrated social and reverse auction components
US11636456B2 (en) Data structure analytics for real-time recommendations
US10942980B2 (en) Real-time matching of users and applications
KR101344498B1 (en) Sales activity management system capable of prividing customized sales activities information and method thereof
US11182756B2 (en) Categorization of non-contiguous transactions
US20170300842A1 (en) Systems and methods for identifying underrepresented merchant categories within a region
US20240060791A1 (en) Identification of grouping criteria for bulk trip review in getting tax deductions
US11681895B2 (en) Cognitive assistant with recommendation capability
WO2017039798A1 (en) Cache and uniform resource locator based event tracking

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15737236

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC , EPO FORM 1205A DATED 16-11-16

122 Ep: pct application non-entry in european phase

Ref document number: 15737236

Country of ref document: EP

Kind code of ref document: A1