Patent Document ID: 9053466
Application ID: 11933176

Base Claim:
1. A computer-implemented method for providing a calendar publication, the computer-implemented method comprising: defining, based on input from a user, one or more calendar publication definitions including: (i) an identifier for the calendar publication and (ii) a set of criteria for qualifying calendar events from a calendar database for inclusion in or exclusion from the calendar publication, the set of criteria including one or more query conditions; activating a publication agent for processing each calendar publication definition by applying the respective qualifying criteria to the calendar database in order to identify a subset of qualified calendar events from the calendar database to include in the calendar publication and resulting in one or more calendar events in the calendar database being excluded from the calendar publication, wherein applying the qualifying criteria includes constructing a database query from the one or more query conditions, wherein the calendar publication is uniquely identifiable and exists independently of any subscriber count thereto; aggregating the qualified calendar events into the calendar publication; and making the calendar publication available for subscription, without first requiring a publisher of the calendar publication to ascertain any subsequent subscriber to the calendar publication, wherein the calendar publication is platform-independent relative to at least one of: (i) a plurality of calendaring database platforms and (ii) a plurality of calendaring client platforms.

---

Claim 8:
8. The computer-implemented method of claim 1 , wherein the set of criteria include a plurality of conditions including the one or more conditions, wherein the database query includes a database query predicate generated from the plurality of query conditions using a query predicate generator, wherein each query condition includes a comparison operator and a comparison value for a database attribute, wherein the comparison operator comprises at least one of a matching operator, a non-matching operator, and a range operator, wherein the plurality of query conditions include: (i) a first query condition having a first comparison operator selected from a greater-than operator and a greater-than-or-equal-to operator, wherein the first comparison operator is associated with a first comparison value; and (ii) a second query condition having a second comparison operator selected from a less-than operator and a less-than-or-equal-to operator, wherein the second comparison operator is associated with a second comparison value; and wherein the first condition and the second condition are determined to belong to a first parenthesized group; executing a query predicate generator in order to programmatically determine, based on the query conditions, at least one logical operator to include between the query conditions, wherein the first parenthesized group having the first comparison operator and the second comparison operator is modified based on the at least one logical operator, wherein determining the at least one logical operator comprises: upon determining that the first comparison value is less than the second comparison value, chaining the first and second query conditions with a logical AND operator; and upon determining that the first comparison value is greater than the second comparison value, chaining the first and second query conditions with a logical OR operator; and programmatically generating at least one database query predicate to include in a database query to apply against the database for obtaining a set of query results, wherein the database query includes the received query conditions chained using the determined at least one logical operator.