RU2408074C2 - Способ, система и устройство для предоставления доступа к моделям рабочих книг через удаленные вызовы функций - Google Patents
Способ, система и устройство для предоставления доступа к моделям рабочих книг через удаленные вызовы функций Download PDFInfo
- Publication number
- RU2408074C2 RU2408074C2 RU2005116530/08A RU2005116530A RU2408074C2 RU 2408074 C2 RU2408074 C2 RU 2408074C2 RU 2005116530/08 A RU2005116530/08 A RU 2005116530/08A RU 2005116530 A RU2005116530 A RU 2005116530A RU 2408074 C2 RU2408074 C2 RU 2408074C2
- Authority
- RU
- Russia
- Prior art keywords
- workbook
- function
- remote
- cells
- computer
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
Изобретение относится к способу, системе и устройству для показа и вызова моделей рабочих книг через удаленные вызовы функций. Техническим результатом является возможность выставления модели рабочей книги для использования без показа осуществления модели рабочей книги. Согласно системе клиентский компьютер исполняет программу табличных вычислений для создания модели рабочей книги. Модель рабочей книги может публиковаться на серверном компьютере вместе с данными, определяющими имя функции и ячейки, которые должны использоваться как входы и выходы для модели. Система также включает в себя серверный компьютер, который принимает и отвечает на удаленные вызовы функций, направленные к функциям рабочих книг. Когда на серверном компьютере принимается вызов функции для функции рабочей книги, серверный компьютер заполняет ячейки в рабочей книге, идентифицированные как входы, входными параметрами, принятыми с вызовом функции, и пересчитывает рабочую книгу. Данные, содержащиеся в выходных ячейках, затем возвращаются как ответ удаленному вызову функции. Способ описывает работу данной системы. 7 н. и 7 з.п. ф-лы, 8 ил.
Description
Эта заявка связана с заявкой на патент США №10/306937, зарегистрированной в ноябре 26, 2002 и озаглавленной "USER-DEFINED SPREADSHEET FUNCTIONS", которая включена в настоящее описание в качестве ссылки.
Уровень техники
Много полезных свойств прикладной программы табличных вычислений лежит в способности пользователя собирать данные и алгоритмические операции в организованной структуре, такой как рабочая таблица (также указываемая здесь как "динамическая таблица"), без необходимости в профессиональных способностях компьютерного программирования. Непрограммист-пользователь может определять сложные отношения данных, включающие в себя операции суммирования, операции амортизации и так далее, без изучения какого-либо языка программирования. Таким образом, непрограммист может использовать возможности прикладной программы табличных вычислений, чтобы моделировать сложные числовые и финансовые отношения.
Одна из проблем с определением сложных моделей в рамках прикладной программы табличных вычислений состоит в том, что эти модели не инкапсулируются или категоризируются, чтобы поддерживать использование другими пользователями. Чтобы позволить другим пользователям осуществлять доступ к модели, обычно необходимо использовать услуги программиста, чтобы программировать эту модель, используя некоторый компьютерный язык программирования. Затем скомпилированная версия модели может публиковаться и использоваться другими пользователями. Программирование модели на каком-либо языке программирования, однако, требует услуг квалифицированного программиста и поэтому может являться очень времяпотребляющим и дорогостоящим.
Альтернативно, рабочая книга (коллекция рабочих таблиц или динамических таблиц), содержащая модель, может просто совместно использоваться с другими пользователями традиционным способом, таким как через совместное использование файлов или через электронную почту. Однако традиционным способом совместное использование рабочей книги, содержащей какую-либо модель, показывает осуществление модели каждому пользователю, который имеет доступ к рабочей книге. Может являться желательным скрывать осуществление какой-либо модели от пользователя, например, где осуществление этой модели включает в себя коммерческие алгоритмы и вычисления, но где, тем не менее, необходимо разрешить пользователям использовать эту модель. Современные прикладные программы табличных вычислений не предоставляют какого-либо средства для разрешения доступа к модели без разрешения доступа к лежащему в основе осуществлению.
Именно в отношении этих и других рассуждений были созданы различные варианты осуществления настоящего изобретения.
Раскрытие изобретения
В соответствии с настоящим изобретением вышеописанные и другие проблемы решаются способом, системой и устройством для предоставления доступа к моделям рабочих книг через удаленные вызовы функций. Посредством использования вариантов осуществления этого изобретения возможно совместно использовать рабочую книгу ("модель рабочей книги" или "модель") с другими пользователями без необходимости программировать модель на каком-либо традиционном языке программирования. Более того, модель рабочей книги выставляется для использования без показа, лежащего в основе осуществления модели.
Согласно одному аспекту предлагаемого изобретения предлагается система для предоставления доступа к моделям рабочих книг через удаленные вызовы функций. Согласно одному варианту осуществления система включает в себя клиентский компьютер, способный исполнять прикладную программу табличных вычислений для создания рабочей книги. Рабочая книга может включать в себя одну или более ячеек, имеющих данные, там хранимые, и может включать в себя предоставляемые приложением или от третьей стороны встраиваемые функции, используемые, чтобы определять модель. Рабочие книги могут также содержать объекты, которые доставляют данные из внешних источников данных (таких, как таблицы запросов или сводные таблицы), и могут также содержать вызовы к другим функциям рабочих книг. Ноль или более ячеек внутри рабочей книги могут определяться как входы для модели, и одна или более ячеек внутри рабочей книги могут определяться как выходы из модели.
Прикладная программа табличных вычислений может также быть работоспособной, чтобы принимать пользовательский запрос сделать модель рабочей книги доступной через один или более удаленных вызовов функций. В ответ на такой запрос прикладная программа табличных вычислений работоспособна, чтобы принимать данные от пользователя, определяющие новую функцию рабочей книги. В частности, пользователь может предоставлять имя для функции и определять входы, если какие-либо имеются, и по меньшей мере один выход из этой функции. Например, пользователь может идентифицировать ячейки внутри рабочей книги, которые должны использоваться как входы для функции, и предоставить имя для каждого входа. Входы могут иметь устанавливаемые по умолчанию значения и потенциально определяться как необязательные (т.е. если они не передаются, то используются устанавливаемые по умолчанию данные). Пользователь может также идентифицировать ячейки внутри рабочей книги, которые должны использоваться как выходы из функции, и предоставить имя для каждого выхода. Пользователь может также определять серверное местоположение, в котором эта новая функция рабочей книги должна публиковаться. Как только пользователь предоставляет эти данные, рабочая книга и данные, определяющие эту функцию, могут публиковаться на серверном компьютере, который является работоспособным, чтобы принимать и отвечать на удаленные вызовы функций для опубликованной функции рабочей книги.
Прикладная программа табличных вычислений дополнительно работоспособна, чтобы вызывать удаленную функцию рабочей книги изнутри контекста рабочей книги. Входы в удаленную функцию могут идентифицироваться как ячейки внутри рабочей книги или параметры внутри подформулы. Как только эта информация предоставлена, прикладная программа табличных вычислений работоспособна, чтобы делать удаленный вызов функции к функции рабочей книги с предоставленными входами. Удаленный вызов функции может содержать вызов Web-служб, делаемый, используя простой протокол доступа к объектам (SOAP). Также могут использоваться другие типы удаленных вызовов функций.
Когда в прикладной программе табличных вычислений принимается ответ от удаленной функции, прикладная программа табличных вычислений дополнительно работоспособна, чтобы принимать выходы из этой функции. Прикладная программа табличных вычислений может помещать выходы из функции в ячейки внутри рабочей книги, идентифицированные пользователем для выходов функции, или может использовать эти выходы внутри какой-либо подформулы. Таким образом, модель может определяться внутри рабочей книги, опубликованной на серверном компьютере, и вызываться без показа вызывающему приложению, лежащего в основе осуществления этой модели.
Согласно аспектам предлагаемого изобретения система также включает в себя серверный компьютер, обеспечивающий исполнение серверной программы для приема и ответа на удаленные вызовы функций, направленные к функциям рабочей книги. В частности, серверный компьютер является работоспособным, чтобы принимать и хранить рабочие книги и определения функций, ассоциированные с рабочими книгами, которые определяют удаленные вызовы функций, которые могут делаться направленными к этой рабочей книге. Определения функций идентифицируют имя функции рабочей книги, описание параметров, которые должны использоваться как входы для этой функции, и описание параметров, которые должны использоваться как выходы для этой функции. Серверный компьютер является также работоспособным, чтобы показывать функции рабочей книги так, чтобы эти функции могли обнаруживаться клиентами, которые желают сделать удаленный вызов. Как только функции рабочей книги показаны, клиентские приложения могут обнаруживать и вызывать эти функции рабочей книги через использование удаленного вызова функции.
Когда на серверном компьютере принимается вызов для функции рабочей книги, серверный компьютер является работоспособным, чтобы загружать эту рабочую книгу. Как только рабочая книга загружена, серверный компьютер заполняет ячейки в этой рабочей книге, идентифицированные как входы, входными параметрами, принятыми с вызовом функции. Если рабочая книга содержит ссылку на другой источник данных, любые данные, необходимые, чтобы пересчитать рабочую книгу, могут извлекаться из источника данных до пересчета. Могут также вызываться ссылки на другие функции рабочей книги. Как только рабочая книга пересчитывается, серверный компьютер является работоспособным, чтобы извлекать из этой рабочей книги контенты ячеек, определенных как выходы для функции. Данные, содержащиеся в этих ячейках, затем возвращаются как ответ на удаленный вызов функции. Любой тип приложения, который поддерживает удаленные вызовы функций, может использоваться, чтобы вызывать функцию рабочей книги на серверном компьютере этим способом, включая сюда вызовы, принимаемые от других серверных компьютеров. Следует принять во внимание, что может использоваться единичный компьютер, чтобы осуществлять функциональность как клиентских, так и серверных компьютеров, как здесь описывается.
Предлагаемое изобретение может реализовываться как компьютерный процесс, вычислительное устройство или как предмет производства, такой как компьютерный программный продукт или машиночитаемые носители. Компьютерный программный продукт может являться компьютерными запоминающими носителями, читаемыми компьютерной системой и кодирующими компьютерную программу инструкций для исполнения компьютерного процесса. Компьютерный программный продукт может также являться распространяющимся сигналом на носителе, читаемом вычислительной системой, и кодирующим компьютерную программу инструкций для исполнения компьютерного процесса.
Эти и другие признаки, так же как преимущества, которые характеризуют настоящее изобретение, будут очевидны из последующего подробного описания и связанных с ним чертежей.
Краткое описание чертежей
Фиг.1 - это диаграмма компьютерной сети, показывающая аспекты нескольких компьютерных систем, используемых в и обеспечиваемых различными вариантами этого изобретения.
Фиг.2 - это диаграмма архитектуры компьютерной системы, показывающая аспекты клиентской компьютерной системы, используемой в и обеспечиваемой различными вариантами осуществления этого изобретения.
Фиг.3 - это диаграмма последовательности операций, показывающая аспекты процесса для публикации функции рабочей книги на серверном компьютере согласно одному варианту осуществления этого изобретения.
Фиг.4 - это экранная диаграмма, показывающая аспект этого изобретения для предоставления средства, посредством которого пользователь может определять входные и выходные ячейки для функции рабочей книги согласно одному варианту осуществления этого изобретения.
Фиг.5A и 5B - это диаграммы последовательности операций, показывающие аспекты процессов для определения и вызова функции рабочей книги через Web-службы согласно одному варианту осуществления этого изобретения соответственно.
Фиг.6 - это экранная диаграмма, показывающая аспект этого изобретения для предоставления средства, посредством которого пользователь может определять ячейки для использования в качестве входов и выходов при вызове функции рабочей книги через удаленный вызов функции.
Фиг.7 - это диаграмма последовательности операций, показывающая этапы, выполняемые серверным компьютером, при принятии и ответе на удаленные вызовы функций для моделей рабочих книг согласно одному варианту осуществления этого изобретения.
Фиг.8 - это экранная диаграмма, показывающая контенты рабочей книги после вызова функции рабочей книги через удаленный вызов функции.
Осуществление изобретения
Ссылаясь теперь на чертежи, в которых одинаковые ссылочные позиции представляют одинаковые элементы, будут описываться различные аспекты настоящего изобретения. В частности, фиг.1 и соответствующее обсуждение предназначены, чтобы предоставить краткое, общее описание подходящей вычислительной среды, в которой могут реализовываться варианты осуществления этого изобретения. Пока это изобретение будет описываться в общем контексте программных модулей, которые исполняются в соединении с программными модулями, которые исполняются на некоторой операционной системе на персональном компьютере, специалисты в данной области поймут, что это изобретение может также реализовываться в комбинации с другими типами компьютерных систем и программных модулей.
В общем, программные модули включают в себя процедуры, программы, компоненты, структуры данных и другие типы структур, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Более того, специалисты в данной области примут во внимание, что это изобретение может использоваться на практике с другими конфигурациями компьютерных систем, включая сюда ручные устройства, мультипроцессорные системы, базирующуюся на микропроцессорах или программируемую бытовую электронику, миникомпьютеры, мэйнфреймовые компьютеры и подобное. Это изобретение может также использоваться на практике в распределенных вычислительных средах, где задачи выполняются удаленными обрабатывающими устройствами, которые связаны через сеть связи. В распределенной вычислительной среде программные модули могут располагаться как в локальных, так и в удаленных запоминающих хранящих устройствах.
Ссылаясь теперь на фиг.1, будет описываться иллюстративная операционная среда для нескольких вариантов осуществления этого изобретения. Как показано на фиг.1, сеть 10 связывает клиентский компьютер 2 и несколько серверных компьютеров 12A-12C. Следует принять во внимание, что сеть 10 может содержать любой тип вычислительной сети, включающий в себя локальную сеть или глобальную сеть, такую как Интернет. Сеть 10 предоставляет носитель, чтобы делать возможным взаимодействие между клиентским компьютером 2, серверными компьютерами 12A-12C и потенциально другими компьютерными системами, подсоединенными к или доступными через сеть 10.
Клиентский компьютер 2 содержит общего назначения настольный или портативный компьютер, способный исполнять одну или более прикладных программ. В частности, согласно различным осуществлениям этого изобретения компьютер 2 является работоспособным, чтобы исполнять клиентское приложение 4 табличных вычислений. Как известно специалистам в данной области, программа клиентского приложения 4 табличных вычислений предоставляет функциональность для создания финансовых смет, выполнения финансового предсказания и других финансовых и имеющих отношение к числовым расчетам задач. Чтобы предоставлять эту функциональность, значения данных могут организовываться при использовании ячеек, и отношения между ячейками могут определяться при использовании формул. Изменение в одной ячейке производит изменения со связанными ячейками. Программы табличных вычислений обычно предоставляют возможности вычерчивания графиков для выходных данных и многообразие вариантов выбора форматирования для текста, числовых величин и параметров графиков.
Согласно вариантам осуществления этого изобретения клиентское приложение 4 табличных вычислений может использоваться, чтобы создавать рабочую книгу 6. Рабочая книга 6 - это файл, который создается программой табличных вычислений, который содержит одну или более рабочих таблиц (рабочая таблица может также указываться здесь как "динамическая таблица"). Рабочая таблица - это единичная страница, организованная в строки и столбцы внутри программы табличных вычислений и появляющаяся на экране. Посредством использования этих признаков пользователь может создавать модели финансовых и числовых проблем и решений. Дополнительные детали будут предоставлены ниже в отношении того, как такие модели рабочих книг могут публиковаться и затем использоваться посредством использования удаленных вызовов функций.
Следует принять во внимание, что согласно одному варианту осуществления этого изобретения клиентское приложение 4 табличных вычислений содержит прикладную программу EXCEL табличных вычислений от MICROSOFT CORPORATION of Redmond, Washington. Следует принять во внимание, однако, что различные аспекты изобретения, здесь описываемого, могут использоваться с другими прикладными программами табличных вычислений от других производителей. Более того, хотя изобретательские аспекты, здесь описываемые, представляются в контексте прикладной программы табличных вычислений, следует принять во внимание, что могут также использоваться другие типы прикладных программ для осуществления различных аспектов этого изобретения.
Согласно другим вариантам осуществления этого изобретения клиентский компьютер 2 может также являться работоспособным, чтобы исполнять программу 8, совместимую с простым протоколом доступа к объектам (SOAP). Как будет описано более детально ниже, модели рабочих книг могут публиковаться на серверном компьютере 12A. Серверный компьютер 12A может затем показывать модели рабочих книг внешним вызывающим сторонам посредством использования удаленных вызовов функций. Например, через использование Web-служб могут делаться вызовы к функции рабочей книги, показывающей модель рабочей книги. В одном варианте осуществления вызов Web-службы может содержать удаленный вызов функции, использующий SOAP протокол. SOAP вызов может делаться клиентским приложением 4 табличных вычислений или SOAP-совместимой программой 8. SOAP-совместимая программа 8 может содержать любое приложение или язык программирования, способные делать SOAP удаленный вызов процедуры.
Следует дополнительно принять во внимание, что в альтернативном варианте осуществления функции компьютера 2, описанного выше, могут разделяться между двумя вычислительными устройствами. Например, одно вычислительное устройство может быть работоспособным, чтобы исполнять приложение 4 табличных вычислений для публикации функции рабочей книги, в то время как другое вычислительное устройство может быть работоспособным, чтобы исполнять клиентское приложение, такое как SOAP-совместимая программа 8, для вызова функции рабочей книги. Клиентское приложение может также разделяться в одно приложение, которое создает рабочую книгу, которая вызывает функцию, и в другое, которое фактически выполняет этот вызов. Например, второе может являться сервером, который исполняет рабочую книгу, которая вызывает функцию рабочей книги.
Серверное приложение 13 табличных вычислений содержит базирующуюся на сервере прикладную программу, которая может исполняться без использования экрана дисплея (автономно). Серверное приложение 13 табличных вычислений является работоспособным, чтобы выполнять многие из функций клиентского приложения 4 табличных вычислений на серверном компьютере. Например, серверное приложение 13 табличных вычислений может загружать и вычислять рабочую книгу 6. Как будет здесь описано, серверное приложение 13 табличных вычислений также предоставляет функциональность для принятия рабочей книги и данных, описывающих функцию рабочей книги. Серверное приложение 13 табличных вычислений также показывает функции рабочей книги внешним вызывающим сторонам и принимает и отвечает удаленным вызовам функций. Дополнительные детали относительно различных функций, выполняемых клиентским приложением 4 табличных вычислений и серверным приложением 13 табличных вычислений, будут предоставлены ниже по отношению к фиг.2-8.
Ссылаясь теперь на фиг.2, будет описываться иллюстративная компьютерная архитектура для компьютера 2, используемого в различных осуществлениях этого изобретения. Компьютерная архитектура, показанная на фиг.2, показывает стандартный настольный или портативный компьютер, включающий в себя центральное обрабатывающее устройство 5 (CPU), системную память 7, включающую в себя оперативное запоминающее устройство 9 (RAM) и постоянное запоминающее устройство (ROM) 11, и системную шину 12, которая соединяет память с CPU 5. Базовая система ввода/вывода, содержащая базовые процедуры, которые помогают переносить информацию между элементами внутри компьютера, такие как в течение запуска, хранится в ROM 11. Компьютер 2 дополнительно включает в себя массовое запоминающее устройство 24 для хранения операционной системы 18, прикладных программ и других программных модулей, которые будут описываться более детально ниже.
Массовое запоминающее устройство 24 подсоединяется к CPU 5 через контроллер массовой памяти (не показан), подсоединенный к шине 12. Массовое запоминающее устройство 24 и его ассоциированные машиночитаемые носители предоставляют энергонезависимое хранилище для компьютера 2. Хотя описание машиночитаемых носителей, здесь содержащихся, указывает на массовое запоминающее устройство, такое как жесткий диск или привод CD-ROM, специалистам в данной области следует принять во внимание, что машиночитаемые носители могут являться любыми доступными носителями, к которым компьютер 2 может осуществлять доступ.
В качестве примера, а не ограничения, машиночитаемые носители могут содержать компьютерные запоминающие носители и коммуникационные носители. Компьютерные запоминающие носители включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные запоминающие носители включают в себя, но не ограничены этим, RAM, ROM, EPROM, EEPROM, флэш-память или другую технологию твердотельной памяти, CD-ROM, универсальные цифровые диски (DVD) или другое оптическое хранилище, магнитные кассеты, магнитную ленту, магнитное дисковое хранилище или другие магнитные хранящие устройства или любой другой носитель, который может использоваться, чтобы хранить желаемую информацию, и к которому компьютер 2 может осуществлять доступ.
Согласно различным осуществлениям этого изобретения компьютер 2 может работать в сетевой среде, использующей логические связи с удаленными компьютерами через сеть 10, такую как Интернет. Компьютер 2 может соединяться с сетью 10 через устройство 20 сетевого интерфейса, подсоединенное к шине 12. Следует принять во внимание, что устройство 20 сетевого интерфейса может также использоваться, чтобы соединять с другими типами сетей и удаленными компьютерными системами. Компьютер 2 может также включать в себя контроллер 22 ввода/вывода для принятия и обработки ввода из некоторого числа других устройств, включающих в себя клавиатуру, мышь или электронное перо (не показано на фиг.2). Аналогично, контроллер 22 ввода/вывода может осуществлять вывод на экран дисплея, принтер или другой тип устройства вывода.
Как кратко упомянуто выше, некоторое число программных модулей и файлов данных может храниться в массовом запоминающем устройстве 24 и RAM 9 компьютера 2, включая сюда операционную систему 18, подходящую для управления работой объединенного в сеть персонального компьютера, такую как операционная система WINDOWS XP от MICROSOFT CORPORATION of Redmond, Washington. Массовое запоминающее устройство 24 и RAM 9 могут также хранить один или более программных модулей. В частности, массовое запоминающее устройство 24 и RAM 9 могут хранить клиентское приложение 4 табличных вычислений и SOAP-совместимую программу 8, как описано выше. Массовое запоминающее устройство 24 и RAM 9 могут также хранить рабочую книгу 6, созданную клиентским приложением 4 табличных вычислений.
Следует принять во внимание, что серверные компьютеры 12A-12C могут включать в себя многие из стандартных вычислительных компонентов, показанных на фиг.2 и описанных выше. Дополнительно, серверный компьютер 12A может являться работоспособным, чтобы хранить и исполнять серверное приложение 13 табличных вычислений. Файловый серверный компьютер 12C может являться работоспособным, чтобы хранить и исполнять файловое серверное приложение 28 для принятия и ответа на запросы на файлы, хранящиеся в репозитории 14, такие как рабочая книга 6. Следует принять во внимание, что серверные компьютеры 12A-12C могут включать в себя другие стандартные компоненты, не показанные на фиг.2, но известные специалистам в данной области.
Ссылаясь теперь на фиг.3, будет описываться иллюстративная процедура 300, показывающая процесс, выполняемый программой 4 клиентского приложения табличных вычислений для публикации модели рабочей книги на серверном компьютере как функции рабочей книги. При чтении обсуждения процедур, здесь представленных, следует принимать во внимание, что логические операции различных осуществлений настоящего изобретения реализуются (1) как последовательность компьютерно реализованных действий (acts) или программных модулей, исполняющихся в вычислительной системе, и/или (2) как связанные машинные логические схемы или схемные модули внутри вычислительной системы. Осуществление является предметом выбора, зависящего от требований производительности вычислительной системы, реализующей это изобретение. Соответственно, логические операции, показанные на фиг.3, 5 и 7, и осуществление вариантов осуществления настоящего изобретения, здесь описываемого, указываются по-разному: как операции, структурные устройства, действия или модули. Специалист в данной области техники поймет, что эти операции, структурные устройства, действия и модули могут реализовываться в программном обеспечении, во встроенных программах, в цифровой логике специального назначения и любой комбинации этого без отклонения от сущности и объема настоящего изобретения, как изложено в рамках формулы изобретения, здесь изложенной.
Процедура 300 начинается на операции 302, где пользователь использует клиентское приложение 4 табличных вычислений, чтобы составлять рабочую книгу 6. В частности, как здесь описывается, пользователь может использовать различные средства, предоставляемые клиентским приложением 4 табличных вычислений, чтобы составлять рабочую книгу, содержащую модель. Как здесь определяется, термин модель рабочей книги содержит рабочую книгу, составленную таким образом, чтобы выполнять числовой анализ, и которая включает в себя одну или более ячеек, которые могут использоваться как входы для модели, и одну или более ячеек, которые предоставляют выходы из модели. Различные функции и методологии, которые могут использоваться внутри клиентского приложения 4 табличных вычислений, чтобы создавать модель рабочей книги, являются фактически неограниченными и хорошо известными специалистам в данной области.
От операции 302 процедура 300 переходит на операцию 304, где клиентское приложение 4 табличных вычислений определяет, сделал ли пользователь запрос, чтобы опубликовать модель рабочей книги на серверном компьютере 12A как функцию рабочей книги. Если пользователь не сделал такого запроса, процедура 300 возвращается на операцию 302, где пользователь может продолжить составлять модель. Если пользователь действительно запрашивает опубликовать модель рабочей книги, процедура 300 переходит на операцию 306.
На операции 306 клиентское приложение 4 табличных вычислений принимает от пользователя имя для функции рабочей книги. Это имя идентифицирует рабочую книгу, которая содержит функцию, и саму функцию внутри этой рабочей книги. Имя может позже использоваться вызывающим приложением, чтобы идентифицировать запрошенный удаленный вызов функции. Как только имя принимается, процедура 300 переходит на операцию 308, где одна или более ячеек могут идентифицироваться пользователем как входы для этой функции. На операции 310 пользователь может предоставлять текстовое имя для каждого из входов. Например, пользователь может выбрать ячейку внутри рабочей книги, чтобы идентифицировать эту ячейку как вход, и затем предоставить имя "Цена актива", чтобы идентифицировать этот вход. Как только входные ячейки и их имена идентифицируются пользователем, процедура 300 переходит от операции 310 к операции 312.
На операции 312 одна или более ячеек могут идентифицироваться пользователем как выходы из функции. На операции 314 пользователь может предоставлять текстовое имя для каждого из выходов. Например, на операциях 312 и 314 пользователь может выбрать ячейку внутри рабочей книги, чтобы идентифицировать эту ячейку как выход, и затем предоставить имя "Цена call-опциона", чтобы идентифицировать этот выход. Как только выходные ячейки и их имена идентифицируются пользователем, процедура 300 переходит от операции 314 к операции 316.
От операции 314 процедура 300 переходит к операции 316, где рабочая книга 6, включая сюда данные, определяющие предназначенную функцию рабочей книги, публикуется на серверном приложении 13 табличных вычислений. Например, публикация рабочей книги 6 может включать в себя загрузку рабочей книги 6 на серверный компьютер 12A или программное генерирование динамической таблицы и отправку ее на серверный компьютер 12A через интерфейс серверной прикладной программы (API). Когда рабочая книга 6 публикуется на серверном приложении 13 табличных вычислений, рабочая книга 6 хранится в репозитории 14. Серверное приложение 13 табличных вычислений также уведомляется о существовании этой рабочей книги 6, и функции рабочей книги, определенные внутри этой рабочей книги, могут затем выставляться через Web-службы. Данные, идентифицирующие имя функции рабочей книги, и входные и выходные ячейки и их имена также публикуются на сервере 12A с рабочей книгой.
Как только рабочая книга 6 передается в репозиторий 14 и анализируется серверным приложением 13 табличных вычислений, клиентские приложения, такие как SOAP-совместимая программа 8 или клиентское приложение 4 табличных вычислений, могут использоваться, чтобы вызывать функцию рабочей книги на серверном компьютере 12A. Дополнительные детали относительно различных функций, выполняемых клиентским приложением 4 табличных вычислений, чтобы вызывать функцию, и выполняемых серверным приложением 13 табличных вычислений, чтобы показывать функцию рабочей книги и принимать и отвечать на вызовы функций, будут описываться более детально ниже по отношению к фиг.5-8. От операции 316 процедура 300 переходит к операции 318, где она заканчивается.
Ссылаясь теперь на фиг.4, будет описываться иллюстративный пользовательский интерфейс для публикации модели рабочей книги, которая включает в себя функцию рабочей книги. Пользовательский интерфейс 30, показанный на фиг.4, может предоставляться пользователю в ответ на пользовательский запрос опубликовать функцию рабочей книги на серверном компьютере 12A. Пользовательский интерфейс 30 может показывать часть текущей рабочей таблицы 32. Каждая из ячеек, показанных внутри текущей рабочей таблицы 32, может выбираться пользователем, чтобы либо идентифицировать ячейку как вход для функции, либо как выход из этой функции.
Чтобы принять участие в определении входов для функции рабочей книги, пользователь может выбрать одну или более ячеек внутри текущей рабочей книги 32. Пользователь может затем выбрать кнопку 36 пользовательского интерфейса, чтобы добавить выбранную ячейку как новый вход. Пользователь может затем ввести имя для этого входа в окно 34 списка. Таким способом пользователь может определять столько ячеек, сколько необходимо для текущей рабочей книги 32 в качестве входов для функции рабочей книги. Аналогично, пользователь может выбрать одну или более ячеек текущей рабочей книги 32 и затем выбирать кнопку 40 пользовательского интерфейса, чтобы назначить эти ячейки как выходы из функции. Затем может использоваться окно 38 списка, чтобы предоставить имя для каждого из входных аргументов. Пример, показанный на фиг.4, показывает рабочую книгу 32, которая определяет модель для вычисления цен call- и put-опционов. Ячейки C2-C7 определены как входы, и ячейки F2-F3 определены как выходы.
Пользовательский интерфейс 30, показанный на фиг.4, может также предоставлять текстовое окно 42, в которое пользователем может вводиться имя для функции. Пользователь может также предоставлять текстовое описание функции в текстовом окне 44. Наконец в текстовом окне 46 пользователь может идентифицировать местоположение на серверном компьютере 12A, в котором должна публиковаться новая функция рабочей книги. Как только пользователь предоставляет эту информацию, может выбираться кнопка 48, чтобы опубликовать рабочую книгу, включая сюда метаданные, описывающие функцию рабочей книги, на серверном компьютере 12A.
Обращаясь теперь к фиг.5A, будет описываться иллюстративная процедура 500, показывающая операцию клиентского приложения 4 табличных вычислений для определения и публикации функции рабочей книги, выставляемой серверным компьютером 12A. Как обсуждалось ранее, следует принять во внимание, что клиентское приложение 4 табличных вычислений здесь описывается как вызывающее функцию рабочей книги. Однако функция рабочей книги может также вызываться любым другим типом компьютерной программы, которая совместима с удаленными вызовами функций, например другие серверные компьютеры, пользовательский программный код, другие типы прикладных программ и многие другие типы компьютерных программ.
Процедура 500 начинается на операции 502, где пользователь использует клиентское приложение 4 табличных вычислений, чтобы составить рабочую книгу способом, описанным выше. От операции 502 процедура 500 переходит на операцию 504, где клиентское приложение 4 табличных вычислений определяет, сделал ли пользователь запрос использовать функцию рабочей книги, доступную из серверного компьютера 12A. Если пользователь не сделал такого запроса, процедура 500 возвращается к операции 502, где пользователь может продолжить составлять модель. Если пользователь действительно запрашивает использование удаленной функции рабочей книги, процедура 500 переходит на операцию 506.
На операции 506 принимается имя запрошенной функции от пользователя. Список доступных функций рабочих книг и их параметров может распознаваться и извлекаться из серверного компьютера 12A. Как только пользователь идентифицирует удаленную функцию рабочей книги для использования, процедура 500 переходит на операцию 508, где пользователь выбирает ячейки рабочей книги, которые должны использоваться как входы для функции рабочей книги. В частности, пользователь назначает одну ячейку для каждого из входов функции. Данные в назначенных ячейках могут затем предоставляться как входы для функции, когда делается удаленный вызов функции. На операции 510 пользователь выбирает ячейки рабочей книги, где аналогичным образом должны помещаться выходы из функции. Процедура 500 затем переходит на операцию 511, где она заканчивается.
Обращаясь теперь к фиг.5B, будет описываться иллюстративная процедура 550 для вызова функции рабочей книги через вызов Web-служб. Процедура 550 начинается на операции 511, где извлекаются данные из входных ячеек вместе с соответствующими именами входных параметров для вызова функции. На операции 512 помещается вызов Web-служб к запрошенной функции. На операции 514 клиентское приложение 4 табличных вычислений принимает ответ от серверного компьютера 12A, включающий в себя выходы из вызова функции. На операции 516 принятые выходы помещаются в рабочую книгу в местоположениях ячеек, определенных пользователем для выходов. Фиг.8 показывает часть рабочей книги 70. Как описывалось выше, ячейки 72 и 74 были определены как содержащие выходы из функции рабочей книги. Как показано на фиг.8, значения, вычисленные функцией рабочей книги, которые были возвращены клиентскому приложению 4 табличных вычислений, были помещены в соответствующие ячейки рабочей книги 70. От операции 516 процедура 550 переходит на операцию 518, где она заканчивается.
Ссылаясь теперь на фиг.6, будет описываться иллюстративный пользовательский интерфейс для генерирования удаленного вызова функции к размещенной на сервере функции рабочей книги. Пользовательский интерфейс 50, показанный на фиг.6, отображается клиентским приложением 4 табличных вычислений в ответ на запрос пользователя использовать удаленную функцию рабочей книги. Пользовательский интерфейс 50 включает в себя отображение текущей рабочей книги 52, включая сюда одну или более ячеек этой рабочей книги.
Пользовательский интерфейс 50 также включает в себя окно 56 списка, которое идентифицирует каждый из входов для запрошенной функции рабочей книги. Пользователь может выбрать любую из ячеек рабочей книги 52 и затем выбрать кнопку 58, чтобы назначить эту ячейку как вход функции. Аналогично, окно 68 списка идентифицирует по имени каждый из выходов функции. Пользователь может выбрать любую из ячеек рабочей книги 52 и кнопку 62, чтобы назначить ячейки рабочей книги как выходы функции. Как только пользователь назначает ячейки рабочей книги 52 каждому из входов и выходов, пользователь может выбрать кнопку 64 пользовательского интерфейса, чтобы поместить желаемый удаленный вызов функции.
Обращаясь теперь к фиг.7, будет описываться иллюстративная процедура 700, показывающая операцию серверного приложения 13 табличных вычислений для принятия и ответа на вызовы, направленные к функции рабочей книги, выставляемой через Web-службы. Процедура 700 начинается на операции 702, где серверное приложение 13 табличных вычислений показывает доступные функции рабочих книг. Как только серверное приложение 13 табличных вычислений покажет различные функции рабочих книг, клиентское приложение, такое как SOAP-совместимая программа 8 или клиентское приложение 4 табличных вычислений, сможет обнаруживать эти доступные функции и издавать вызовы, направленные к какой-либо конкретной функции.
Процедура 700 переходит от операции 702 к операции 704, где серверное приложение 13 табличных вычислений принимает удаленный вызов функции, направленный к конкретной функции рабочей книги. Вызов включает в себя данные, идентифицирующие каждый из входов для функции и предоставляющие значения для каждого из входов. От операции 704 процедура 700 переходит на операцию 706, где серверное приложение 13 табличных вычислений загружает рабочую книгу 6, содержащую функцию рабочей книги, к которой был направлен принятый вызов. Как только рабочая книга 6 загружается серверным приложением 13 табличных вычислений, процедура 700 переходит на операцию 708, где серверное приложение 13 табличных вычислений заполняет соответствующие ячейки загруженной рабочей книги входами, предоставленными с вызовом Web-служб. Процедура 700 затем переходит от операции 708 к операции 710.
На операции 710 серверное приложение 13 табличных вычислений определяет, включает ли в себя рабочая книга 6 ссылку на другой источник данных или другую функцию рабочей книги. Например, как кратко описано выше, рабочая книга может включать в себя ссылку на источник данных, такой как источник 16 данных. Если рабочая книга 6 включает в себя ссылку на другой источник данных, процедура 700 ответвляется на операцию 712, где серверное приложение 13 табличных вычислений запрашивает источник 16 данных для любых данных, необходимых, чтобы вычислить рабочую книгу 6. Как только эти данные принимаются серверным приложением 13 табличных вычислений, рабочая книга 6 обновляется с принятыми данными.
Если на операции 710 определяется, что рабочая книга 6 не включает в себя какую-либо ссылку на другой источник данных, процедура 700 переходит на операцию 714. На операции 714 серверное приложение 13 табличных вычислений пересчитывает контенты рабочей книги 6, включая сюда вычисления функции рабочей книги. От операции 714 процедура 700 переходит на операцию 716, где серверное приложение 13 табличных вычислений извлекает контенты ячеек модели рабочей книги, которые были идентифицированы как выходы, когда определялась функция рабочей книги. Процедура 700 затем переходит на операцию 718, где серверное приложение 13 табличных вычислений подготавливает ответ Web-служб, который включает в себя данные из выходов функции рабочей книги. На операции 720 ответ передается клиентскому компьютеру 2 как ответ на начальный запрос Web-служб. Клиентский компьютер 2 может затем поместить принятые выходные данные в соответствующие ячейки способом, описанным выше. Процедура 700 затем переходит от операции 720 к операции 722, где она заканчивается.
Базируясь на предшествующем, следует принять во внимание, что различные варианты осуществления этого изобретения включают в себя способ, систему, устройство и машиночитаемый носитель для показа и вызова функций рабочих книг через Web-службы. Представленное описание, примеры и данные предоставляют полное раскрытие предлагаемого изобретения. Так как может быть осуществлено много различных вариантов предлагаемого изобретения без отхода от его сущности, объем предлагаемого изобретения определен в формуле изобретения, представленной ниже.
Claims (14)
1. Способ для осуществления доступа к модели рабочей книги через удаленный вызов функции, причем способ содержит
предоставление средства для определения первой модели рабочей книги,
ассоциирование метаданных с функцией рабочей книги, метаданные содержат описание функции рабочей книги и местоположение для публикации функции рабочей книги, при этом описание функции рабочей книги и местоположение для публикации функции рабочей книги получены от пользователя, и при этом местоположение для публикации идентифицирует местоположение публикации в серверном компьютере,
прием запроса сделать первую модель рабочей книги доступной через первый удаленный вызов функции, причем запрос включает в себя данные, определяющие функцию рабочей книги,
публикацию первой модели рабочей книги, ассоциированных метаданных, и данных, определяющих функцию рабочей книги, на серверном компьютере, обеспеченном возможностью принимать и отвечать на удаленные вызовы функции рабочей книги;
предоставление списка опубликованных функций, содержащих функцию рабочей книги и ассоциированные метаданные в ответ на распознающий запрос; и
предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, при этом предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, позволяет пользователю ассоциировать первый набор ячеек рабочей книги с каждым входом, идентифицируемым посредством окна списка;
размещение удаленного вызова функции в серверном компьютере с одним или более входными параметрами и принятие от серверного компьютера одного или более выходных параметров, при этом серверный компьютер пересчитывает контенты рабочей книги для определения одного или более выходных параметров.
предоставление средства для определения первой модели рабочей книги,
ассоциирование метаданных с функцией рабочей книги, метаданные содержат описание функции рабочей книги и местоположение для публикации функции рабочей книги, при этом описание функции рабочей книги и местоположение для публикации функции рабочей книги получены от пользователя, и при этом местоположение для публикации идентифицирует местоположение публикации в серверном компьютере,
прием запроса сделать первую модель рабочей книги доступной через первый удаленный вызов функции, причем запрос включает в себя данные, определяющие функцию рабочей книги,
публикацию первой модели рабочей книги, ассоциированных метаданных, и данных, определяющих функцию рабочей книги, на серверном компьютере, обеспеченном возможностью принимать и отвечать на удаленные вызовы функции рабочей книги;
предоставление списка опубликованных функций, содержащих функцию рабочей книги и ассоциированные метаданные в ответ на распознающий запрос; и
предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, при этом предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, позволяет пользователю ассоциировать первый набор ячеек рабочей книги с каждым входом, идентифицируемым посредством окна списка;
размещение удаленного вызова функции в серверном компьютере с одним или более входными параметрами и принятие от серверного компьютера одного или более выходных параметров, при этом серверный компьютер пересчитывает контенты рабочей книги для определения одного или более выходных параметров.
2. Способ по п.1, по которому данные, определяющие функцию рабочей книги, содержат, включая внутри данных, имя для функции рабочей книги.
3. Способ по п.2, по которому данные, определяющие функцию рабочей книги, содержат, включая внутри данных, идентификационную информацию первого набора ячеек рабочей книги, которые должны использоваться как входы для функции рабочей книги, и имя, соответствующее каждой ячейке.
4. Способ по п.3, по которому данные, определяющие функцию рабочей книги, содержат, включая внутри данных, идентификационную информацию второго набора ячеек рабочей книги, которые должны использоваться как выходы для функции рабочей книги, и имя, соответствующее каждой выходной ячейке.
5. Способ по п.4, который также содержит
прием запроса для удаленного вызова функции рабочей книги изнутри контекста второй рабочей книги,
в ответ на этот запрос прием идентификационной информации удаленной функции рабочей книги, которая должна вызываться, идентификационной информации первого набора ячеек во второй рабочей книге, которые должны использоваться для входов для удаленной функции рабочей книги, и идентификационной информации второго набора ячеек во второй рабочей книге, где должны размещаться выходы из удаленной функции рабочей книги,
осуществление второго удаленного вызова функции к удаленной функции рабочей книги с контентами первого набора ячеек, которые должны использоваться для входов,
в ответ на этот вызов, прием, по меньшей мере, одного выхода из удаленной функции рабочей книги и размещение, по меньшей мере, одного выхода, принятого от удаленной функции рабочей книги, во втором наборе ячеек, где должны помещаться выходы от удаленной функции рабочей книги.
прием запроса для удаленного вызова функции рабочей книги изнутри контекста второй рабочей книги,
в ответ на этот запрос прием идентификационной информации удаленной функции рабочей книги, которая должна вызываться, идентификационной информации первого набора ячеек во второй рабочей книге, которые должны использоваться для входов для удаленной функции рабочей книги, и идентификационной информации второго набора ячеек во второй рабочей книге, где должны размещаться выходы из удаленной функции рабочей книги,
осуществление второго удаленного вызова функции к удаленной функции рабочей книги с контентами первого набора ячеек, которые должны использоваться для входов,
в ответ на этот вызов, прием, по меньшей мере, одного выхода из удаленной функции рабочей книги и размещение, по меньшей мере, одного выхода, принятого от удаленной функции рабочей книги, во втором наборе ячеек, где должны помещаться выходы от удаленной функции рабочей книги.
6. Машиночитаемый носитель, имеющий компьютерно-исполнимые инструкции, хранимые в нем, которые при исполнении компьютером будут побуждать компьютер выполнять способ в соответствии с п.1.
7. Компьютерно-управляемое устройство для осуществления доступа к модели рабочей книги через удаленный вызов функции, содержащее средства для
предоставления средства для определения первой модели рабочей книги,
ассоциирования метаданных с функцией рабочей книги, метаданные содержат описание функции рабочей книги и местоположение для публикации функции рабочей книги, при этом описание функции рабочей книги и местоположение для публикации функции рабочей книги получены от пользователя, и при этом местоположение для публикации идентифицирует местоположение публикации в серверном компьютере,
приема запроса сделать первую модель рабочей книги доступной через первый удаленный вызов функции, причем запрос включает в себя данные, определяющие функцию рабочей книги;
публикации первой модели рабочей книги, ассоциированных метаданных и данных, определяющих функцию рабочей книги, на серверном компьютере, обеспеченном возможностью принимать и отвечать на удаленные вызовы функции рабочей книги;
предоставления списка опубликованных функций, содержащего функцию рабочей книги и ассоциированные метаданные в ответ на распознающий запрос; и
предоставления окна списка, идентифицирующего каждый вход для функции рабочей книги, при этом предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, позволяет пользователю ассоциировать первый набор ячеек рабочей книги с каждым входом, идентифицируемым посредством окна списка;
размещения удаленного вызова функции в серверном компьютере с одним или более входными параметрами и принятия от серверного компьютера одного или более выходных параметров, при этом серверный компьютер пересчитывает контенты рабочей книги для определения одного или более выходных параметров.
предоставления средства для определения первой модели рабочей книги,
ассоциирования метаданных с функцией рабочей книги, метаданные содержат описание функции рабочей книги и местоположение для публикации функции рабочей книги, при этом описание функции рабочей книги и местоположение для публикации функции рабочей книги получены от пользователя, и при этом местоположение для публикации идентифицирует местоположение публикации в серверном компьютере,
приема запроса сделать первую модель рабочей книги доступной через первый удаленный вызов функции, причем запрос включает в себя данные, определяющие функцию рабочей книги;
публикации первой модели рабочей книги, ассоциированных метаданных и данных, определяющих функцию рабочей книги, на серверном компьютере, обеспеченном возможностью принимать и отвечать на удаленные вызовы функции рабочей книги;
предоставления списка опубликованных функций, содержащего функцию рабочей книги и ассоциированные метаданные в ответ на распознающий запрос; и
предоставления окна списка, идентифицирующего каждый вход для функции рабочей книги, при этом предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, позволяет пользователю ассоциировать первый набор ячеек рабочей книги с каждым входом, идентифицируемым посредством окна списка;
размещения удаленного вызова функции в серверном компьютере с одним или более входными параметрами и принятия от серверного компьютера одного или более выходных параметров, при этом серверный компьютер пересчитывает контенты рабочей книги для определения одного или более выходных параметров.
8. Способ для предоставления доступа к функции рабочей книги через удаленный вызов функции, причем этот способ содержит
прием рабочей книги, определение функции рабочей книги и метаданных, описывающих функцию рабочей книги и местоположение для публикации функции рабочей книги, при этом описание функции рабочей книги и местоположение для публикации функции рабочей книги получены от пользователя, причем определение функции содержит имя функции рабочей книги, описание первого набора ячеек в рабочей книге, которые должны использоваться как входы для функции рабочей книги, и описание второго набора ячеек в рабочей книге, которые должны использоваться как выходы для функции,
предоставление списка опубликованных функций, содержащего функцию рабочей книги и ассоциированные метаданные, содержащие описание функции в ответ на распознающий запрос;
предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, при этом предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, позволяет пользователю ассоциировать первый набор ячеек рабочей книги с каждым входом, идентифицируемым посредством окна списка; прием удаленного вызова функции, направленного к функции рабочей книги, причем удаленный вызов функции включает в себя, по меньшей мере, один входной параметр,
загрузку рабочей книги,
заполнение, по меньшей мере, одной из первого набора ячеек в рабочей книге, которые должны использоваться как входы для функции рабочей книги с, по меньшей мере, одним входным параметром,
пересчет контентов рабочей книги,
извлечение контентов второго набора ячеек в рабочей книге, которые должны использоваться как выходы для функции, и
возвращение контентов как ответ на удаленный вызов функции.
прием рабочей книги, определение функции рабочей книги и метаданных, описывающих функцию рабочей книги и местоположение для публикации функции рабочей книги, при этом описание функции рабочей книги и местоположение для публикации функции рабочей книги получены от пользователя, причем определение функции содержит имя функции рабочей книги, описание первого набора ячеек в рабочей книге, которые должны использоваться как входы для функции рабочей книги, и описание второго набора ячеек в рабочей книге, которые должны использоваться как выходы для функции,
предоставление списка опубликованных функций, содержащего функцию рабочей книги и ассоциированные метаданные, содержащие описание функции в ответ на распознающий запрос;
предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, при этом предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, позволяет пользователю ассоциировать первый набор ячеек рабочей книги с каждым входом, идентифицируемым посредством окна списка; прием удаленного вызова функции, направленного к функции рабочей книги, причем удаленный вызов функции включает в себя, по меньшей мере, один входной параметр,
загрузку рабочей книги,
заполнение, по меньшей мере, одной из первого набора ячеек в рабочей книге, которые должны использоваться как входы для функции рабочей книги с, по меньшей мере, одним входным параметром,
пересчет контентов рабочей книги,
извлечение контентов второго набора ячеек в рабочей книге, которые должны использоваться как выходы для функции, и
возвращение контентов как ответ на удаленный вызов функции.
9. Способ по п.8, который также содержит до пересчета контентов рабочей книги:
определение, включает ли в себя рабочая книга ссылку на внешний источник данных или другую функцию рабочей книги, и
в ответ на определение, что рабочая книга включает в себя ссылку на один внешний источник данных и другую функцию рабочей книги, запрос источника данных для любых указанных данных и заполнение рабочей книги указанными данными.
определение, включает ли в себя рабочая книга ссылку на внешний источник данных или другую функцию рабочей книги, и
в ответ на определение, что рабочая книга включает в себя ссылку на один внешний источник данных и другую функцию рабочей книги, запрос источника данных для любых указанных данных и заполнение рабочей книги указанными данными.
10. Машиночитаемый носитель, имеющий компьютерно-исполнимые инструкции, хранимые в нем, которые, при исполнении компьютером, будут побуждать компьютер выполнять способ по п.8.
11. Компьютерно-управляемое устройство для осуществления доступа к модели рабочей книги через удаленный вызов функции,
содержащее средства для: приема рабочей книги, определения функции рабочей книги и метаданных, описывающих функцию рабочей книги и местоположение для публикации функции рабочей книги, при этом описание функции рабочей книги и местоположения для публикации функции рабочей книги получены от пользователя, причем определение функции содержит имя функции рабочей книги, описание первого набора ячеек в рабочей книге, которые должны использоваться как входы для функции рабочей книги, и описание второго набора ячеек в рабочей книге, которые должны использоваться как выходы для функции,
предоставление списка опубликованных функций, содержащего функцию рабочей книги и ассоциированные метаданные, содержащие описание функции в ответ на распознающий запрос;
предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, при этом предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, позволяет пользователю ассоциировать первый набор ячеек рабочей книги с каждым входом, идентифицируемым посредством окна списка; прием удаленного вызова функции, направленного к функции рабочей книги, причем удаленный вызов функции включает в себя, по меньшей мере, один входной параметр,
загрузку рабочей книги,
заполнение, по меньшей мере, одной из первого набора ячеек в рабочей книге, которые должны использоваться как входы для функции рабочей книги с, по меньшей мере, одним входным параметром,
пересчет контентов рабочей книги,
извлечение контентов второго набора ячеек в рабочей книге, которые должны использоваться как выходы для функции, и
возвращение контентов как ответ на удаленный вызов функции.
содержащее средства для: приема рабочей книги, определения функции рабочей книги и метаданных, описывающих функцию рабочей книги и местоположение для публикации функции рабочей книги, при этом описание функции рабочей книги и местоположения для публикации функции рабочей книги получены от пользователя, причем определение функции содержит имя функции рабочей книги, описание первого набора ячеек в рабочей книге, которые должны использоваться как входы для функции рабочей книги, и описание второго набора ячеек в рабочей книге, которые должны использоваться как выходы для функции,
предоставление списка опубликованных функций, содержащего функцию рабочей книги и ассоциированные метаданные, содержащие описание функции в ответ на распознающий запрос;
предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, при этом предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, позволяет пользователю ассоциировать первый набор ячеек рабочей книги с каждым входом, идентифицируемым посредством окна списка; прием удаленного вызова функции, направленного к функции рабочей книги, причем удаленный вызов функции включает в себя, по меньшей мере, один входной параметр,
загрузку рабочей книги,
заполнение, по меньшей мере, одной из первого набора ячеек в рабочей книге, которые должны использоваться как входы для функции рабочей книги с, по меньшей мере, одним входным параметром,
пересчет контентов рабочей книги,
извлечение контентов второго набора ячеек в рабочей книге, которые должны использоваться как выходы для функции, и
возвращение контентов как ответ на удаленный вызов функции.
12. Система для осуществления доступа к модели рабочей книги через удаленный вызов функции, причем система содержит
клиентский компьютер, обеспечивающий возможность:
предоставлять средство для определения модели рабочей книги,
принимать запрос сделать модель рабочей книги доступной через удаленный вызов функции, причем запрос включает в себя определение функции и ассоциирование метаданных с определением функции, причем метаданные содержат описание функции посредством удаленного вызова функции и местоположения для публикации функции рабочей книги, при этом описание функции рабочей книги и местоположение для публикации функции рабочей книги получены от пользователя, и при этом местоположение для публикации идентифицирует местоположение публикации в серверном компьютере,
публикации модели рабочей книги, метаданных, ассоциированных с определением функции рабочей книги, и определение функции рабочей книги в серверном компьютере; и
серверный компьютер, обеспечивающий:
прием модели рабочей книги, определение функции рабочей книги и метаданных от клиентского компьютера,
предоставление списка опубликованных функций, содержащего функцию рабочей книги и ассоциированные метаданные, в ответ на распознающий запрос;
предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, при этом предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, позволяет пользователю ассоциировать первый набор ячеек рабочей книги с каждым входом, идентифицируемым посредством окна списка;
прием удаленного вызова функции, включающего в себя, по меньшей мере, один входной параметр,
загрузку рабочей книги,
заполнение ячеек, указанных в определении функции рабочей книги, с, по меньшей мере, одним входным параметром,
пересчет контентов рабочей книги,
извлечение контентов первого набора ячеек, определенных посредством определения функции рабочей книги, которые должны использоваться как выходы для функции рабочей книги, и
возвращение контентов второго набора ячеек, как ответ на удаленный вызов функции.
клиентский компьютер, обеспечивающий возможность:
предоставлять средство для определения модели рабочей книги,
принимать запрос сделать модель рабочей книги доступной через удаленный вызов функции, причем запрос включает в себя определение функции и ассоциирование метаданных с определением функции, причем метаданные содержат описание функции посредством удаленного вызова функции и местоположения для публикации функции рабочей книги, при этом описание функции рабочей книги и местоположение для публикации функции рабочей книги получены от пользователя, и при этом местоположение для публикации идентифицирует местоположение публикации в серверном компьютере,
публикации модели рабочей книги, метаданных, ассоциированных с определением функции рабочей книги, и определение функции рабочей книги в серверном компьютере; и
серверный компьютер, обеспечивающий:
прием модели рабочей книги, определение функции рабочей книги и метаданных от клиентского компьютера,
предоставление списка опубликованных функций, содержащего функцию рабочей книги и ассоциированные метаданные, в ответ на распознающий запрос;
предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, при этом предоставление окна списка, идентифицирующего каждый вход для функции рабочей книги, позволяет пользователю ассоциировать первый набор ячеек рабочей книги с каждым входом, идентифицируемым посредством окна списка;
прием удаленного вызова функции, включающего в себя, по меньшей мере, один входной параметр,
загрузку рабочей книги,
заполнение ячеек, указанных в определении функции рабочей книги, с, по меньшей мере, одним входным параметром,
пересчет контентов рабочей книги,
извлечение контентов первого набора ячеек, определенных посредством определения функции рабочей книги, которые должны использоваться как выходы для функции рабочей книги, и
возвращение контентов второго набора ячеек, как ответ на удаленный вызов функции.
13. Система по п.12, в которой определение функции рабочей книги, имя для функции рабочей книги, идентификационная информация второго набора должны использоваться как входы для функции рабочей книги, и имя, соответствующее каждой входной ячейке, и идентификационная информация первого набора ячеек рабочей книги должны использоваться как выходы для функции рабочей книги, и имени, соответствующему каждой выходной ячейке.
14. Система по п.13, в которой до пересчета контентов рабочей книги серверный компьютер является также работоспособным, чтобы
определять, включает ли в себя рабочая книга ссылку на внешний источник данных, и
в ответ на определение, что рабочая книга включает в себя ссылку на внешний источник данных, запрашивать этот источник данных для любых указанных данных и заполнять рабочую книгу данными ссылки.
определять, включает ли в себя рабочая книга ссылку на внешний источник данных, и
в ответ на определение, что рабочая книга включает в себя ссылку на внешний источник данных, запрашивать этот источник данных для любых указанных данных и заполнять рабочую книгу данными ссылки.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/903,781 | 2004-07-30 | ||
US10/903,781 US8578399B2 (en) | 2004-07-30 | 2004-07-30 | Method, system, and apparatus for providing access to workbook models through remote function cells |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2005116530A RU2005116530A (ru) | 2006-11-20 |
RU2408074C2 true RU2408074C2 (ru) | 2010-12-27 |
Family
ID=34940012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2005116530/08A RU2408074C2 (ru) | 2004-07-30 | 2005-05-30 | Способ, система и устройство для предоставления доступа к моделям рабочих книг через удаленные вызовы функций |
Country Status (10)
Country | Link |
---|---|
US (2) | US8578399B2 (ru) |
EP (1) | EP1622016A3 (ru) |
JP (1) | JP5154002B2 (ru) |
KR (1) | KR101153002B1 (ru) |
CN (1) | CN1728127B (ru) |
AU (1) | AU2005202285B2 (ru) |
BR (1) | BRPI0501957B1 (ru) |
CA (1) | CA2508537C (ru) |
MX (1) | MXPA05005799A (ru) |
RU (1) | RU2408074C2 (ru) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7664804B2 (en) | 2004-06-01 | 2010-02-16 | Microsoft Corporation | Method, system, and apparatus for exposing workbook ranges as data sources |
US7991804B2 (en) * | 2004-07-30 | 2011-08-02 | Microsoft Corporation | Method, system, and apparatus for exposing workbooks as data sources |
US8578399B2 (en) * | 2004-07-30 | 2013-11-05 | Microsoft Corporation | Method, system, and apparatus for providing access to workbook models through remote function cells |
US9009582B2 (en) * | 2004-11-19 | 2015-04-14 | Google Inc. | Converting spreadsheet applications to web-based applications |
WO2006095365A2 (en) * | 2005-03-11 | 2006-09-14 | Suresh Sambandam | A system and method of defining a hierarchical datamodel and related computation and instruction rules using spreadsheet like user interface |
US8307119B2 (en) | 2006-03-31 | 2012-11-06 | Google Inc. | Collaborative online spreadsheet application |
US20080229184A1 (en) * | 2007-03-15 | 2008-09-18 | Microsoft Corporation | Private sheets in shared spreadsheets |
US10055468B2 (en) * | 2007-04-30 | 2018-08-21 | Wolfram Research, Inc. | Access to data collections by a computational system |
US8006175B2 (en) * | 2007-10-29 | 2011-08-23 | Microsoft Corporation | Calculation of spreadsheet data |
CN101561756B (zh) * | 2009-05-26 | 2013-06-19 | 珠海金山软件有限公司 | 通过办公软件获取网络函数结果进行分析的方法及装置 |
GB2470943A (en) * | 2009-06-11 | 2010-12-15 | T B I Refunds Ipr Ltd | Converting a large data file to a spreadsheet format to allow processing using remote procedure calls |
WO2021099839A1 (en) * | 2019-11-18 | 2021-05-27 | Roy Mann | Collaborative networking systems, methods, and devices |
WO2021161104A1 (en) | 2020-02-12 | 2021-08-19 | Monday.Com | Enhanced display features in collaborative network systems, methods, and devices |
WO2021144656A1 (en) | 2020-01-15 | 2021-07-22 | Monday.Com | Digital processing systems and methods for graphical dynamic table gauges in collaborative work systems |
WO2021220058A1 (en) | 2020-05-01 | 2021-11-04 | Monday.com Ltd. | Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices |
US11410129B2 (en) | 2010-05-01 | 2022-08-09 | Monday.com Ltd. | Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems |
US8417737B2 (en) | 2010-10-20 | 2013-04-09 | Microsoft Corporation | Online database availability during upgrade |
US8799453B2 (en) | 2010-10-20 | 2014-08-05 | Microsoft Corporation | Managing networks and machines for an online service |
US8386501B2 (en) | 2010-10-20 | 2013-02-26 | Microsoft Corporation | Dynamically splitting multi-tenant databases |
US8850550B2 (en) | 2010-11-23 | 2014-09-30 | Microsoft Corporation | Using cached security tokens in an online service |
US9075787B2 (en) * | 2010-11-30 | 2015-07-07 | Think-Cell Software Gmbh | Defining a reusable spreadsheet-function by extracting the function from a complex calculation in a spreadsheet document |
US9721030B2 (en) * | 2010-12-09 | 2017-08-01 | Microsoft Technology Licensing, Llc | Codeless sharing of spreadsheet objects |
US8799988B2 (en) * | 2012-01-25 | 2014-08-05 | Microsoft Corporation | Document communication runtime interfaces |
US10210151B2 (en) * | 2012-12-17 | 2019-02-19 | Thomson Reuters (Grc) Llc | Dynamic function builder |
US9875226B1 (en) * | 2013-12-20 | 2018-01-23 | Google Llc | Performing server-side and client-side operations on spreadsheets |
US11170165B1 (en) | 2015-03-15 | 2021-11-09 | Sigma Sciences Limited | Data processing in spreadsheet worksheets |
US9959098B1 (en) * | 2015-03-15 | 2018-05-01 | Sigma Sciences Limited | Data processing systems and methods |
US10735504B2 (en) | 2016-01-06 | 2020-08-04 | Oracle International Corporation | System and method for distributed workbook storage |
JP6370503B1 (ja) * | 2017-04-17 | 2018-08-08 | 三菱電機株式会社 | プログラム作成装置 |
US11048695B2 (en) * | 2017-09-12 | 2021-06-29 | Sap Se | Context-aware data commenting system |
US11436359B2 (en) | 2018-07-04 | 2022-09-06 | Monday.com Ltd. | System and method for managing permissions of users for a single data type column-oriented data structure |
US11698890B2 (en) | 2018-07-04 | 2023-07-11 | Monday.com Ltd. | System and method for generating a column-oriented data structure repository for columns of single data types |
US20210149553A1 (en) | 2019-11-18 | 2021-05-20 | Monday.Com | Digital processing systems and methods for real-time resource and capacity allocation in collaborative work systems |
US20210256001A1 (en) * | 2020-02-18 | 2021-08-19 | Sigma Computing, Inc. | Creating accessible model data sets |
US20240184989A1 (en) | 2020-05-01 | 2024-06-06 | Monday.com Ltd. | Digital processing systems and methods for virtualfile-based electronic white board in collaborative work systems systems |
US11277361B2 (en) | 2020-05-03 | 2022-03-15 | Monday.com Ltd. | Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems |
US11556702B2 (en) * | 2020-08-31 | 2023-01-17 | Oracle International Corporation | Orchestration of crud operations for a hierarchical web service data model in a spreadsheet |
US11687216B2 (en) | 2021-01-14 | 2023-06-27 | Monday.com Ltd. | Digital processing systems and methods for dynamically updating documents with data from linked files in collaborative work systems |
US11741071B1 (en) | 2022-12-28 | 2023-08-29 | Monday.com Ltd. | Digital processing systems and methods for navigating and viewing displayed content |
US11886683B1 (en) | 2022-12-30 | 2024-01-30 | Monday.com Ltd | Digital processing systems and methods for presenting board graphics |
US11893381B1 (en) | 2023-02-21 | 2024-02-06 | Monday.com Ltd | Digital processing systems and methods for reducing file bundle sizes |
Family Cites Families (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4912657A (en) * | 1986-10-30 | 1990-03-27 | Synthesis, Inc. | Method and systems for generating parametric designs |
US5033009A (en) * | 1989-03-03 | 1991-07-16 | Dubnoff Steven J | System for generating worksheet files for electronic spreadsheets |
US5371675A (en) * | 1992-06-03 | 1994-12-06 | Lotus Development Corporation | Spreadsheet program which implements alternative range references |
DE69309485T2 (de) * | 1992-11-13 | 1997-07-10 | Microsoft Corp | Verfahren zur verteilung von schnittstellenzeigern fur fernprozeduranrufe |
US5805885A (en) * | 1992-12-24 | 1998-09-08 | Microsoft Corporation | Method and system for aggregating objects |
US5437006A (en) * | 1993-01-27 | 1995-07-25 | Microsoft Corporation | Spreadsheet command/function capability from a dynamic-link library |
US5699518A (en) | 1993-11-29 | 1997-12-16 | Microsoft Corporation | System for selectively setting a server node, evaluating to determine server node for executing server code, and downloading server code prior to executing if necessary |
US5721847A (en) * | 1994-10-21 | 1998-02-24 | Microsoft Corporation | Method and system for linking controls with cells of a spreadsheet |
US5701451A (en) | 1995-06-07 | 1997-12-23 | International Business Machines Corporation | Method for fulfilling requests of a web browser |
US5832532A (en) * | 1995-06-16 | 1998-11-03 | I2 Technologies, Inc. | Model-independent and interactive report generation system and method of operation |
US5893123A (en) * | 1995-06-22 | 1999-04-06 | Tuinenga; Paul W. | System and method of integrating a spreadsheet and external program having output data calculated automatically in response to input data from the spreadsheet |
US6157934A (en) * | 1995-10-24 | 2000-12-05 | Ultimus, L.L.C. | Method and apparatus for using distributed spreadsheets in a client/server architecture for workflow automation |
US5890174A (en) * | 1995-11-16 | 1999-03-30 | Microsoft Corporation | Method and system for constructing a formula in a spreadsheet |
US6122649A (en) * | 1996-05-30 | 2000-09-19 | Microsoft Corporation | Method and system for user defined and linked properties |
US6055548A (en) * | 1996-06-03 | 2000-04-25 | Microsoft Corporation | Computerized spreadsheet with auto-calculator |
US5819293A (en) * | 1996-06-06 | 1998-10-06 | Microsoft Corporation | Automatic Spreadsheet forms |
US5926822A (en) * | 1996-09-06 | 1999-07-20 | Financial Engineering Associates, Inc. | Transformation of real time data into times series and filtered real time data within a spreadsheet application |
US5983268A (en) * | 1997-01-14 | 1999-11-09 | Netmind Technologies, Inc. | Spreadsheet user-interface for an internet-document change-detection tool |
US5937406A (en) | 1997-01-31 | 1999-08-10 | Informix Software, Inc. | File system interface to a database |
US5933818A (en) * | 1997-06-02 | 1999-08-03 | Electronic Data Systems Corporation | Autonomous knowledge discovery system and method |
US6154732A (en) | 1997-07-25 | 2000-11-28 | Guidedchoice.Com | System for providing investment advice and management of pension assets |
US6012057A (en) * | 1997-07-30 | 2000-01-04 | Quarterdeck Corporation | High speed data searching for information in a computer system |
US6094651A (en) | 1997-08-22 | 2000-07-25 | International Business Machines Corporation | Discovery-driven exploration of OLAP data cubes |
US5974416A (en) | 1997-11-10 | 1999-10-26 | Microsoft Corporation | Method of creating a tabular data stream for sending rows of data between client and server |
US6009455A (en) * | 1998-04-20 | 1999-12-28 | Doyle; John F. | Distributed computation utilizing idle networked computers |
JP2000067143A (ja) | 1998-08-26 | 2000-03-03 | Toshiba Corp | データベースシステム |
US6269377B1 (en) * | 1998-09-21 | 2001-07-31 | Microsoft Corporation | System and method for managing locations of software components via a source list |
US6317750B1 (en) | 1998-10-26 | 2001-11-13 | Hyperion Solutions Corporation | Method and apparatus for accessing multidimensional data |
US6640234B1 (en) * | 1998-12-31 | 2003-10-28 | Microsoft Corporation | Extension of formulas and formatting in an electronic spreadsheet |
US7032030B1 (en) * | 1999-03-11 | 2006-04-18 | John David Codignotto | Message publishing system and method |
US6532458B1 (en) | 1999-03-15 | 2003-03-11 | Microsoft Corporation | Sampling for database systems |
US6549907B1 (en) | 1999-04-22 | 2003-04-15 | Microsoft Corporation | Multi-dimensional database and data cube compression for aggregate query support on numeric dimensions |
US7013246B1 (en) * | 1999-05-24 | 2006-03-14 | Parametric Technology Corporation | Parametric exchange of data between a modeling system and an external application program |
US6411313B1 (en) | 1999-06-14 | 2002-06-25 | Microsoft Corporation | User interface for creating a spreadsheet pivottable |
US6701485B1 (en) * | 1999-06-15 | 2004-03-02 | Microsoft Corporation | Binding spreadsheet cells to objects |
US6691281B1 (en) * | 1999-06-15 | 2004-02-10 | Microsoft Corporation | Publishing/republishing data tables in HTML documents while maintaining formatting and functionality for restoring back the data tables |
US6613098B1 (en) * | 1999-06-15 | 2003-09-02 | Microsoft Corporation | Storage of application specific data in HTML |
US6477536B1 (en) | 1999-06-22 | 2002-11-05 | Microsoft Corporation | Virtual cubes |
US6456999B1 (en) | 1999-06-22 | 2002-09-24 | Microsoft Corporation | Aggregations size estimation in database services |
US6446059B1 (en) | 1999-06-22 | 2002-09-03 | Microsoft Corporation | Record for a multidimensional database with flexible paths |
US6631497B1 (en) | 1999-07-19 | 2003-10-07 | International Business Machines Corporation | Binding data from data source to cells in a spreadsheet |
US6490600B1 (en) * | 1999-08-09 | 2002-12-03 | Cognex Technology And Investment Corporation | Processing continuous data streams in electronic spreadsheets |
US6920443B1 (en) * | 1999-09-21 | 2005-07-19 | International Business Machines, Corporation | Method, system, program, and data structure for transforming database tables |
US6748389B1 (en) | 1999-09-21 | 2004-06-08 | International Business Machines Corporation | Method, system, and program for inverting columns in a database table |
US6493718B1 (en) | 1999-10-15 | 2002-12-10 | Microsoft Corporation | Adaptive database caching and data retrieval mechanism |
US6473750B1 (en) | 1999-10-15 | 2002-10-29 | Microsoft Corporation | Adaptive query execution in a distributed database system |
US6898603B1 (en) | 1999-10-15 | 2005-05-24 | Microsoft Corporation | Multi-dimensional data structure caching |
WO2001042922A1 (en) | 1999-12-07 | 2001-06-14 | Data Foundation, Inc. | Scalable storage architecture |
US7185279B2 (en) * | 2000-01-07 | 2007-02-27 | Master Mine Software, Inc. | Data mining and reporting |
US20020010743A1 (en) | 2000-02-11 | 2002-01-24 | Ryan Mark H. | Method and system for distributing and collecting spreadsheet information |
JP2001243242A (ja) | 2000-02-25 | 2001-09-07 | Hitachi Ltd | 問合せ処理方法およびそれを実施するデータベース管理システムその処理プログラムを格納した記録媒体 |
GB0011426D0 (en) * | 2000-05-11 | 2000-06-28 | Charteris Limited | A method for transforming documents written in different XML-based languages |
US20020106040A1 (en) * | 2001-02-02 | 2002-08-08 | Sarnoff Corporation | Method and apparatus for reducing multipath distortion in a wireless ian system |
DE60136247D1 (de) | 2000-06-16 | 2008-12-04 | Microsoft Corp | System und Verfahren zur interaktiven Kommunikation zwischen Objekten in einer verteilten Rechnerumgebung |
US6632249B2 (en) * | 2000-06-23 | 2003-10-14 | Microsoft Corporation | Method for providing web-based services to an application program module |
AU2001277868A1 (en) * | 2000-07-11 | 2002-01-21 | Juice Software, Inc. | A method and system for integrating network-based functionality into productivity applications and documents |
US6944662B2 (en) * | 2000-08-04 | 2005-09-13 | Vinestone Corporation | System and methods providing automatic distributed data retrieval, analysis and reporting services |
US6988241B1 (en) * | 2000-10-16 | 2006-01-17 | International Business Machines Corporation | Client side, web-based spreadsheet |
US6779151B2 (en) * | 2001-01-05 | 2004-08-17 | Microsoft Corporation | Storing objects in a spreadsheet |
US7082569B2 (en) * | 2001-01-17 | 2006-07-25 | Outlooksoft Corporation | Systems and methods providing dynamic spreadsheet functionality |
US6828988B2 (en) * | 2001-02-27 | 2004-12-07 | Microsoft Corporation | Interactive tooltip |
US6684206B2 (en) | 2001-05-18 | 2004-01-27 | Hewlett-Packard Development Company, L.P. | OLAP-based web access analysis method and system |
US20020188629A1 (en) * | 2001-05-21 | 2002-12-12 | Burfoot Daniel C. | System, protocol, and methods for the creation of distributed spreadsheets |
US7177855B2 (en) * | 2001-06-20 | 2007-02-13 | Oracle International Corporation | Compile-time optimizations of queries with SQL spreadsheet |
US7761403B2 (en) * | 2001-06-20 | 2010-07-20 | Oracle International Corporation | Run-time optimizations of queries with SQL spreadsheet |
US7251776B2 (en) * | 2001-07-13 | 2007-07-31 | Netview Technologies, Inc. | System and method for efficiently and flexibly utilizing spreadsheet information |
US20030195762A1 (en) * | 2002-04-12 | 2003-10-16 | David Gleason | Automated workflow |
JP3868331B2 (ja) | 2002-05-20 | 2007-01-17 | 株式会社読売新聞東京本社 | データベース登録装置および方法 |
US20030226105A1 (en) * | 2002-05-29 | 2003-12-04 | Mattias Waldau | Method in connection with a spreadsheet program |
JP2004046657A (ja) | 2002-07-15 | 2004-02-12 | Answer:Kk | 計算支援方法とその装置、及び計算支援ソフト |
US7266763B2 (en) * | 2002-11-26 | 2007-09-04 | Microsoft Corporation | User defined spreadsheet functions |
US20040103365A1 (en) | 2002-11-27 | 2004-05-27 | Alan Cox | System, method, and computer program product for an integrated spreadsheet and database |
US7530012B2 (en) * | 2003-05-22 | 2009-05-05 | International Business Machines Corporation | Incorporation of spreadsheet formulas of multi-dimensional cube data into a multi-dimensional cube |
US7299223B2 (en) * | 2003-07-16 | 2007-11-20 | Oracle International Corporation | Spreadsheet to SQL translation |
US7233956B2 (en) * | 2003-08-12 | 2007-06-19 | International Business Machines Corporation | Method and apparatus for data migration between databases |
WO2005026991A1 (en) * | 2003-09-09 | 2005-03-24 | Ask Jeeves, Inc. | Refinement of web-based search queries |
US20060200772A1 (en) * | 2003-12-08 | 2006-09-07 | Sathiyamoorthy Dhanapal | Procedural computation engine for providing complex calculated data results to an object-oriented server system accessible to service clients and agents over a data packet network |
RU36541U1 (ru) | 2003-12-23 | 2004-03-10 | Григорьев Евгений Александрович | Объектно-ориентированная система управления реляционными базами данных |
US7735097B2 (en) * | 2004-05-24 | 2010-06-08 | Sap Ag | Method and system to implement a deploy service to perform deployment services to extend and enhance functionalities of deployed applications |
US7664804B2 (en) | 2004-06-01 | 2010-02-16 | Microsoft Corporation | Method, system, and apparatus for exposing workbook ranges as data sources |
US8578399B2 (en) | 2004-07-30 | 2013-11-05 | Microsoft Corporation | Method, system, and apparatus for providing access to workbook models through remote function cells |
US7991804B2 (en) * | 2004-07-30 | 2011-08-02 | Microsoft Corporation | Method, system, and apparatus for exposing workbooks as data sources |
US20060112123A1 (en) * | 2004-11-24 | 2006-05-25 | Macnica, Inc. | Spreadsheet user-interfaced business data visualization and publishing system |
-
2004
- 2004-07-30 US US10/903,781 patent/US8578399B2/en not_active Expired - Fee Related
-
2005
- 2005-05-24 AU AU2005202285A patent/AU2005202285B2/en not_active Ceased
- 2005-05-27 CA CA2508537A patent/CA2508537C/en active Active
- 2005-05-30 RU RU2005116530/08A patent/RU2408074C2/ru not_active IP Right Cessation
- 2005-05-30 EP EP05104620A patent/EP1622016A3/en not_active Ceased
- 2005-05-30 KR KR1020050045680A patent/KR101153002B1/ko active IP Right Grant
- 2005-05-31 JP JP2005158659A patent/JP5154002B2/ja not_active Expired - Fee Related
- 2005-05-31 BR BRPI0501957-5A patent/BRPI0501957B1/pt not_active IP Right Cessation
- 2005-05-31 MX MXPA05005799A patent/MXPA05005799A/es active IP Right Grant
- 2005-06-30 CN CN2005100824074A patent/CN1728127B/zh active Active
-
2012
- 2012-09-15 US US13/620,854 patent/US9317495B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20130013995A1 (en) | 2013-01-10 |
AU2005202285A1 (en) | 2006-02-16 |
AU2005202285B2 (en) | 2010-06-03 |
BRPI0501957A (pt) | 2006-03-14 |
CA2508537A1 (en) | 2006-01-30 |
US20090235154A1 (en) | 2009-09-17 |
EP1622016A3 (en) | 2007-09-05 |
KR101153002B1 (ko) | 2012-07-03 |
US9317495B2 (en) | 2016-04-19 |
JP2006048647A (ja) | 2006-02-16 |
CA2508537C (en) | 2016-10-25 |
MXPA05005799A (es) | 2006-02-01 |
CN1728127B (zh) | 2011-03-09 |
CN1728127A (zh) | 2006-02-01 |
EP1622016A2 (en) | 2006-02-01 |
JP5154002B2 (ja) | 2013-02-27 |
RU2005116530A (ru) | 2006-11-20 |
BRPI0501957B1 (pt) | 2017-06-13 |
US8578399B2 (en) | 2013-11-05 |
KR20060046283A (ko) | 2006-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2408074C2 (ru) | Способ, система и устройство для предоставления доступа к моделям рабочих книг через удаленные вызовы функций | |
US10846153B2 (en) | Bot creation with workflow development system | |
US10346184B2 (en) | Open data protocol services in applications and interfaces across multiple platforms | |
US11314485B2 (en) | Lazy generation of templates | |
US10430035B2 (en) | Embedded analytics for applications and interfaces across multiple platforms | |
US10242406B2 (en) | Analytics integration workbench within a comprehensive framework for composing and executing analytics applications in business level languages | |
US8401993B2 (en) | Analytics integration server within a comprehensive framework for composing and executing analytics applications in business level languages | |
US10127299B2 (en) | Analytics information directories within a comprehensive framework for composing and executing analytics applications in business level languages | |
KR20080043327A (ko) | 스프레드쉬트 문서의 파라미터의 지정, 설정 및 발견 | |
Fill | SeMFIS: a flexible engineering platform for semantic annotations of conceptual models | |
JP5677319B2 (ja) | ウェブに基づくダイアグラム視覚性の拡張性 | |
JP2015517161A (ja) | コンテンツに基づくウェブ拡張およびコンテンツのリンク | |
US20240211684A1 (en) | Enhanced integration of spreadsheets with external environments | |
US20220284371A1 (en) | Method, device and medium for a business function page | |
EP1955201A2 (en) | Methods and apparatus for processing business objects, electronic forms, and workflows | |
US20150170068A1 (en) | Determining analysis recommendations based on data analysis context | |
CN113326680A (zh) | 生成表格的方法和装置 | |
JP2017509940A (ja) | データ尺度およびオブジェクトを交換および処理するためのシステム、デバイスおよび方法 | |
CN116483420A (zh) | 将业务逻辑与技术处理解耦的方法、装置和计算机介质 | |
US20150039358A1 (en) | Data persistence technology configurator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20150306 |
|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20190531 |