Source: https://patents.google.com/patent/US8578399B2/en
Timestamp: 2018-08-20 03:53:09
Document Index: 588077272

Matched Legal Cases: ['art 2', 'Application No. 2005202285', 'Application No. 2', 'Application No. 1154', 'Application No. 1154', 'Application No. 200510089652', 'Application No. 200510082420', 'Application No. 200510089652', 'Application No. 200510082407', 'Application No. 200510089652', 'Application No. 05104661', 'Application No. 05104477', 'Application No. 05104661', 'Application No. 168620', 'Application No. 2005', 'Application No. 10', 'Application No. 2005', 'Application No. 2005', 'Application No. 2005', 'Application No. 540421', 'Application No. 540421', 'Application No. 1', 'Application No. 2005116632', 'Application No. 2005116530', 'Application No. 2005116530', 'Application No. 2005116632', 'Application No. 2005116530']

US8578399B2 - Method, system, and apparatus for providing access to workbook models through remote function cells - Google Patents
Method, system, and apparatus for providing access to workbook models through remote function cells Download PDF
US8578399B2
US8578399B2 US10903781 US90378104A US8578399B2 US 8578399 B2 US8578399 B2 US 8578399B2 US 10903781 US10903781 US 10903781 US 90378104 A US90378104 A US 90378104A US 8578399 B2 US8578399 B2 US 8578399B2
US10903781
US20090235154A1 (en )
This application is related to U.S. patent application Ser. No. 10/306,937 (U.S. Pat. No. 7,266,763) filed Nov. 26, 2002 and entitled “USER-DEFINED SPREADSHEET FUNCTIONS”, which is expressly incorporated herein by reference.
Referring now to FIG. 3, an illustrative routine 300 will be described illustrating a process performed by the spreadsheet client application program 4 for publishing a workbook model to a server computer as a workbook function. When reading the discussion of the routines presented herein, it should be appreciated that the logical operations of various embodiments of the present invention are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance requirements of the computing system implementing the invention. Accordingly, the logical operations illustrated in FIGS. 3, 5, and 7, and making up the embodiments of the present invention described herein are referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims set forth herein.
providing a facility for defining a first workbook model;
providing a plurality of input fields for receiving metadata associated with the workbook function;
associating the metadata with a workbook function, the metadata comprising a description of the workbook function received from a first input field of the plurality of input fields and a location for publishing the workbook function received from a second input field of the plurality of input fields;
providing a first list box identifying each input to the workbook function, the first list box being enabled to associate a first set of workbook cells with each input identified by the first list box;
providing a second list box identifying each output to the workbook function, the second list box being enabled to associate a second set of workbook cells with each output identified by the second list box;
receiving a request to make the first workbook model available through a first remote function call, the request including data defining the workbook function;
publishing the first workbook model, the associated metadata, and the data defining the workbook function to a server computer operative to receive and respond to remote calls for the workbook function; and
providing a list of published functions comprising the workbook function and the associated metadata in response to a discovery request.
2. The method of claim 1, wherein including the data defining the workbook function comprises including, within the data, a name for the workbook function.
3. The method of claim 2, wherein including the data defining the workbook function comprises including, within the data, an identity of the first set of workbook cells that are to be utilized as inputs to the workbook function and a name corresponding to each input cell.
4. The method of claim 3, wherein including the data defining the workbook function comprises including, within the data, identity of the second set of workbook cells that are to be utilized as outputs for the workbook function and a name corresponding to each output cell.
5. The method of claim 4, further comprising placing the first remote function call to the server computer with at least one input parameter and receiving from the server computer at least one output parameter.
receiving a request to call a remote workbook function from within a context of a second workbook model;
in response to the request, receiving an identity of the remote workbook function to be called, the identity of a first set of cells in the second workbook to be used for inputs to the remote workbook function, and the identity of a second set of cells in the second workbook where outputs from the remote workbook function are to be placed;
making a second remote function call to the remote workbook function with the contents of the first set of cells to be used for inputs;
in response to the call, receiving at least one output from the remote workbook function; and
placing the at least one output received from the remote workbook function in the second set of cells where outputs from the remote workbook function are to be placed.
7. A computer-readable storage medium having computer-executable instructions stored thereon which, when executed by a computer, will cause the computer to perform the method of claim 1.
8. A computer-controlled apparatus configured to perform the method of claim 1.
receiving a workbook, a function definition for the workbook, and metadata describing the workbook function and a location for publishing the workbook function, wherein receiving the workbook, the function definition for the workbook, and the metadata comprises:
receiving the description of the workbook function from a first user input field;
receiving the location for publishing the workbook function from a second user input field;
receiving a name of the workbook function from a third user input field;
receiving, from a first list box, a description of a first set of cells in the workbook that are to be used as inputs for the workbook function, and
receiving, from a second list box, a description of a second set of cells in the workbook that are to be used as outputs for the function;
receiving the remote function call directed toward the workbook function, the remote function call including at least one input parameter;
loading the workbook;
populating at least one of a first set of cells in the workbook that are to be used as inputs for the workbook function with the at least one input parameter;
retrieving the contents of the second set of cells in the workbook that are to be used as outputs for the function; and
returning the contents as a reply to the remote function call.
10. The method of claim 9, further comprising prior to calculating the workbook:
determining whether the workbook includes a reference to one of: an external data source and another workbook function; and
in response to determining that the workbook includes the reference to one of: the external data source and the other workbook function, querying the data source for any referenced data and populating the workbook with the referenced data.
11. A computer-readable storage medium having computer-executable instructions stored thereon which, when executed by a computer, will cause the computer to perform the method of claim 9.
provide a facility for defining the workbook model comprising a workbook function, the facility comprising:
a plurality of input fields for receiving metadata associated with the workbook function, and
a plurality of list boxes for receiving a function definition associated with the workbook function, the plurality of list boxes comprising:
a first list box identifying each input to the workbook function, wherein a first set of workbook cells are associated with each input identified by the first list box;
a second list box identifying each output to the workbook function, wherein a second set of workbook cells are associated with each output identified by the second list box;
receive a request to make the workbook model available through the remote function call, the request including the function definition and the metadata associated with the workbook function and
publish the workbook model, the metadata associated with the function definition, and the function definition to a server computer; and
the server computer being operative to:
receive the workbook model, the function definition, and the metadata from the client computer;
provide a list of published functions comprising the function and the associated metadata in response to a discovery request;
receive the remote function call including at least one input parameter;
load the workbook;
populate cells specified in the function definition with the at least one input parameter;
calculate the workbook;
retrieve contents of a first set of cells specified by the function definition that are to be used as inputs for the function; and
return the contents of a second set of cells as a reply to the remote function call.
14. The system of claim 13, wherein the function definition defines a name for the function, an identity of the second set of cells that are to be utilized as inputs to the function, a name corresponding to each input cell, and an identity of the first set of workbook cells that are to be utilized as the outputs for the function and a name corresponding to each output cell.
in response to determining that the workbook includes the reference to the external data source, query the data source for any referenced data and populating the workbook with the references data.
US10903781 2004-07-30 2004-07-30 Method, system, and apparatus for providing access to workbook models through remote function cells Active 2028-12-24 US8578399B2 (en)
CA 2508537 CA2508537C (en) 2004-07-30 2005-05-27 Method, system, and apparatus for providing access to workbook models through remote function calls
KR20050045680A KR101153002B1 (en) 2004-07-30 2005-05-30 Method, system, and apparatus for providing access to workbook models through remote function calls
RU2005116530A RU2408074C2 (en) 2004-07-30 2005-05-30 Method, system and apparatus for providing access to workbook models through remote function calls
EP20050104620 EP1622016A3 (en) 2004-07-30 2005-05-30 Method, System, and Apparatus for Providing Access to Workbook Models Through Remote Function Calls
JP2005158659A JP5154002B2 (en) 2004-07-30 2005-05-31 Method of providing access to workbook models by remote function call, the system, and device
CN 200510082407 CN1728127B (en) 2004-07-30 2005-06-30 Method, system, and apparatus for providing access to workbook models through remote function calls
US13620854 Continuation US9317495B2 (en) 2004-07-30 2012-09-15 Method, system, and apparatus for providing access to workbook models through remote function calls
US20090235154A1 true US20090235154A1 (en) 2009-09-17
US8578399B2 true US8578399B2 (en) 2013-11-05
US20130013995A1 (en) 2004-07-30 2013-01-10 Microsoft Corporation Method, System, and Apparatus for Providing Access to Workbook Models Through Remote Function Calls
"Introduction to Pro/ENGINEER: Contents," Jan. 22, 2010, 449 pgs., http://silverstone.fortunecity.com/daytona/344/proehelp/fundamentals/introtec.htm.
Akihiko Matsumoto, "Feature: Solve difficult challenges—C/S, EPR, DW, Integrated data of Web, Part 2, Methods for total data integration seen in U.S.," Network Computing, RIC Telecom, Japan, Oct. 1, 1997, vol. 9, No. 10, pp. 27-31.
Australian Examination Report dated Jan. 13, 2010 in 2005202284.
Australian Examiner's First Office Action dated Feb. 15, 2010 in Application No. 2005202285.
Australian Second Examination Report dated Apr. 23, 2010 in 2005202284.
Australian Third Examination Report dated Sep. 3, 2010 in 2005202284.
Bill Fane, "Your Table is Waiting . . . ", 1999, General OneFile, 3 pgs.
Bill Jeffries, "Updating Excel from the Web," Oct. 21, 1999, 4 pgs., http://mediakit.internet.com/icom-c . . . .
Bill Jeffries, "Updating Excel from the Web," Oct. 21, 1999, 4 pgs., http://mediakit.internet.com/icom—c . . . .
Canadian Office Action dated Nov. 27, 2012 in Application No. 2,508,537, 2 pgs.
Chilean First Office Action dated late 2007-early 2008 in Application No. 1154-2005.
Chilean Second Office Action dated Aug. 2009 in Application No. 1154-2005.
Chinese First Office Action dated Jan. 18, 2008 in Application No. 200510089652.8.
Chinese First Office Action dated Mar. 14, 2008 in Application No. 200510082420.X.
Chinese Second Office Action dated Jul. 4, 2008 in Application No. 200510089652.8.
Chinese Third Office Action dated May 12, 2010 in Application No. 200510082407.4.
Chinese Third Office Action dated Oct. 10, 2008 in Application No. 200510089652.8.
Discoverer 4i Plus User's Guide Release 4.1, A86731-01, Dec. 21, 2010, http://download.oracle.com/docs/html/A86731-01/toc.htm, 171 pgs.
Discoverer 4i Plus User's Guide Release 4.1, A86731-01, Dec. 21, 2010, http://download.oracle.com/docs/html/A86731—01/toc.htm, 171 pgs.
Erik Hatcher, "Remote scripting using a servlet," Jan. 2, 2001, http://www.ibm.com/developerworks/web/library/wa-resc/, 7 pgs.
European Examination Report dated Feb. 13, 2007 in Application No. 05104661.3-1527.
European Examination Report dated Mar. 1, 2007 in Application No. 05104477.4-2201.
European Search Report dated Jun. 28, 2006 in Application No. 05104661.3-2201.
Israeli Examination Report dated Aug. 3, 2009 in Application No. 168620.
Japanese Notice of Final Rejection dated Aug. 3, 2012 in Application No. 2005-158659, 4pgs., considered the attached translation.
Japanese Notice of Final Rejection dated Dec. 15, 2011 in Application No. 10-2005-0045680, 7 pgs.
Japanese Notice of Rejection dated Feb. 15, 2011 in Application No. 2005-158658.
Japanese Notice of Rejection dated Nov. 19, 2010 in Application No. 2005-161207.
Japanese Notice of Rejection dated Oct. 4, 2011 in Application No. 2005-158659.
Karev, Ivan, "Portal Integration with ERP Systems: A SAP JavaConnector (JCo) Case Study", http://lvk.cs.msu.su/old/abstr/int-3.pdf, Moscow, 2003, 2 pp.
Korean Office Action dated Jun. 13, 2011 in 10-2005-45680.
Korean Office Action dated Jun. 16, 2011 in 10-2005-45672.
Laurent Longre, "Hidden Name Space in Excel", 1998, 6 pgs, http://www.cpearson.com/excel/hidd . . . .
Louis Gary Lamit, "Pro/Engineer® 2000i2," 13 pgs., Mar. 7, 2000.
Mexican Office Action dated May 7, 2010 in Application No. Pa/a/2005/005799.
Microsoft Solutions, "Digital Dashboard Overview," Aug. 2010, 2 pgs., http://web.archive.org/web/20000816044747/www.microsoft.com/solutions/km/DDoverview.htm.
Microsoft Solutions, "Digital Dashboard," Aug. 2010, 2 pgs., http://web.archive.org/web/20000816044739/www.microsoft.com/solutions/km/digitaldashboard.htm.
Microsoft Solutions, "What's New in the Digital Dashboard Resource Kit 2.0," http://web.archive.org/web/20000816044804/www.microsoft.com/solutions/kd/WhatsNew.htm, 2 pgs., Aug. 18, 2010.
New Zealand Examination Report dated Jun. 7, 2005 in Application No. 540421.
New Zealand Second Examination Report dated Mar. 29, 2006 in Application No. 540421.
Person, R., Microsoft Excel 97 in the original St. Petersburg, BHV—St. Petersburg, 1997, vol. 1, pp. 15, 66, 249-253.
Philippine Examination Report dated Mar. 11, 2010 in Application No. 1-2005-00275.
Rodnikov, D. I., "Formulas and Functions", section "The Concept Function", http://revolution.allbest.ru/programming/00004026-0,html, St. Petersburg, 2003, 15 pp.
Rodnikov, D. I., "Formulas and Functions", section "The Concept Function", http://revolution.allbest.ru/programming/00004026—0,html, St. Petersburg, 2003, 15 pp.
Russian Decision on Grant dated Jun. 10, 2010 in Application No. 2005116632/09(018975).
Russian Decision on Grant dated Jun. 21, 2010 in Application No. 2005116530/09(018863).
Russian Office Action dated Dec. 23, 2009 in Application No. 2005116530/09(018863).
Russian Office Action dated Jan. 18, 2010 in Application No. 2005116632/09(018975).
Russian Official Action dated May 15, 2009 in Application No. 2005116530/09(018863).
Singapore/Australian Search Report dated Aug. 28, 2006 in Application No. SG200503165-3.
Singapore/Australian Second Written Opinion dated Apr. 20, 2007 in Application No. SG200503165-3.
Singapore/Australian Written Opinion dated Sep. 12, 2006 in Application No. SG200503165-3.
TORNDIAG.XLS, 6 pgs., Oct. 1998, http://home.uchicago.edu/~rmyerson . . . .
TORNDIAG.XLS, 6 pgs., Oct. 1998, http://home.uchicago.edu/˜rmyerson . . . .
U.S. Final Office Action dated Nov. 14, 2008 in U.S. Appl. No. 10/858,175.
U.S. Office Action dated Apr. 3, 2009 in U.S. Appl. No. 10/858,175.
U.S. Office Action dated May 23, 2008 in U.S. Appl. No. 10/858,175.
US9317495B2 (en) 2016-04-19 grant
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KHEN, DAN Y.;ELLIS, CHARLES D.;ASNASH, LIVIU;AND OTHERS;SIGNING DATES FROM 20040729 TO 20040730;REEL/FRAME:015278/0320