Collaborative, flexible, interactive real-time displays
First Claim
1. A method for sharing table views over a communication network, the method comprising:
- enabling, by a computer-based service that is provided over the communication network, a plurality of table views to be shared among a set of users over the communication network;
wherein the set of users includes a first user and a second user;
causing display of a table view, of said plurality of table views, in a first interface that is executing on a first computing device;
sending, by said computer-based service, data that defines the table view to a second interface that is executing on a second computing device to cause the table view to be displayed in the second interface;
wherein the second computing device is different than the first computing device;
wherein the step of sending data includes sending at least a portion of content of the table view;
maintaining, by said computer-based service, content, of the plurality of table views, that includes one or more attributes of the plurality of table views;
receiving from the first user a request to sort a column in the table view in the first interface;
in response to the request to sort the column in the table view, causing display of the sorted table view in the first interface and in the second interface;
enabling the second user to sort a second column in the table view in the second interface to automatically cause display of the table view, sorted according to the sort by the second user, in both the first interface and the second interface; and
enabling users in the set of users to independently concurrently navigate between the plurality of table views that are shared by the set of users.
0 Assignments
0 Petitions
Accused Products
Abstract
The invention relates to a method and apparatus for providing information in an easily customizable, interactive and collaborative format. The invention can be looked at as the combination of one or more functional components in one aspect, the invention features aggregating raw data on at least one DataServer connected to a communication network; performing analysis of that data using at least one AnalyticalServer that is connected to the network; maintaining a cache of the most recent data and analysis of that data from the AnalyticalServers on at least one ViewServer connected to the network; maintaining communications with the network for accessibility by users over the network; and maintaining an ApplicationServer on the network that, based either on requests of the user through the web server, or through an automatic refresh, generates display data using, for example, the cached information on the ViewServer. Various manipulations of the data, including, for example, flexibly sorting, movement, aggregation, filtering, charting/graphing, etc. of rows and columns of a display can be effected. The system can also provide redundancy and views of the data can be shared among plural sites.
273 Citations
309 Claims
-
1. A method for sharing table views over a communication network, the method comprising:
-
enabling, by a computer-based service that is provided over the communication network, a plurality of table views to be shared among a set of users over the communication network; wherein the set of users includes a first user and a second user; causing display of a table view, of said plurality of table views, in a first interface that is executing on a first computing device; sending, by said computer-based service, data that defines the table view to a second interface that is executing on a second computing device to cause the table view to be displayed in the second interface; wherein the second computing device is different than the first computing device; wherein the step of sending data includes sending at least a portion of content of the table view; maintaining, by said computer-based service, content, of the plurality of table views, that includes one or more attributes of the plurality of table views; receiving from the first user a request to sort a column in the table view in the first interface; in response to the request to sort the column in the table view, causing display of the sorted table view in the first interface and in the second interface; enabling the second user to sort a second column in the table view in the second interface to automatically cause display of the table view, sorted according to the sort by the second user, in both the first interface and the second interface; and enabling users in the set of users to independently concurrently navigate between the plurality of table views that are shared by the set of users. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 108)
-
-
22. A method for sharing access to table views over a communication network, the method comprising:
-
on a first computing device, receiving input from a first user; wherein the input selects one or more second users with whom to share one or more table views that are accessible to and viewable by the first user using a first interface that is executing on the first computing device; wherein the input causes a particular message to be communicated by a Web-based service to said one or more second users; wherein the particular message includes an access identifier which was created by the Web-based service; wherein the access identifier that is communicated to the one or more second users is an access identifier which, when used by said one or more second users, allows said one or more second users to access the one or more table views in corresponding interfaces that are executing on computing devices that are separate from said first computing device; displaying a table view, of said one or more table views, in the first interface on the first computing device; receiving input from the first user that sorts a column in the table view in the first interface on the first computing device; based on the input that sorts the column in the table view, displaying the sorted table view in the first interface and causing display of the sorted table view in a second interface that is executing on a second computing device; wherein the second interface is the corresponding interface of a second user, of said one or more second users, that used the access identifier; wherein the second computing device is different than the first computing device; wherein the Web-based service is remote relative to both the first computing device and the second computing device; and based on input that sorts a second column in the table view in the second interface on the second computing device, displaying, in the first interface, the table view as sorted in the second interface. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A method for obtaining access to table views over a communication network, the method comprising:
-
at a second computing device, receiving an email that was sent by a Web-based service in response to input received from a first user that was using a first computing device; wherein the Web-based service is remote relative to both the first computing device and the second computing device; wherein the input selected one or more second users with whom to share one or more table views that are accessible to and viewable by the first user using a first interface that is executing on the first computing device; wherein the email includes a link, created by the remotely-located Web-based service, which, when used by one of said one or more second users, allows the one of said one or more second users to access the one or more table views; wherein the second computing device is different than the first computing device; receiving, in a second interface executing on the second computing device, data that defines a table view, of said one or more table views, to cause the table view to be displayed by the second interface; wherein the data that defines the table view is received in the second interface in response, at least in part, to user input that uses the link on the second computing device; displaying the table view in the second interface on the second computing device; receiving input in the second interface that sorts a column in the table view in the second interface; and based on the input that sorts the column in the table view, displaying the sorted table view in the second interface and causing display, in real-time, of the sorted table view in the first interface. - View Dependent Claims (33, 34, 35, 36)
-
-
37. A method for sharing table views over a communication network, the method comprising:
-
sending, to a plurality of interfaces on a plurality of computing devices, data that defines a given table view of one or more table views, to cause the given table view to be displayed in each of said plurality of interfaces on said plurality of computing devices; sending, to the plurality of interfaces, data that defines a text entry view that has a relationship with the one or more table views; wherein the text entry view and the given table view are concurrently displayed in each of said plurality of the interfaces; enabling making changes to the given table view in a given interface of said plurality of the interfaces while the text entry view and the given table view are concurrently displayed in the given interface; sending, to said plurality of interfaces, associated with users, changes made to the one or more table views so that changes made to any of the one or more table views are reflected in every correspondent table view in every interface of the plurality of interfaces; and causing, in real-time, text entered by said users in the text entry view in any interface of said plurality of interfaces to be displayed in every other interface of said plurality of interfaces. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68)
-
-
69. A method for sharing access to table views over a communication network, the method comprising:
-
causing display of a table view, of one or more table views, in a first browser that is executing on a first computing device; receiving, from the first computing device, an indication of selection, by a first user, of one or more second users with whom to share the one or more table views; sending a particular message that includes an access identifier that enables said one or more second users to access the one or more table views; in response, at least in part, to receiving an indication of usage of the access identifier by a second user, sending data that defines the table view to a second browser that is executing on a second computing device to cause the table view to be displayed in the second browser; wherein the second computing device is different than the first computing device; wherein the second user is one of said one or more second users; enabling a text entry view, that is related to the one or more table views, to be displayed in both the first browser and the second browser; enabling making changes to the table view in the first browser while the text entry view and the table view are concurrently displayed in the first browser; while the text entry view and the table view are concurrently displayed in both the first browser and the second browser, causing any text entered into the text entry view at one of said first browser and said second browser to be displayed in the other of said first browser and said second browser; in one of said first browser and said second browser, receiving a request to sort data in said table view based on a particular sorting criteria; and in response to the request to sort data, causing the table view to be sorted based on said particular sorting criteria in the other of said first browser and said second browser. - View Dependent Claims (70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81)
-
-
82. A method for sharing access to table views over a communication network, the method comprising:
-
initiating, using a computing device, an invitation to cause a system to invite users to subscribe to data that defines one or more table views; wherein, after said users are subscribed to said data that defines said one or more table views, the system sends data that defines a given table view, of said one or more table views, to a plurality of interfaces associated with said users, to cause the given table view to be displayed in said plurality of interfaces; wherein the system sends data that defines the given table view to a given interface; making changes to the given table view in the given interface to cause the changes to be automatically reflected in said given table view that is viewable by at least one of said users; wherein the system sends, to the plurality of interfaces and the given interface, data that defines a text entry view that has a relationship with the one or more table views; wherein making changes to the given table view in the given interface is performed while the text entry view and the given table view are concurrently displayed in the given interface; while the text entry view and the given table view are concurrently displayed in each of said plurality of interfaces and in the given interface, entering first text in the text entry view in the given interface to cause the first text to be displayed in real time in said plurality of interfaces; and displaying, in real time, in the given interface, second text entered in the text entry view in any of the plurality of interfaces. - View Dependent Claims (83, 84, 85, 86, 87)
-
-
88. A method for accessing table views over a communication network, the method comprising:
-
accepting an invitation, using a computing device, sent by a system to invite users to subscribe to one or more table views; after accepting said invitation, receiving, at the computing device, from said system, data that defines a given table view of said one or more table views; wherein said data that defines said given table view is sent by the system to a given interface that is associated with a given user of the users, to cause the given table view to be displayed in said given interface; wherein the given interface is executing on the computing device; wherein the system sends data that defines the given table view to a plurality of interfaces executing on a plurality of computing devices that are different from the computing device; making changes to the given table view in the given interface to cause the changes to be automatically reflected in said given table view in said plurality of interfaces; wherein the system sends, to the plurality of interfaces and the given interface, data that defines a text entry view that has a relationship with the one or more table views; wherein making changes to the given table view in the given interface is performed while the text entry view and the given table view are concurrently displayed in the given interface; while the text entry view and the given table view are concurrently displayed in each of said plurality of interfaces and in the given interface, entering first text in the text entry view in the given interface to cause the first text to be displayed in real time in said plurality of interfaces; and displaying, in real time, in the given interface, second text entered in the text entry view in any of the plurality of interfaces.
-
-
89. A method for sharing content over a communication network, the method comprising:
-
generating, within a system, content for one or more table views to be displayed on a first computing device of a first user; receiving, from the first computing device, an indication of a first input that modifies the one or more table views; receiving, from the first computing device, an indication of a second input; in response to receiving the indication of the second input, sending, to at least one second computing device of at least one second user, a particular message that includes an access identifier that enables the at least one second user to interact with at least a portion of the one or more modified table views; wherein the at least one second computing device is different from said first computing device; in response to receiving an indication of usage of the access identifier by the at least one second user, the system sending the at least a portion of the one or more modified table views to the at least one second user for sharing; receiving, from the first computing device, an indication of a third input that sorts a column in a table view, of the one or more modified table views, on the first computing device, and based on receiving the indication of the third input, causing automatic display of the sorted table view on the first computing device and on the at least one second computing device; wherein the at least one second computing device is different than the first computing device; and enabling sorting of a second column in the sorted table view on the at least one second computing device to automatically cause display of the sorted table view, sorted according to the sort on the at least one second computing device, on both the first computing device and the at least one second computing device. - View Dependent Claims (90, 91, 92, 93, 94, 95, 96)
-
-
97. A computer-readable non-transitory storage that stores instructions which, when executed by one or more processors, cause the one or more processors to perform a method comprising:
-
sending over a communication network, to a plurality of interfaces on a plurality of computing devices, data that defines a given table view of one or more table views, to cause the given table view to be displayed in each of said plurality of interfaces on said plurality of computing devices; sending, to the plurality of interfaces, data that defines a text entry view that has a relationship with the one or more table views; wherein the text entry view and the given table view are concurrently displayed in each of said plurality of the interfaces; enabling making changes to the given table view in a given interface of said plurality of the interfaces while the text entry view and the given table view are concurrently displayed in the given interface; sending, to said plurality of interfaces, associated with users, changes made to the one or more table views so that changes made to any of the one or more table views are reflected in every correspondent table view in every interface of the plurality of interfaces; and causing, in real-time, text entered by said users in the text entry view in any interface of said plurality of interfaces to be displayed in every other interface of said plurality of interfaces.
-
-
98. A system, comprising one or more processors, configured to execute instructions that cause the system to perform a method comprising:
-
sending over a communication network, to a plurality of interfaces on a plurality of computing devices, data that defines a given table view of one or more table views, to cause the given table view to be displayed in each of said plurality of interfaces on said plurality of computing devices; sending, to the plurality of interfaces, data that defines a text entry view that has a relationship with the one or more table views; wherein the text entry view and the given table view are concurrently displayed in each of said plurality of the interfaces; enabling making changes to the given table view in a given interface of said plurality of the interfaces while the text entry view and the given table are concurrently displayed in the given interface; sending, to said plurality of interfaces, associated with users, changes made to the one or more table views so that changes made to any of the one or more table views are reflected in every correspondent table view in every interface of the plurality of interfaces; and causing, in real-time, text entered by said users in the text entry view in any interface of said plurality of interfaces to be displayed in every other interface of said plurality of interfaces. - View Dependent Claims (99, 100, 101, 308, 309)
-
-
102. A method for sharing table views over a communication network, the method comprising:
-
enabling, by a Web-based service that is provided over the communication network, one or more table views to be shared among a set of users over the communication network; enabling each user in the set of users to interact with the one or more table views through a corresponding interface; wherein the corresponding interface of each user in the set of users is executing on a distinct computing device from a set of computing devices; wherein the set of users includes a first user; receiving, from a first computing device, an indication of selection, by the first user, of one or more second users with whom to share the one or more table views; sending a particular message that includes an access identifier that enables said one or more second users to interact with the one or more table views; in response, at least in part, to receiving an indication of usage of the access identifier by a second user, sending, by the Web-based service, data that defines a given table view, of said one or more table views, to an interface, of the second user, that is executing on a second computing device, to cause the given table view to be displayed in the interface of the second user; wherein the second user is one of said one or more second users; wherein the second computing device is different than the first computing device; wherein the step of sending data includes sending at least a portion of content of the given table view; maintaining, by said Web-based service, content, of the one or more table views, that includes one or more attributes of the one or more table views; maintaining, by said Web-based service, a view group to which the one or more table views belong; wherein said Web-based service is executing on one or more servers that are remote relative to each computing device in the set of computing devices; wherein the interface of the second user is downloaded to the second computing device from the Web-based service, wherein the downloaded interface is executed in a web browser that is running on the second computing device; wherein the one or more table views are populated with values, and at least some of the values used to populate the one or more table views are calculated by an analytical server that executes remote relative to each computing device in the set of computing devices; said Web-based service enabling sharing of at least table view data and table view arrangement data for each table view, in said view group, between said set of users; receiving from the interface of a particular user of the set of users, a request to change the arrangement for a table view from the view group; in response to the request, performing the steps of; sending data that reflects said change to the interface of at least one of the users, from said set of users, that is sharing said changed table view with said particular user; and causing the interface, of the at least one of the users, to display content of said changed table view based on the way said changed table view content is displayed in the interface of the particular user, wherein causing the interface to display content of said changed table view includes causing the interface to reflect the change in the arrangement of said changed table view; enabling said at least one of the users to sort at least one row or at least one column of said changed table view in the interface of said at least one of the users to automatically cause display of said changed table view, sorted according to the sort by said at least one of the users, in both the interface of the particular user and the interface of said at least one of the users; wherein the change to the arrangement of said table view includes sorting of at least one row or at least one column of said table view; receiving from the interface of said particular user, an indication of input of user-provided data into a cell of a second given table view from the view group; causing display of the second given table view with the user-provided data in the interface of at least one other user in the set of users; recalculating data dependent on the user-provided data by said analytical server; and causing display of the second given table view with recalculated data in the interface of the particular user and in the interface of at least one other user in the set of users. - View Dependent Claims (103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148)
-
-
149. A method for sharing table views over a communication network, the method comprising:
-
enabling, by a computer-based service that is provided over the communication network, one or more table views to be shared among a set of users over the communication network; enabling each user in the set of users to interact with the one or more table views through a corresponding interface; wherein the corresponding interface of each user in the set of users is executing on a distinct computing device from a set of computing devices; sending, by the computer-based service, data that defines a table view, of said one or more table views, to the interface of a particular user, of the set of users, to cause the table view to be displayed in the interface of the particular user; wherein the step of sending data includes sending at least a portion of content of the table view; maintaining, by said computer-based service, content, of the one or more table views, that includes one or more attributes of the one or more table views; maintaining, by said computer-based service, a view group to which the one or more table views belong; wherein said computer-based service is executing on one or more servers that are remote relative to each computing device in the set of computing devices; said computer-based service enabling sharing of at least table view data and table view arrangement data for each table view, in said view group, between said set of users; receiving from the interface of the particular user, a request to change arrangement of the table view; in response to the request, performing the steps of; sending data that reflects said change to the interface of at least one of the users, from said set of users, that is sharing said changed table view with said particular user; and causing the interface, of said at least one of the users, to display content of said changed table view based on the way said changed table view content is displayed in the interface of the particular user, wherein causing the interface to display content of said changed table view includes causing the interface to reflect the change in the arrangement of said changed table view; wherein the change to the arrangement of said changed table view includes sorting a column of said changed table view; and enabling said at least one of the users to sort a second column of said changed table view in the interface of said at least one of the users to automatically cause display of said changed table view, sorted according to the sort by said at least one of the users, in both the interface of the particular user and the interface of said at least one of the users. - View Dependent Claims (150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305)
-
-
306. A computer-readable non-transitory storage that stores instructions which, when executed by one or more processors, cause the one or more processors to perform a method comprising:
-
enabling, by a computer-based service that is provided over a communication network, a plurality of table views to be shared among a set of users over the communication network; wherein the set of users includes a first user and a second user; causing display of a table view, of said plurality of table views, in a first interface that is executing on a first computing device; sending, by said computer-based service, data that defines the table view to a second interface that is executing on a second computing device to cause the table view to be displayed in the second interface; wherein the second computing device is different than the first computing device; wherein the step of sending data includes sending at least a portion of content of the table view; maintaining, by said computer-based service, content, of the plurality of table views, that includes one or more attributes of the plurality of table views; receiving from the first user a request to sort a column in the table view in the first interface; in response to the request to sort the column in the table view, causing display of the sorted table view in the first interface and in the second interface; enabling the second user to sort a second column in the table view in the second interface to automatically cause display of the table view, sorted according to the sort by the second user, in both the first interface and the second interface; and enabling users in the set of users to independently concurrently navigate between the plurality of table views that are shared by the set of users.
-
-
307. A system, comprising one or more processors, configured to execute instructions that cause the system to perform a method comprising:
-
enabling, by a computer-based service that is provided over a communication network, a plurality of table views to be shared among a set of users over the communication network; wherein the set of users includes a first user and a second user; causing display of a table view, of said plurality of table views, in a first interface that is executing on a first computing device; sending, by said computer-based service, data that defines the table view to a second interface that is executing on a second computing device to cause the table view to be displayed in the second interface; wherein the second computing device is different than the first computing device; wherein the step of sending data includes sending at least a portion of content of the table view; maintaining, by said computer-based service, content, of the plurality of table views, that includes one or more attributes of the plurality of table views; receiving from the first user a request to sort a column in the table view in the first interface; in response to the request to sort the column in the table view, causing display of the sorted table view in the first interface and in the second interface; enabling the second user to sort a second column in the table view in the second interface to automatically cause display of the table view, sorted according to the sort by the second user, in both the first interface and the second interface; and enabling users in the set of users to independently concurrently navigate between the plurality of table views that are shared by the set of users.
-
Specification