Selecting a synchronous or asynchronous process to determine a forecast

US9934473B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9934473-B2
Application numberUS-201414335892-A
CountryUS
Kind codeB2
Filing dateJul 19, 2014
Priority dateOct 4, 2006
Publication dateApr 3, 2018
Grant dateApr 3, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In accordance with embodiments, there are provided mechanisms and methods for selecting a synchronous or asynchronous process to determine a forecast. These mechanisms and methods for such synchronous/asynchronous process selection can enable embodiments to determine forecasts for multiple users (e.g. with hierarchical relationships, etc.) over an arbitrary time interval. The ability of embodiments to provide forecasts that involve such a large amount of data in an effective way can enable forecasting that was otherwise infeasible due to resource limitations.

First claim

Opening claim text (preview).

We claim: 1. A method, comprising: determining, by a computer system, that a first deal affecting a first sales forecast has been modified; responsive to determining modification of the first deal involves a data event, automatically selecting, by the computer system, a synchronous process instead of asynchronous processes to update the first sales forecast based on the data event; responsive to selecting the synchronous process, executing, by the computer system, the synchronous process, wherein executing the synchronous process comprises: determining a difference amount for the first sales forecast based on the modification of the first deal; and determining an updated amount for the first sales forecast based on the difference amount and a previous forecast amount associated with the first sales forecast; determining, by the computer system, that a second deal affecting a second sales forecast has been modified: responsive to determining that a set-up function associated with the second deal was modified, automatically selecting, by the computer system, an asynchronous process instead of synchronous processes to update the second sales forecast based on the set-up function being modified; executing, by the computer system after a delay, the asynchronous process to recalculate the second sales forecast, the executed asynchronous process slower than the executed synchronous process and consuming more resources of the computer system than the executed synchronous process. 2. The method of claim 1 , wherein determining the difference amount further comprises: identifying a user associated with the first deal; identifying additional users based on a hierarchy that includes the identified user; determining deal amounts associated with the identified user and the additional users; determining an aggregate of the deal amounts; and determining the difference amount based on the aggregate of the deal amounts. 3. The method of claim 2 , wherein the deal amounts are for a time period. 4. A computer system, comprising: a processor; and a non-transitory computer readable storage medium configured to store instructions, the instructions when executed by the processor cause the processor to perform operations comprising: determining that a first deal affecting a first sales forecast has been modified; responsive to determining that modification of the first deal involves a data event automatically selecting a synchronous process instead of asynchronous processes to update the first sales forecast based on the data event; responsive to selecting the synchronous process, executing the synchronous process, wherein executing the synchronous process comprises: determining a difference amount for the first sales forecast based on the modification of the first deal; and determining an updated amount for the first sales forecast based on the difference amount and a previous forecast amount associated with the first sales forecast; determining that a second deal affecting a second sales forecast has been modified; responsive to determining that a set-up function associated with the second deal was modified, automatically selecting, by the computer system, an asynchronous process instead of synchronous processes to update the second sales forecast based on the set-up function being modified; executing, after a delay, the asynchronous process to recalculate the second sales forecast, the executed asynchronous process slower than the executed synchronous process and consuming more resources of the computer system than the executed synchronous process. 5. A non-transitory computer readable storage medium configured to store instructions, the instructions when executed by a processor cause the processor to perform operations comprising: determining that a first deal affecting a first sales forecast has been modified; responsive to determining that modification of the first deal involves a data event automatically selecting a synchronous process instead of asynchronous processes to update the first sales forecast based on the data event; responsive to selecting the synchronous process, executing the synchronous process, wherein executing the synchronous process comprises: determining a difference amount for the first sales forecast based on the modification of the first deal; and determining an updated amount for the first sales forecast based on the difference amount and a previous forecast amount associated with the first sales forecast; determining that a second deal affecting a second sales forecast has been modified; responsive to determining that a set-up function associated with the second deal was modified, automatically selecting, by the computer system, an asynchronous process instead of synchronous processes to update the second sales forecast based on the set-up function being modified; executing, after a delay, the asynchronous process to recalculate the second sales forecast, the executed asynchronous process slower than the executed synchronous process and consuming more resources of the computer system than the executed synchronous process. 6. The method of claim 1 , wherein the asynchronous process is performed in a batch. 7. The method of claim 1 , wherein the set-up function associated with the second deal comprises metadata describing data associated with the second deal or metadata used to categorize the data. 8. The method of claim 1 , wherein the data event comprises modification to data associated with the first deal that includes at least one of addition to the data and removal of the data. 9. The non-transitory computer readable storage medium of claim 5 , wherein determining the difference amount further comprises: identifying a user associated with the first deal; identifying additional users based on a hierarchy that includes the identified user; determining deal amounts associated with the identified user and the additional users; determining an aggregate of the deal amounts; and determining the difference amount based on the aggregate of the deal amounts. 10. The non-transitory computer readable storage medium of claim 9 , wherein the deal amounts are for a time period. 11. The computer system of claim 4 , wherein determining the difference amount further comprises: identifying a user associated with the first deal; identifying additional users based on a hierarchy that includes the identified user; determining deal amounts associated with the identified user and the additional users; determining an aggregate of the deal amounts; and determining the difference amount based on the aggregate of the deal amounts. 12. The computer system of claim 11 , wherein the deal amounts are for a time period. 13. The method of claim 1 , further comprising: responsive to automatically selecting the asynchronous process; adding the asynchronous process to a queue including a plurality of processes; and removing from the queue a process from the plurality of processes based on adding the asynchronous process to the queue.

Assignees

Inventors

Classifications

  • Market predictions or forecasting for commercial activities · CPC title

  • Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Performance analysis of employees; Performance analysis of enterprise or organisation operations · CPC title

  • G06Q10/04Primary

    Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem" (market predictions or forecasting for commercial activities G06Q30/0202) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9934473B2 cover?
In accordance with embodiments, there are provided mechanisms and methods for selecting a synchronous or asynchronous process to determine a forecast. These mechanisms and methods for such synchronous/asynchronous process selection can enable embodiments to determine forecasts for multiple users (e.g. with hierarchical relationships, etc.) over an arbitrary time interval. The ability of embodim…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06Q10/04. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 03 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).