In a typical system, a consumer of the data model has to be aware of each and every aspect and manifestation of the data model based on the context of where and how the data models are used. The builder and run time consumer also need to know how to construct or interpret any data interchange schema. Further, a runtime consumer or client has to know how to find the values for any data referred to by a data model.
Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
The invention can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention. Unless stated otherwise, a component such as a processor or a memory described as being configured to perform a task may be implemented as a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task. As used herein, the term ‘processor’ refers to one or more devices, circuits, and/or processing cores configured to process data, such as computer program instructions.
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
A system for providing data model based context tree is disclosed. The system comprises an interface, a processor, and a memory. The interface (e.g., a context tree locator) is configured to receive a data model entry point, and to receive one or more context filters. The processor (e.g., a context tree provider) is configured to determine context tree data based on the one or more context filters and the data model entry point from any context tree provider that has appropriate context tree information. The memory is coupled to the processor and is configured to provide the processor with instructions.
In some embodiments, a context tree provider and the logic to construct a context tree are abstracted, so that a consumer can access a tailored context tree based on the data model. The appropriate data can thereby be used by any client or consumer via this tailored context tree. A context data provider could be used where appropriate to provide actual data values for any given instance of a context tree, and therefore each consumer does not need to be aware of how the values are retrieved. The validation framework that validates the expressions based on the context tree remains unchanged even with the introduction of newer data models.
In some embodiments, when additional builds for expressions require additional filters, a context tree filter is added appropriate for a new context. In some embodiments, when the context tree filter is added a corresponding context tree provider is added to provide data contributions appropriate for the added context tree filter and associated data model.
In some embodiments, builder time and run time know the data model and the context in which it is being used. The expressions constructed based on context tree are evaluated during runtime which also understands the data model and the context. In some embodiments, the context tree provider is an abstraction for each implementation to provide their contribution to the context tree structure based on the data model and context tree filter. In some embodiments, a validation framework understands the context tree and has inherent capability to validate the expressions based on the context tree. In some embodiments, the context tree enables a mechanism and abstraction between the data model and the consumers of the data model during both build time and run time, and provides a data exchange schema for various participants.
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.
This application is a continuation of, and claims a benefit of priority under 35 U.S.C. 120 of the filing date of U.S. patent application Ser. No. 15/221,426, filed Jul. 27, 2016, issued as U.S. Pat. No. 10,331,643, entitled “GENERATING CONTEXT TREE DATA BASED ON A TAILORED DATA MODEL,” which is a continuation of, and claims a benefit of priority under 35 U.S.C. 120 of the filing date of U.S. patent application Ser. No. 13/626,199, filed Sep. 25, 2012, now issued as U.S. Pat. No. 9,430,548, entitled “GENERATING CONTEXT TREE DATA BASED ON A TAILORED DATA MODEL”, the entire contents of which are hereby expressly incorporated by reference for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
5537618 | Boulton et al. | Jul 1996 | A |
6028602 | Weidenfeller | Feb 2000 | A |
6154750 | Roberge | Nov 2000 | A |
6513059 | Gupta et al. | Jan 2003 | B1 |
6564251 | Katariya et al. | May 2003 | B2 |
6750883 | Parupudi et al. | Jun 2004 | B1 |
6976211 | Lection et al. | Dec 2005 | B2 |
7076243 | Parupudi et al. | Jul 2006 | B2 |
7165080 | Kotcheff et al. | Jan 2007 | B2 |
7483944 | Parupudi et al. | Jan 2009 | B2 |
7624009 | Seroussi et al. | Nov 2009 | B2 |
7734625 | Weinberg et al. | Jun 2010 | B2 |
7814110 | Anelle et al. | Oct 2010 | B2 |
7844640 | Bender | Nov 2010 | B2 |
7899833 | Stevens et al. | Mar 2011 | B2 |
7917815 | Rapp et al. | Mar 2011 | B2 |
7991788 | Dettinger | Aug 2011 | B2 |
8015541 | Srinivasan et al. | Sep 2011 | B1 |
8028239 | Al-Hilali | Sep 2011 | B1 |
8230384 | Krishnan et al. | Jul 2012 | B1 |
8261194 | Billiard | Sep 2012 | B2 |
8280873 | Brewer et al. | Oct 2012 | B1 |
8290966 | Vignet | Oct 2012 | B2 |
8635594 | Krishnan et al. | Jan 2014 | B1 |
8670544 | Tovino | Mar 2014 | B2 |
8849870 | Sathish | Sep 2014 | B2 |
8874593 | Unger et al. | Oct 2014 | B2 |
9285800 | Plache et al. | Mar 2016 | B2 |
9430548 | Jakumar et al. | Aug 2016 | B1 |
9760067 | Havlena | Sep 2017 | B2 |
10331643 | Jakumar et al. | Jun 2019 | B2 |
20010003455 | Grobler | Jun 2001 | A1 |
20010049671 | Joerg | Dec 2001 | A1 |
20020059003 | Ruth et al. | May 2002 | A1 |
20020107828 | Harvey | Aug 2002 | A1 |
20020116454 | Dyla et al. | Aug 2002 | A1 |
20020123986 | Leathers | Sep 2002 | A1 |
20030061015 | Ben-Gal et al. | Mar 2003 | A1 |
20030069737 | Koubenski et al. | Apr 2003 | A1 |
20030132853 | Ebert | Jul 2003 | A1 |
20030139968 | Ebert | Jul 2003 | A1 |
20030212698 | Mani et al. | Nov 2003 | A1 |
20040059802 | Jacquemot et al. | Mar 2004 | A1 |
20040060003 | Mani et al. | Mar 2004 | A1 |
20040060004 | Mani et al. | Mar 2004 | A1 |
20040111389 | Pudipeddi et al. | Jun 2004 | A1 |
20040158455 | Spivack et al. | Aug 2004 | A1 |
20040158575 | Jacquemot et al. | Aug 2004 | A1 |
20040230557 | Bales | Nov 2004 | A1 |
20040230947 | Bales | Nov 2004 | A1 |
20040260695 | Brili | Dec 2004 | A1 |
20040268295 | Culter | Dec 2004 | A1 |
20050020307 | Parupudi | Jan 2005 | A1 |
20050022129 | Borenstein et al. | Jan 2005 | A1 |
20050131927 | Fildebrandt et al. | Jun 2005 | A1 |
20050268277 | Reeder et al. | Dec 2005 | A1 |
20060069717 | Mamou et al. | Mar 2006 | A1 |
20060031118 | Morris et al. | Apr 2006 | A1 |
20060074879 | Covington et al. | Apr 2006 | A1 |
20060100797 | Poorman et al. | May 2006 | A1 |
20060294089 | Devost et al. | Dec 2006 | A1 |
20070035398 | Vesel | Feb 2007 | A1 |
20070038601 | Guha | Feb 2007 | A1 |
20070050343 | Siddaramappa et al. | Mar 2007 | A1 |
20070050708 | Gupta et al. | Mar 2007 | A1 |
20070075995 | Reichard | Apr 2007 | A1 |
20070079257 | Vignet | Apr 2007 | A1 |
20070083933 | Venkatapathy et al. | Apr 2007 | A1 |
20070094060 | Apps et al. | Apr 2007 | A1 |
20070226187 | Beatty | Sep 2007 | A1 |
20070234277 | Lei et al. | Oct 2007 | A1 |
20070239508 | Fazal et al. | Oct 2007 | A1 |
20070290815 | Delis | Dec 2007 | A1 |
20080016182 | Sathish et al. | Jan 2008 | A1 |
20080077613 | Hay | Mar 2008 | A1 |
20080120129 | Seubert | May 2008 | A1 |
20080126027 | Altenhofen | May 2008 | A1 |
20080133586 | Sathish et al. | Jun 2008 | A1 |
20080148231 | Weber | Jun 2008 | A1 |
20080155432 | Anelle et al. | Jun 2008 | A1 |
20080294596 | Xiong et al. | Nov 2008 | A1 |
20090024426 | Chang et al. | Jan 2009 | A1 |
20090037832 | Falchuk et al. | Feb 2009 | A1 |
20090063213 | Benayon et al. | Mar 2009 | A1 |
20090089078 | Bursey | Apr 2009 | A1 |
20090089740 | Crisman | Apr 2009 | A1 |
20090106732 | Hanson et al. | Apr 2009 | A1 |
20090112922 | Barinaga | Apr 2009 | A1 |
20090157587 | Lim et al. | Jun 2009 | A1 |
20090172602 | Chusing et al. | Jul 2009 | A1 |
20090172648 | Gerginov et al. | Jul 2009 | A1 |
20090187552 | Pinel | Jul 2009 | A1 |
20090222789 | Frank et al. | Sep 2009 | A1 |
20090222793 | Frank et al. | Sep 2009 | A1 |
20090222795 | Frank et al. | Sep 2009 | A1 |
20090254574 | De et al. | Oct 2009 | A1 |
20090282385 | Boland et al. | Nov 2009 | A1 |
20090287670 | Hou et al. | Nov 2009 | A1 |
20090300646 | Wagner et al. | Dec 2009 | A1 |
20090322756 | Robertson et al. | Dec 2009 | A1 |
20100058113 | Rapp et al. | Mar 2010 | A1 |
20100153149 | Prigge | Jun 2010 | A1 |
20100153150 | Prigge | Jun 2010 | A1 |
20100161101 | Pouyez et al. | Jun 2010 | A1 |
20110060424 | Havlena | Mar 2011 | A1 |
20110083162 | Sathish | Apr 2011 | A1 |
20110093815 | Gobeil | Apr 2011 | A1 |
20110093818 | Sathish | Apr 2011 | A1 |
20110125743 | Immonen | May 2011 | A1 |
20110153624 | Aigner et al. | Jun 2011 | A1 |
20110225526 | Baret et al. | Sep 2011 | A1 |
20110131049 | Sathish | Dec 2011 | A1 |
20120016880 | Abrahams | Jan 2012 | A1 |
20120041979 | Lee | Feb 2012 | A1 |
20120054226 | Cao et al. | Mar 2012 | A1 |
20120095734 | Moll | Apr 2012 | A1 |
20120233533 | Yucel | Sep 2012 | A1 |
20120246105 | James | Sep 2012 | A1 |
20120266074 | Bhoovaraghavan et al. | Oct 2012 | A1 |
20120323956 | Dumitru et al. | Dec 2012 | A1 |
20130024508 | Sathish et al. | Jan 2013 | A1 |
20130041914 | Hadlock et al. | Feb 2013 | A1 |
20130061161 | Schwartz et al. | Mar 2013 | A1 |
20130080641 | Lui et al. | Mar 2013 | A1 |
20130086040 | Patadia et al. | Apr 2013 | A1 |
20130159036 | Keil | Jun 2013 | A1 |
20130159063 | Fessler et al. | Jun 2013 | A1 |
20130159964 | Szpak | Jun 2013 | A1 |
20130173657 | James et al. | Jul 2013 | A1 |
20130187953 | Matsumura et al. | Jul 2013 | A1 |
20140006868 | Grey et al. | Jan 2014 | A1 |
20140033089 | Nos et al. | Jan 2014 | A1 |
20140046694 | White | Feb 2014 | A1 |
20140359422 | Bassett, Jr. et al. | Dec 2014 | A1 |
20160335301 | Jakumar et al. | Nov 2016 | A1 |
Entry |
---|
Office Action issued for U.S. Appl. No. 13/626,199, dated Nov. 19, 2013, 21 pages. |
Office Action issued for U.S. Appl. No. 13/626,199, dated Apr. 2, 2015, 18 pages. |
Office Action issued for U.S. Appl. No. 13/626,199, dated Nov. 16, 2015, 28 pages. |
Nguyen et al., “Context Tree Maximizing Reinforcement Learning”, In Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence, pp. 1075-1082, 2012. |
Notice of Allowance issued for U.S. Appl. No. 13/626,199, dated May 5, 2016, 20 pages. |
Office Action issued for U.S. Appl. No. 15/221,426, dated Apr. 16, 2018, 30 pages. |
Office Action issued for U.S. Appl. No. 15/221,426, dated Sep. 26, 2018, 27 pages. |
Notice of Allowance issued for U.S. Appl. No. 15/221,426, dated Feb. 5, 2019, 19 pages. |
Number | Date | Country | |
---|---|---|---|
20190272263 A1 | Sep 2019 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15221426 | Jul 2016 | US |
Child | 16418479 | US | |
Parent | 13626199 | Sep 2012 | US |
Child | 15221426 | US |