US20020161756A1 - System and method for performing local searhces across user defined events - Google Patents

System and method for performing local searhces across user defined events Download PDF

Info

Publication number
US20020161756A1
US20020161756A1 US10/085,425 US8542502A US2002161756A1 US 20020161756 A1 US20020161756 A1 US 20020161756A1 US 8542502 A US8542502 A US 8542502A US 2002161756 A1 US2002161756 A1 US 2002161756A1
Authority
US
United States
Prior art keywords
zip
events
calendar
event
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/085,425
Inventor
William Fesq
Michael Ogrinz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US10/085,425 priority Critical patent/US20020161756A1/en
Publication of US20020161756A1 publication Critical patent/US20020161756A1/en
Priority to US12/572,544 priority patent/US7970751B2/en
Priority to US13/112,079 priority patent/US20110225184A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Definitions

  • search engine applications e.g., yahoo.com.
  • a typical search engine receives one or more keyword parameters from a user and returns a listing of data that incorporates or is a match for the provided keywords.
  • Many search engines through the use of automated agents such as bots and spiders, collect information by following hyperlinks between documents in order to create an index. The search engine uses the index to create a list of results falling within the scope of the query defined by the user.
  • search engines have nevertheless failed to provide a solution that allows a user to use current search engine technology to search across calendars for one or more user defined events.
  • the present invention comprises a system and method for performing searches across user defined events for an arbitrary geographic region or regions.
  • the system of the present invention comprises an event data structure.
  • the event data structure is made up of one or more user defined events, each associated with a zip code.
  • a zip list processor is provided to receive a zip code and a distance value. These data are used to calculate a zip list comprising all zip codes geographically located with the distance value from the zip code.
  • An event list generator receives the zip list and queries the event data structure to retrieve events associated with zip codes contained in the zip list.
  • the zip list processor utilizes great circle mathematics to calculate all zip codes geographically located with the distance value from the zip code.
  • a zip data structure is provided to store one or more zip codes and associated latitude and longitude values, which are used by the zip list processor in performing great circle calculations.
  • the system of the present invention may also comprise a calendar generator to facilitate creation of calendars and a calendar data structure in which to store them.
  • a calendar generator to facilitate creation of calendars and a calendar data structure in which to store them.
  • Each of the one or more user defined events are associated with a calendar in the calendar data structure.
  • the calendar generator may further be operative format and present the calendar and associated user defined events on a display device.
  • the system of the present invention allows a user to mark the user defined events as public or private events. Accordingly, private events are excluded from the query performed by the event list generator.
  • the present invention further describes a method for performing searches across user defined events for an arbitrary geographic region or regions.
  • the method of the present invention comprises creating an event data structure to contain or manage one or more user defined events. Each event in the event data structure is associated with a zip code.
  • a zip list comprising all zip codes geographically located within a distance equal to a received distance value from a received zip code is calculated and the event data structure is queried to retrieve events associated with zip codes contained in the zip list.
  • calculating the zip list comprises utilizing great circle mathematics to calculate all zip codes geographically located with the distance value from the zip code.
  • the step of calculating may also comprise retrieving zip codes from a zip data structure used to store one or more zip codes and associated latitude and longitude values.
  • a calendar data structure may be generated along with one or more calendars through the use of a calendar generator.
  • Each of the one or more user defined events may be associated with a calendar in the calendar data structure.
  • the method also comprises the steps of formatting and presenting the calendar and associated user defined events on a display device.
  • the one or more user defined events may be marked as public or private events, wherein querying excludes private events.
  • FIG. 1 is a block diagram presenting a configuration of the various hardware and software components according to one embodiment of the present invention
  • FIG. 2 presents a Calendar Data Structure data file according to one embodiment of the present invention
  • FIG. 3 presents an Event Data Structure data file according to one embodiment of the present invention
  • FIG. 4 is a flow diagram presenting the process of generating calendars and associated events according to one embodiment of the present invention
  • FIG. 5 is a flow diagram presenting the process of searching for events contained within user calendars located within an indicated radius of a particular zip code
  • FIG. 6 is a flow diagram presenting the process of determining all zip codes that lie within a given radius of a target zip code
  • FIG. 7 is a screen diagram presenting one embodiment of a home page for an information system configured according to the present invention.
  • FIG. 8 is a screen diagram presenting a personal calendar according to one embodiment of the present invention.
  • FIG. 9 is a screen diagram presenting a personal calendar populated with user defined events according to one embodiment of the present invention.
  • FIG. 10 is a screen drawing presenting an interface for defining advanced event searches according to one embodiment of the present invention.
  • FIG. 11 is a screen drawing presenting a search result according to one embodiment of the present invention.
  • FIG. 12 is a screen drawing presenting a search result according to one embodiment of the present invention.
  • FIG. 13 is a screen drawing presenting an event tool according to one embodiment of the present invention.
  • FIG. 1 a system of one preferred embodiment of the invention is implemented in a computer network environment such as the Internet, an intranet, or other closed or organizational network.
  • a number of clients 24 and servers 10 are connected to a network 22 by various means, such as network interface hardware (not pictured).
  • the servers 10 may be web servers that receive requests for data from clients 24 via HTTP, retrieve the requested data, and deliver them to the client 24 over the network 22 .
  • the transfer may be according to TCP or UDP protocols, and data transmitted from the server 10 are preferably unicast to requesting clients.
  • the server 10 contains several components or systems including a calendar generator 20 , a zip list processor 14 , and an event list generator 16 .
  • the server 10 further contains a plurality of data structures or resource files including a calendar data structure 18 , an event data structure 12 , an advertisement data structure 15 , and a zip data structure 13 .
  • These components may be comprised of hardware and software elements, or may be implemented as software programs residing and executing on a general purpose computer and which cause the computer to perform the functions described in greater detail below.
  • a calendar generator 20 is provided that facilitates creation of new calendars and presents existing calendars to users.
  • a username and password are provided.
  • the data is used to query the calendar data structure 18 and determine if the user has an existing calendar on the system.
  • the calendar generator 20 interacts with the calendar and event data structures 18 and 12 to present calendar data to users.
  • Data retrieved from the calendar and event data structures 18 and 12 is formatted according to any number of formatting or markup languages. For example, the data is formatted according to Hypertext Markup language and rendered by a browser on the client device 24 .
  • the calendar generator 20 handles the creation of new calendars and events and provides a Graphical User Interface (GUI) to modify data.
  • GUI Graphical User Interface
  • the zip list processor and event list generator 16 provide search and retrieval functionality that allows searches over local events defined in calendars through use of the calendar generator 20 .
  • a user uses the GUI provided by the calendar generator 20 to provide search data, for example, target search zip code, date, search radius, etc.
  • the zip list processor 14 generates a list of zip codes that are geographically within the search radius of the provided zip code.
  • the event list generator 16 uses the list of zip codes to retrieve events that are associated with the zip codes in the generated list. As is explained in greater detail, events may be marked as private events, thereby restricting the event list generator 16 .
  • the event list generator 16 queries the advertisement data structure 15 to retrieve advertisements associated with zip codes in the zip code list generated by the zip list processor. The results may be passed to the calendar generator for presentation on the provided GUI.
  • FIG. 2 presents a calendar data structure according to one embodiment of the present invention.
  • Data is organized into columns and rows, with each row representing an individual record of data and each column representing a piece of the total data comprising a record.
  • the calendar data structure 28 may be a flat file record, such as a comma or tab delimited record.
  • the calendar data structure 28 may be a table in a relational database or an object in an object oriented database.
  • Each entry in the calendar data structure 28 must be identified by a unique calendar id 30 , which is used to associate events created by a user with the calendar.
  • the username 32 and password 33 that provide access to the calendar are also stored in the data structure and used to validate identity and display the correct calendar to the intended user.
  • the username 32 and password 33 data may be stored in a discrete user data structure. Additional user or calendar data can also be stored in the data structure, such as contact information for the owner of the calendar 34 .
  • FIG. 3 presents an event data structure according to one embodiment of the present invention.
  • Data is organized into columns and rows, with each row representing an individual record of data and each column representing a piece of the total data comprising a record.
  • the event data structure 36 may be a flat file record, such as a comma or tab delimited record.
  • the calendar data structure 36 may be a table in a relational database or an object in an object oriented database.
  • a unique event id 38 and an identifier indicating which calendar the event is associated with 40 identify each event stored in the data structure. Because the events occur at specific date or dates, event date data 44 is also stored here. A data field is also provided to furnish a description of the event 46 .
  • Calendars contain events marked as either public or private 43 .
  • a field is populated with binary data indicating whether or not the event is a public event.
  • Private events are not included within the set of events searched when a local search is executed. Private events only appear on the calendar of the user that the event is associated with.
  • events flagged as public events are included in the set of events that are searched when a local search is executed.
  • events may be flagged as public but not searchable, indicating that the event appears on a user's published calendar but is not be included within the set of events searched.
  • Each event is also associated with a specific zip code 42 that is used to define the geographic location where an event is taking place. The zip data, in conjunction with the event date data, is used to facilitate local searches across all public events contained in the Event Data Structure.
  • a zip list processor 14 is provided to calculate all zip codes geographically located within a specified distance from a target zip code.
  • the component receives a target zip code as a central point for the search and a “radius”, indicating the size of the search zone in relation to the specified zip code. For example, to find all local events occurring within 30 miles of Wales, N.J., the zip code 07461 and a radius of 30 would be supplied. Because there are multiple zip codes within 30 miles of Wales, the search operation must identify these additional zip codes and assemble them into a zip list.
  • the additional zip codes lying within the radius supplied by the user is determined by analysis performed by the zip list processor on data contained in the zip data structure 14 .
  • the latitude and longitude for the target zip code is retrieved from a zip data structure 13 , which preferably contains a list of every zip code in the United States along with its associated latitude and longitude.
  • the zip list processor 16 applies the distance formula presented in table 1, derived from the “Great Circle” branch of mathematics, to every other zip code latitude and longitude in the zip data structure 13 .
  • pointAlatitude and pointBlongitude are the latitude and longitude, respectively, for the supplied zip and where preferably the value of pi equals 3.141 and constant equals 69.097.
  • the zip data structure is traversed, with the longitude and latitude of each zip evaluated in the equation, resulting in a list of all zip codes within the supplied radius of the target zip, e.g., a zip list.
  • An event list generator 16 is provided to produce a list of events from user created data stored in the event data structure 12 .
  • the event list generator 16 receives a zip list created by the zip list processor 14 defining the geographic scope for an event search. Date parameters are also provided by the user through an interface provided on the client device 24 .
  • the event list generator 16 queries the event data structure 12 , using the date and zip parameters, to create a result set.
  • the result set contains all events occurring in zip codes contained in the zip list and within the date scope selected by the user.
  • the generated list data is passed to the calendar generator 20 for formatting so the data is properly displayed on the client device 24 .
  • the event list generator 16 interacts with an advertisement data structure 15 .
  • the advertisement data structure 15 contains advertisement data including, but not limited to, graphics, text, sound, and other multimedia data used in the presentation of an advertisement.
  • Each ad in the data structure 15 is associated with one or more zip codes.
  • the event list generator 16 retrieves advertisements with zip codes that match zip codes contained in the zip list generated by the zip list processor 14 . In this manner, only advertisements targeted to the geographic area being searched are presented to the user. The advertisements are passed with the retrieved events to the calendar generator 20 for formatting and presentation.
  • FIG. 4 One embodiment of a process executed by the above described system to generate calendars and associated events is presented in FIG. 4.
  • a client device accesses the calendar generator software, a check is performed to determine if the user is associated with a calendar existing on the system, step 48 . If the user is recognized by the system as an existing user, their calendar and associated events are retrieved from the calendar and event data structures, respectively, and displayed on the client device, step 54 .
  • step 48 the calendar generator software generates a new calendar and assigns it a unique numeric or alphanumeric identifier, step 50 . Additional data regarding the user is also collected, step 51 . This data includes, but is not limited to, user id and password data, demographic data, and location data.
  • the calendar with miscellaneous data, is written to the calendar data structure and displayed on the client device, step 52 .
  • the calendar is displayed on the client device and the calendar generator software waits for the user to indicate a desire to generate events within the calendar, steps 55 and 56 .
  • users are provided with controls by the calendar software to mark events as either public or private. Private events are associated with a user's calendar, but are not included within the result set of a search. These events appear only on the individual's calendar. Conversely, public events comprise the set of events that local searches are performed upon. These events also appear on the calendar of the user who created the event. If the user indicates that no events are to be generated, step 56 , the routine ends, step 58 , and the user is free to modify personal data or perform searches.
  • step 56 the calendar generator software presents an event generation interface that allows the user to identify the event as either public or private, set start and end time of the event, and provide an event description and location, step 59 .
  • Event parameters are set through the provided interface, a unique event identifier is generated and the event is recorded in the event data structure, step 60 .
  • the event is written to the event data structure and a check is performed to determine if additional events are to be generated, step 62 . If additional events are to be generated, processing returns to step 59 and the user is again presented with the event generation interface. Where no more events are to be generated, step 62 , the routine ends, step 64 .
  • the calendar generator software provides a search interface.
  • a user interacts with the interface to supply search parameters including a zip code, search radius, and start and end dates for the search, step 66 .
  • the search radius can be set in terms of time, e.g., 30 minutes, which is converted into a unit of distance based on a set of predetermined assumptions.
  • Zip codes may also be substituted with other geographic locators, such as area codes or town names. Any method selected for determining geographic location of an event must be associated with its latitude and longitude, e.g., location on the earth, so the zip list processor can perform its function properly.
  • the zip list processor receives a selected zip code and radius as parameters. Using these parameters, the processor calculates all zip codes that lie geographically within the radius of the supplied zip code, step 68 . For example, if a user supplied the zip code 10019 with a radius of one mile, the zip list processor returns a list of all zip codes that lie geographically within one mile of zip code 10019. This list of zip codes determines the geographic scope of events that comprise the event list ultimately generated by the method.
  • the zip list generated by the zip list processor is passed as input to the event list generator.
  • the event list generator queries the event data structure and retrieves all public events that are associated with zip codes contained in the zip code list and occur within the start and end dates supplied by the user through the search interface, step 70 .
  • the events are recorded in an event list.
  • this event list is stored in transient memory so as to provide quick and efficient access to the list.
  • this list may be held in persistent memory.
  • a check is then performed to determine if the event list returned by the event list generator is null, step 72 . If the event list contains not events, e.g., no events are taking place within the specified number of miles of the supplied zip code during the supplied dates, a default “no results” screen is presented to the user, step 74 . According to some embodiments, the default screen presented to the user when no events are found contains advertisements associated with the zip codes returned by the zip list generator. A check is made to determine is additional searches are desired, step 80 . If additional searches are requested, processing returns to step 66 and the method is repeated.
  • the event list generator finds events that take place in zip codes contained in the zip list during the selected dates, step 72 .
  • the event list generator retrieves one or more advertisements from an advertisement data structure, step 76 .
  • the selected advertisements are those associated with one or more of the zip codes contained in the zip code list. This allows local businesses to target their advertisements towards users that have expressed an interest in a particular local geographic location.
  • algorithms may be applied to randomly select a predetermined number of advertisements that are targeted to the selected zip codes or advertisements may contain a priority code and, based upon the priority code, certain advertisements are selected more often than others are. Providing a mechanism that gives priority to certain advertisements produces an additional revenue stream in that advertisers drive up the price of advertising in particularly desirous zip codes.
  • the calendar generation software merges the event and advertisement lists and presents them to the user in a unified fashion, step 78 .
  • one or more advertisements are appended before and after a list of events occurring within the selected zip codes during the supplied dates or the advertisements may all come before or after the event list.
  • selecting any event in the event list causes the calendar generation software to retrieve additional information regarding the event from the event data structure.
  • selecting an advertisement retrieves additional information regarding the product or service advertised.
  • a check is performed to determine if additional searches are required by the user, step 80 . If additional searches are required, processing returns to step 66 and the method is repeated. The routine ends if no additional searches are required, step 82 .
  • FIG. 6 details the method executed by the zip list generator to determine all zip codes that lie within a supplied distance of a selected zip code.
  • the longitude and latitude of the supplied zip code is calculated, step 84 .
  • Variables are set for the calculated longitude and latitude of the supplied zip code, step 86 .
  • the next zip code is selected from the zip data structure, step 87 .
  • the distance between the two is calculated according the supplied formula, step 88 . If the distance between the supplied and selected zip codes is less than or equal to the radius distance supplied by the user, step 90 , the zip code is written to the zip code list, step 92 .
  • step 90 Where the distance is greater than the supplied radius, step 90 , or there are additional zip codes to evaluate, step 94 , processing returns to step 87 and the distance formula is evaluated using the next zip code contained in the zip data structure.
  • step 96 Once the supplied zip code has been evaluated against every entry in the zip data structure, a list is created that contains all zip codes within a certain distance of a supplied zip code and processing ends, step 96 .
  • FIG. 7 a home page presenting a calendar system of the present invention comprises a search tool 700 and a sign-on tool 702 .
  • a user provides a target zip code 710 and a search radius 712 .
  • Selection of the “go” control passes these data to the zip list processor and event list generator to retrieve local events within the search radius of the provided zip code, e.g., as described in FIGS. 5 and 6.
  • Users who are registered with the system and have previously generated calendars may retrieve them through use of the sign-on tool 702 .
  • a user supplies their sign-on id 706 and a password 706 .
  • Selection of the login control causes the calendar generator to retrieve the calendar associated with the user's sign-on id 706 .
  • FIG. 8 illustrates a new calendar 802 presented by the calendar generator.
  • a series of system action and navigation controls 812 For example, a user may choose to add events 812 a to their calendar 802 , exit their own calendar 802 to execute searches for local events 812 b associated with calendars that belong to other users, or exit the system 812 c.
  • a composite of the current month is displayed 810 , allowing the user to select a hyperlink contained therein that retrieves and displays any events in the user's calendar 802 that are associated with the selected day. Additional months may be retrieved for display by the calendar generator through selection of the next month 804 and previous month 806 controls.
  • FIG. 9 builds on the new, unpopulated calendar 802 presented in FIG. 8.
  • controls 812 providing access to an add event subsystem provided by the calendar generator, the user has added a plurality of events 902 , 904 , and 906 to the calendar 802 .
  • events may be marked as private events that, although they appear in the individual user's calendar, do not for the set of events searched for and retrieved by the system and method of the present invention
  • FIG. 10 presents one embodiment of such as search tool.
  • Controls are provided for the user to supply a target zip code 1002 on which the local event search is conducted.
  • a control to provide a search radius 1004 around the target zip code to from which to return local events.
  • the search may also be narrowed down to a particular date 1006 .
  • events in certain embodiments may be associated with categories, a plurality of checkboxes 1008 are provided over which the search may be further focused.
  • These data are provided to the zip list processor and event list generator, which use it to create a query that retrieves local events falling within the scope of the query. The results are presented to the user as illustrated in FIGS. 11 and 12.
  • FIG. 11 presents the results of a local search executed by the user on all events taking place within a 90-mile radius of a selected zip code in New York City 1100 .
  • the calendar generator presents the results here as a “one week” view, e.g., all the events taking place the week of Jan. 28, 2001.
  • Local event data is presented for those days that local events fall on.
  • An event 1102 may comprise the name of the event 1102 a, a category for the even 1102 b, a general metropolitan location where the event is taking place 1102 c, and the distance of the event from the target zip code 1102 d.
  • FIG. 12 returns data from the same result set, but presented in a “one month” view 1202 . Data from the previous format 1102 and 1104 is displayed according to their event dates, in addition to other event data 1202 , 1204 , and 1206 for other events occurring during the same month.
  • FIG. 13 one embodiment of an interface for adding new events to a user calendar 1300 is presented.
  • Text entry controls are provided that allow a user to provide a tile 1302 and description 1304 for a new event added to a calendar through the interface 1300 .
  • the user may also define additional parameters regarding the event, such as the data and time when the event occurs 1308 .
  • Each event may also be defined as public or private, as well as be associated with a zip code where the event is geographically taking place and a category 1313 .
  • An icon representing the event is optionally defined 1312 , as well as parameters indicating the frequency that the event repeats in the future 1314 .
  • a reminder may be defined, causing the calendar generator or other responsible subsystem to generate and transmit a reminder on or before the beginning of the event 1316 .
  • the user selects a save control 1304 , causing the calendar generator to associate the event with a particular calendar and write the event to the event data structure.

Abstract

The instant invention presents a system and method for performing local searches across one or more events created by one or more users. The system of the present invention comprises an event data structure comprising one or more user defined events, each event associated with a zip code. A zip list processor is provided to receive a zip code and a distance value, e.g., from user defined input, which are used to calculate a zip list comprising all zip codes geographically located with the distance value from the zip code. An event list generator to receives the zip list and queries the event data structure to retrieve events associated with codes contained in the zip list. The method of the present invention comprises creating an event data structure comprising one or more user defined events, each event associated with a zip code, calculating a zip list comprising all zip codes geographically located within a distance equal to a received distance value from a received zip code, and querying the event data structure to retrieve events associated with zip codes contained in the zip list.

Description

    BACKGROUND OF THE INVENTION
  • Information technology is one of the primary reasons for the unprecedented growth in use of personal computers. Using application programs developed for different personal computer platforms, an application developer may handle information in a variety of ways. Entirely new industries have been founded based on the ability of the personal computer to acquire, store, and manipulate information. [0001]
  • As the personal computer has continued to increase its penetration into the consumer market, users have found that computers are able to replace many traditional “activities”. For example, it is quite common for an individual to keep a calendar in order to maintain their daily events, which is a task excellently suited to the computer. This concept has been extended to the networked computing environment of the Internet whereby calendars are accessible via a network, not just the calendar owner's individual personal computer. Even through interconnections between computers such as that provided by the Internet, however, many application programs used to acquire, store and manipulate personal calendar lack functionality that allows a user to view data across many calendars. Moreover, application such as this lack functionality allowing a user to review events taking place in arbitrary geographical locations as defined by a local user. [0002]
  • In order to assist users in taming vast amounts of information accessible through the Internet, application programmers have developed search engine applications, e.g., yahoo.com. A typical search engine receives one or more keyword parameters from a user and returns a listing of data that incorporates or is a match for the provided keywords. Many search engines, through the use of automated agents such as bots and spiders, collect information by following hyperlinks between documents in order to create an index. The search engine uses the index to create a list of results falling within the scope of the query defined by the user. Currently available search engines have nevertheless failed to provide a solution that allows a user to use current search engine technology to search across calendars for one or more user defined events. [0003]
  • There is thus a need for a system and method that exploits the intersection of web based calendars and search engines in such a way as to allow searches across user defined event for an arbitrary geographic region or regions. [0004]
  • SUMMARY OF THE INVENTION
  • The present invention comprises a system and method for performing searches across user defined events for an arbitrary geographic region or regions. The system of the present invention comprises an event data structure. The event data structure is made up of one or more user defined events, each associated with a zip code. A zip list processor is provided to receive a zip code and a distance value. These data are used to calculate a zip list comprising all zip codes geographically located with the distance value from the zip code. An event list generator receives the zip list and queries the event data structure to retrieve events associated with zip codes contained in the zip list. [0005]
  • According to one embodiment of the invention, the zip list processor utilizes great circle mathematics to calculate all zip codes geographically located with the distance value from the zip code. A zip data structure is provided to store one or more zip codes and associated latitude and longitude values, which are used by the zip list processor in performing great circle calculations. [0006]
  • The system of the present invention may also comprise a calendar generator to facilitate creation of calendars and a calendar data structure in which to store them. Each of the one or more user defined events are associated with a calendar in the calendar data structure. The calendar generator may further be operative format and present the calendar and associated user defined events on a display device. [0007]
  • The system of the present invention allows a user to mark the user defined events as public or private events. Accordingly, private events are excluded from the query performed by the event list generator. [0008]
  • The present invention further describes a method for performing searches across user defined events for an arbitrary geographic region or regions. The method of the present invention comprises creating an event data structure to contain or manage one or more user defined events. Each event in the event data structure is associated with a zip code. A zip list comprising all zip codes geographically located within a distance equal to a received distance value from a received zip code is calculated and the event data structure is queried to retrieve events associated with zip codes contained in the zip list. [0009]
  • According to some embodiments, calculating the zip list comprises utilizing great circle mathematics to calculate all zip codes geographically located with the distance value from the zip code. The step of calculating may also comprise retrieving zip codes from a zip data structure used to store one or more zip codes and associated latitude and longitude values. [0010]
  • A calendar data structure may be generated along with one or more calendars through the use of a calendar generator. Each of the one or more user defined events may be associated with a calendar in the calendar data structure. The method also comprises the steps of formatting and presenting the calendar and associated user defined events on a display device. The one or more user defined events may be marked as public or private events, wherein querying excludes private events.[0011]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram presenting a configuration of the various hardware and software components according to one embodiment of the present invention; [0012]
  • FIG. 2 presents a Calendar Data Structure data file according to one embodiment of the present invention; [0013]
  • FIG. 3 presents an Event Data Structure data file according to one embodiment of the present invention; [0014]
  • FIG. 4 is a flow diagram presenting the process of generating calendars and associated events according to one embodiment of the present invention; [0015]
  • FIG. 5 is a flow diagram presenting the process of searching for events contained within user calendars located within an indicated radius of a particular zip code; [0016]
  • FIG. 6 is a flow diagram presenting the process of determining all zip codes that lie within a given radius of a target zip code; [0017]
  • FIG. 7 is a screen diagram presenting one embodiment of a home page for an information system configured according to the present invention; [0018]
  • FIG. 8 is a screen diagram presenting a personal calendar according to one embodiment of the present invention; [0019]
  • FIG. 9 is a screen diagram presenting a personal calendar populated with user defined events according to one embodiment of the present invention; [0020]
  • FIG. 10 is a screen drawing presenting an interface for defining advanced event searches according to one embodiment of the present invention; [0021]
  • FIG. 11 is a screen drawing presenting a search result according to one embodiment of the present invention; [0022]
  • FIG. 12 is a screen drawing presenting a search result according to one embodiment of the present invention; and [0023]
  • FIG. 13 is a screen drawing presenting an event tool according to one embodiment of the present invention.[0024]
  • DETAILED DESCRIPTION OF THE INVENTION
  • With reference to FIGS. 1 through 12, detailed embodiments of the present invention are now described. Referring to FIG. 1, a system of one preferred embodiment of the invention is implemented in a computer network environment such as the Internet, an intranet, or other closed or organizational network. A number of [0025] clients 24 and servers 10 are connected to a network 22 by various means, such as network interface hardware (not pictured). For example, if the network 22 is the Internet, the servers 10 may be web servers that receive requests for data from clients 24 via HTTP, retrieve the requested data, and deliver them to the client 24 over the network 22. The transfer may be according to TCP or UDP protocols, and data transmitted from the server 10 are preferably unicast to requesting clients.
  • The [0026] server 10 contains several components or systems including a calendar generator 20, a zip list processor 14, and an event list generator 16. The server 10 further contains a plurality of data structures or resource files including a calendar data structure 18, an event data structure 12, an advertisement data structure 15, and a zip data structure 13. These components may be comprised of hardware and software elements, or may be implemented as software programs residing and executing on a general purpose computer and which cause the computer to perform the functions described in greater detail below.
  • A [0027] calendar generator 20 is provided that facilitates creation of new calendars and presents existing calendars to users. When a user accesses the calendar generator 20 through a client device 24, a username and password are provided. The data is used to query the calendar data structure 18 and determine if the user has an existing calendar on the system. According to preferred embodiments, the calendar generator 20 interacts with the calendar and event data structures 18 and 12 to present calendar data to users. Data retrieved from the calendar and event data structures 18 and 12 is formatted according to any number of formatting or markup languages. For example, the data is formatted according to Hypertext Markup language and rendered by a browser on the client device 24. Furthermore, the calendar generator 20 handles the creation of new calendars and events and provides a Graphical User Interface (GUI) to modify data.
  • The zip list processor and [0028] event list generator 16 provide search and retrieval functionality that allows searches over local events defined in calendars through use of the calendar generator 20. Using the GUI provided by the calendar generator 20, a user provides search data, for example, target search zip code, date, search radius, etc. The zip list processor 14 generates a list of zip codes that are geographically within the search radius of the provided zip code. The event list generator 16 uses the list of zip codes to retrieve events that are associated with the zip codes in the generated list. As is explained in greater detail, events may be marked as private events, thereby restricting the event list generator 16. According to some embodiments, the event list generator 16 queries the advertisement data structure 15 to retrieve advertisements associated with zip codes in the zip code list generated by the zip list processor. The results may be passed to the calendar generator for presentation on the provided GUI.
  • FIG. 2 presents a calendar data structure according to one embodiment of the present invention. Data is organized into columns and rows, with each row representing an individual record of data and each column representing a piece of the total data comprising a record. The [0029] calendar data structure 28 may be a flat file record, such as a comma or tab delimited record. According to alternative embodiments, the calendar data structure 28 may be a table in a relational database or an object in an object oriented database. Each entry in the calendar data structure 28 must be identified by a unique calendar id 30, which is used to associate events created by a user with the calendar. The username 32 and password 33 that provide access to the calendar are also stored in the data structure and used to validate identity and display the correct calendar to the intended user. Alternatively, the username 32 and password 33 data may be stored in a discrete user data structure. Additional user or calendar data can also be stored in the data structure, such as contact information for the owner of the calendar 34.
  • FIG. 3 presents an event data structure according to one embodiment of the present invention. Data is organized into columns and rows, with each row representing an individual record of data and each column representing a piece of the total data comprising a record. The [0030] event data structure 36 may be a flat file record, such as a comma or tab delimited record. According to alternative embodiments, the calendar data structure 36 may be a table in a relational database or an object in an object oriented database.
  • A [0031] unique event id 38 and an identifier indicating which calendar the event is associated with 40 identify each event stored in the data structure. Because the events occur at specific date or dates, event date data 44 is also stored here. A data field is also provided to furnish a description of the event 46. When a particular calendar is retrieved by the calendar generator 20 for presentation on a client device 24, all events associated with the particular calendar's id are retrieved and inserted into the calendar at the date the event occurs.
  • Calendars contain events marked as either public or private [0032] 43. Preferably, a field is populated with binary data indicating whether or not the event is a public event. Private events are not included within the set of events searched when a local search is executed. Private events only appear on the calendar of the user that the event is associated with. Conversely, events flagged as public events are included in the set of events that are searched when a local search is executed. Alternatively, events may be flagged as public but not searchable, indicating that the event appears on a user's published calendar but is not be included within the set of events searched. Each event is also associated with a specific zip code 42 that is used to define the geographic location where an event is taking place. The zip data, in conjunction with the event date data, is used to facilitate local searches across all public events contained in the Event Data Structure.
  • Returning to the system presented in FIG. 1, a [0033] zip list processor 14 is provided to calculate all zip codes geographically located within a specified distance from a target zip code. The component receives a target zip code as a central point for the search and a “radius”, indicating the size of the search zone in relation to the specified zip code. For example, to find all local events occurring within 30 miles of Sussex, N.J., the zip code 07461 and a radius of 30 would be supplied. Because there are multiple zip codes within 30 miles of Sussex, the search operation must identify these additional zip codes and assemble them into a zip list.
  • The additional zip codes lying within the radius supplied by the user is determined by analysis performed by the zip list processor on data contained in the [0034] zip data structure 14. The latitude and longitude for the target zip code is retrieved from a zip data structure 13, which preferably contains a list of every zip code in the United States along with its associated latitude and longitude. The zip list processor16 applies the distance formula presented in table 1, derived from the “Great Circle” branch of mathematics, to every other zip code latitude and longitude in the zip data structure 13.
    TABLE 1
    Distance = cos ( pointAlatitude ) * cos ( pointBlatitude ) * pi * 180 ) * cos ( pointBlongitude * pi * 180 - pointAlongitude ) ) + ( sin ( pointAlatitude ) * sin ( pointBlatitude * pi * 180 ) ) ) * constant pi * 180
    Figure US20020161756A1-20021031-M00001
  • In the above equation, pointAlatitude and pointBlongitude are the latitude and longitude, respectively, for the supplied zip and where preferably the value of pi equals 3.141 and constant equals 69.097. The zip data structure is traversed, with the longitude and latitude of each zip evaluated in the equation, resulting in a list of all zip codes within the supplied radius of the target zip, e.g., a zip list. [0035]
  • An [0036] event list generator 16 is provided to produce a list of events from user created data stored in the event data structure 12. The event list generator 16 receives a zip list created by the zip list processor 14 defining the geographic scope for an event search. Date parameters are also provided by the user through an interface provided on the client device 24.
  • In accordance with the invention, the [0037] event list generator 16 queries the event data structure 12, using the date and zip parameters, to create a result set. The result set contains all events occurring in zip codes contained in the zip list and within the date scope selected by the user. The generated list data is passed to the calendar generator 20 for formatting so the data is properly displayed on the client device 24.
  • The [0038] event list generator 16 interacts with an advertisement data structure 15. The advertisement data structure 15 contains advertisement data including, but not limited to, graphics, text, sound, and other multimedia data used in the presentation of an advertisement. Each ad in the data structure 15 is associated with one or more zip codes. The event list generator 16 retrieves advertisements with zip codes that match zip codes contained in the zip list generated by the zip list processor 14. In this manner, only advertisements targeted to the geographic area being searched are presented to the user. The advertisements are passed with the retrieved events to the calendar generator 20 for formatting and presentation.
  • One embodiment of a process executed by the above described system to generate calendars and associated events is presented in FIG. 4. When a client device accesses the calendar generator software, a check is performed to determine if the user is associated with a calendar existing on the system, [0039] step 48. If the user is recognized by the system as an existing user, their calendar and associated events are retrieved from the calendar and event data structures, respectively, and displayed on the client device, step 54.
  • Where the user is not recognized as an existing user, [0040] step 48, the calendar generator software generates a new calendar and assigns it a unique numeric or alphanumeric identifier, step 50. Additional data regarding the user is also collected, step 51. This data includes, but is not limited to, user id and password data, demographic data, and location data. The calendar, with miscellaneous data, is written to the calendar data structure and displayed on the client device, step 52.
  • The calendar is displayed on the client device and the calendar generator software waits for the user to indicate a desire to generate events within the calendar, steps [0041] 55 and 56. According to preferred embodiments, users are provided with controls by the calendar software to mark events as either public or private. Private events are associated with a user's calendar, but are not included within the result set of a search. These events appear only on the individual's calendar. Conversely, public events comprise the set of events that local searches are performed upon. These events also appear on the calendar of the user who created the event. If the user indicates that no events are to be generated, step 56, the routine ends, step 58, and the user is free to modify personal data or perform searches.
  • Where the user indicates that events are to be created, [0042] step 56, the calendar generator software presents an event generation interface that allows the user to identify the event as either public or private, set start and end time of the event, and provide an event description and location, step 59. Event parameters are set through the provided interface, a unique event identifier is generated and the event is recorded in the event data structure, step 60. The event is written to the event data structure and a check is performed to determine if additional events are to be generated, step 62. If additional events are to be generated, processing returns to step 59 and the user is again presented with the event generation interface. Where no more events are to be generated, step 62, the routine ends, step 64.
  • Turing to FIG. 5, an embodiment of a process executed by the invention to perform geographic searches on the public events contained within calendars. The calendar generator software provides a search interface. According to preferred embodiments, a user interacts with the interface to supply search parameters including a zip code, search radius, and start and end dates for the search, [0043] step 66. Alternatively, the search radius can be set in terms of time, e.g., 30 minutes, which is converted into a unit of distance based on a set of predetermined assumptions. Zip codes may also be substituted with other geographic locators, such as area codes or town names. Any method selected for determining geographic location of an event must be associated with its latitude and longitude, e.g., location on the earth, so the zip list processor can perform its function properly.
  • The zip list processor receives a selected zip code and radius as parameters. Using these parameters, the processor calculates all zip codes that lie geographically within the radius of the supplied zip code, [0044] step 68. For example, if a user supplied the zip code 10019 with a radius of one mile, the zip list processor returns a list of all zip codes that lie geographically within one mile of zip code 10019. This list of zip codes determines the geographic scope of events that comprise the event list ultimately generated by the method.
  • The zip list generated by the zip list processor is passed as input to the event list generator. Using the input, the event list generator queries the event data structure and retrieves all public events that are associated with zip codes contained in the zip code list and occur within the start and end dates supplied by the user through the search interface, [0045] step 70. For example, if a user searches for all events within one mile of 10019 from Jan. 1 to Jan. 31, 2001 and three events are found within the event data structure that match the supplied parameters, the events are recorded in an event list. Preferably, this event list is stored in transient memory so as to provide quick and efficient access to the list. Alternatively, this list may be held in persistent memory.
  • A check is then performed to determine if the event list returned by the event list generator is null, [0046] step 72. If the event list contains not events, e.g., no events are taking place within the specified number of miles of the supplied zip code during the supplied dates, a default “no results” screen is presented to the user, step 74. According to some embodiments, the default screen presented to the user when no events are found contains advertisements associated with the zip codes returned by the zip list generator. A check is made to determine is additional searches are desired, step 80. If additional searches are requested, processing returns to step 66 and the method is repeated.
  • Processing continues where the event list generator finds events that take place in zip codes contained in the zip list during the selected dates, [0047] step 72. The event list generator retrieves one or more advertisements from an advertisement data structure, step 76. The selected advertisements are those associated with one or more of the zip codes contained in the zip code list. This allows local businesses to target their advertisements towards users that have expressed an interest in a particular local geographic location. Alternatively, algorithms may be applied to randomly select a predetermined number of advertisements that are targeted to the selected zip codes or advertisements may contain a priority code and, based upon the priority code, certain advertisements are selected more often than others are. Providing a mechanism that gives priority to certain advertisements produces an additional revenue stream in that advertisers drive up the price of advertising in particularly desirous zip codes.
  • The calendar generation software merges the event and advertisement lists and presents them to the user in a unified fashion, [0048] step 78. According to various embodiments, one or more advertisements are appended before and after a list of events occurring within the selected zip codes during the supplied dates or the advertisements may all come before or after the event list. Furthermore, selecting any event in the event list causes the calendar generation software to retrieve additional information regarding the event from the event data structure. Similarly, selecting an advertisement retrieves additional information regarding the product or service advertised. A check is performed to determine if additional searches are required by the user, step 80. If additional searches are required, processing returns to step 66 and the method is repeated. The routine ends if no additional searches are required, step 82.
  • FIG. 6 details the method executed by the zip list generator to determine all zip codes that lie within a supplied distance of a selected zip code. The longitude and latitude of the supplied zip code is calculated, [0049] step 84. Variables are set for the calculated longitude and latitude of the supplied zip code, step 86. The next zip code is selected from the zip data structure, step 87. Using the latitude and longitude of both the supplied zip code and the zip code selected from the zip data structure, the distance between the two is calculated according the supplied formula, step 88. If the distance between the supplied and selected zip codes is less than or equal to the radius distance supplied by the user, step 90, the zip code is written to the zip code list, step 92. Where the distance is greater than the supplied radius, step 90, or there are additional zip codes to evaluate, step 94, processing returns to step 87 and the distance formula is evaluated using the next zip code contained in the zip data structure. Once the supplied zip code has been evaluated against every entry in the zip data structure, a list is created that contains all zip codes within a certain distance of a supplied zip code and processing ends, step 96.
  • FIGS. 7 through 12 present screen diagrams illustrating a web based information system comprising embodiments of the invention. Turning to FIG. 7, a home page presenting a calendar system of the present invention comprises a [0050] search tool 700 and a sign-on tool 702. Through the search tool 700, a user provides a target zip code 710 and a search radius 712. Selection of the “go” control passes these data to the zip list processor and event list generator to retrieve local events within the search radius of the provided zip code, e.g., as described in FIGS. 5 and 6. Users who are registered with the system and have previously generated calendars may retrieve them through use of the sign-on tool 702. A user supplies their sign-on id 706 and a password 706. Selection of the login control causes the calendar generator to retrieve the calendar associated with the user's sign-on id 706.
  • When a user initially creates an account with the information system, a new calendar is created in the calendar data structure and associated with the user's sign on id. FIG. 8 illustrates a [0051] new calendar 802 presented by the calendar generator. Grouped along the lower left side of the display are a series of system action and navigation controls 812. For example, a user may choose to add events 812 a to their calendar 802, exit their own calendar 802 to execute searches for local events 812 b associated with calendars that belong to other users, or exit the system 812 c. A composite of the current month is displayed 810, allowing the user to select a hyperlink contained therein that retrieves and displays any events in the user's calendar 802 that are associated with the selected day. Additional months may be retrieved for display by the calendar generator through selection of the next month 804 and previous month 806 controls.
  • FIG. 9 builds on the new, [0052] unpopulated calendar 802 presented in FIG. 8. Through use of controls 812 providing access to an add event subsystem provided by the calendar generator, the user has added a plurality of events 902, 904, and 906 to the calendar 802. Although not indicated in the present illustration, events may be marked as private events that, although they appear in the individual user's calendar, do not for the set of events searched for and retrieved by the system and method of the present invention
  • In addition to the basic search controls, an embodiment of a control for which is illustrated in FIG. 7, advanced searches may be performed by the user. FIG. 10 presents one embodiment of such as search tool. Controls are provided for the user to supply a [0053] target zip code 1002 on which the local event search is conducted. Also shown is a control to provide a search radius 1004 around the target zip code to from which to return local events. The search may also be narrowed down to a particular date 1006. As events in certain embodiments may be associated with categories, a plurality of checkboxes 1008 are provided over which the search may be further focused. These data are provided to the zip list processor and event list generator, which use it to create a query that retrieves local events falling within the scope of the query. The results are presented to the user as illustrated in FIGS. 11 and 12.
  • FIG. 11 presents the results of a local search executed by the user on all events taking place within a 90-mile radius of a selected zip code in New York City [0054] 1100. The calendar generator presents the results here as a “one week” view, e.g., all the events taking place the week of Jan. 28, 2001. Local event data is presented for those days that local events fall on. An event 1102 may comprise the name of the event 1102 a, a category for the even 1102 b, a general metropolitan location where the event is taking place 1102 c, and the distance of the event from the target zip code 1102 d. In addition to events taking place on other days of the same week that are returned to the calendar generator for presentation, the calendar generator may be provided with the dates of major holidays for inclusion in any search result set or other calendar presentation. FIG. 12 returns data from the same result set, but presented in a “one month” view 1202. Data from the previous format 1102 and 1104 is displayed according to their event dates, in addition to other event data 1202, 1204, and 1206 for other events occurring during the same month.
  • Turning now to FIG. 13, one embodiment of an interface for adding new events to a [0055] user calendar 1300 is presented. Text entry controls are provided that allow a user to provide a tile 1302 and description 1304 for a new event added to a calendar through the interface 1300. The user may also define additional parameters regarding the event, such as the data and time when the event occurs 1308. Each event may also be defined as public or private, as well as be associated with a zip code where the event is geographically taking place and a category 1313. An icon representing the event is optionally defined 1312, as well as parameters indicating the frequency that the event repeats in the future 1314. According to this embodiment, a reminder may be defined, causing the calendar generator or other responsible subsystem to generate and transmit a reminder on or before the beginning of the event 1316. When the event has been defined, the user selects a save control 1304, causing the calendar generator to associate the event with a particular calendar and write the event to the event data structure.
  • While the invention has been described and illustrated in connection with preferred embodiments, many variations and modifications as will be evident to those skilled in this art may be made without departing from the spirit and scope of the invention, and the invention is thus not to be limited to the precise details of methodology or construction set forth above as such variations and modification are intended to be included within the scope of the invention. [0056]

Claims (16)

We claim:
1. A system for performing searches across user defined events for an arbitrary geographic region or regions, the system comprising:
an event data structure comprising one or more user defined events, each event associated with a zip code;
a zip list processor, operative to receive a zip code and a distance value, which are used to calculate a zip list comprising all zip codes geographically located within the distance value from the zip code; and
an event list generator to receive the zip list and query the event data structure to retrieve events associated with zip codes contained in the zip list.
2. The system of claim 1 wherein the zip list processor utilizes great circle mathematics to calculate all zip codes geographically located with the distance value from the zip code.
3. The system of claim 2 comprising a zip data structure to store one or more zip codes and associated latitude and longitude values.
4. The system of claim 1 comprising a calendar generator to facilitate creation of a calendars and a calendar data structure.
5. The system of claim 4 wherein the each of the one or more user defined events are associated with a calendar in the calendar data structure.
6. The system of claim 5 wherein the calendar generator is operative to format and present the calendar and associated user defined events on a display device.
7. The system of claim 1 wherein the one or more user defined events are marked as public or private events.
8. The method of claim 7 wherein private events are excluded from the query performed by the event list generator.
9. A method for performing searches across user defined events for an arbitrary geographic region or regions, the method comprising:
creating an event data structure comprising one or more user defined events, each event associated within a zip code;
calculating a zip list comprising all zip codes geographically located within a distance equal to a received distance value from a received zip code; and
querying the event data structure to retrieve events associated with zip codes contained in the zip list.
10. The method of claim 9 wherein calculating comprises utilizing great circle mathematics to calculate all zip codes geographically located with the distance value from the zip code.
11. The method of claim 10 wherein calculating comprises retrieving zip codes from a zip data structure used to store one or more zip codes and associated latitude and longitude values.
12. The method of claim 9 comprising generating a calendar data structure and one or more calendars through the use of a calendar generator.
13. The method of claim 12 comprising associating each of the one or more user defined events with a calendar in the calendar data structure.
14. The method of claim 13 comprising formatting and presenting the calendar and associated user defined events on a display device.
15. The method of claim 9 comprising marking the one or more user defined events are marked as public or private events.
16. The method of claim 15 wherein querying excludes private events.
US10/085,425 2001-02-28 2002-02-28 System and method for performing local searhces across user defined events Abandoned US20020161756A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/085,425 US20020161756A1 (en) 2001-02-28 2002-02-28 System and method for performing local searhces across user defined events
US12/572,544 US7970751B2 (en) 2002-02-28 2009-10-02 System and method for performing local searches across user defined events
US13/112,079 US20110225184A1 (en) 2002-02-28 2011-05-20 System and Method for Performing Local Searches Across User Defined Events

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US27202801P 2001-02-28 2001-02-28
US10/085,425 US20020161756A1 (en) 2001-02-28 2002-02-28 System and method for performing local searhces across user defined events

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/572,544 Continuation US7970751B2 (en) 2002-02-28 2009-10-02 System and method for performing local searches across user defined events

Publications (1)

Publication Number Publication Date
US20020161756A1 true US20020161756A1 (en) 2002-10-31

Family

ID=42076623

Family Applications (3)

Application Number Title Priority Date Filing Date
US10/085,425 Abandoned US20020161756A1 (en) 2001-02-28 2002-02-28 System and method for performing local searhces across user defined events
US12/572,544 Expired - Fee Related US7970751B2 (en) 2002-02-28 2009-10-02 System and method for performing local searches across user defined events
US13/112,079 Abandoned US20110225184A1 (en) 2002-02-28 2011-05-20 System and Method for Performing Local Searches Across User Defined Events

Family Applications After (2)

Application Number Title Priority Date Filing Date
US12/572,544 Expired - Fee Related US7970751B2 (en) 2002-02-28 2009-10-02 System and method for performing local searches across user defined events
US13/112,079 Abandoned US20110225184A1 (en) 2002-02-28 2011-05-20 System and Method for Performing Local Searches Across User Defined Events

Country Status (1)

Country Link
US (3) US20020161756A1 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136498A1 (en) * 2004-12-22 2006-06-22 Insley Jonathan S System and method for finding people to share spontaneous activity or event in a particular geographic area
US20080005047A1 (en) * 2006-06-29 2008-01-03 Microsoft Corporation Scenario-based search
US20100088337A1 (en) * 2002-02-28 2010-04-08 Mcbride Fesq William System and Method for Performing Local Searches Across User Defined Events
US20100131530A1 (en) * 2008-11-21 2010-05-27 Stubhub, Inc. System and methods for third-party access to a network-based system for providing location-based upcoming event information
US20100188936A1 (en) * 2009-01-28 2010-07-29 Yusuke Beppu Storage medium for storing program involved with content distribution and information processing device
US20110231493A1 (en) * 2010-03-16 2011-09-22 Microsoft Corporation Location-based notification
US20120005209A1 (en) * 2010-05-24 2012-01-05 Intersect Ptp, Inc. Systems and methods for identifying intersections using content metadata
CN102915492A (en) * 2011-08-03 2013-02-06 英华达(上海)科技有限公司 Event reminding method for different users to share same schedule
US9116986B1 (en) * 2012-10-12 2015-08-25 Google Inc. Interactive calendar with an integrated journal
US9199171B2 (en) 2009-01-28 2015-12-01 Nintendo Co., Ltd. Information processing system relating to content distribution, storage medium for storing program directed thereto, and information processing device
US9415302B2 (en) 2009-01-28 2016-08-16 Nintendo Co., Ltd. Storage medium for storing program capable of improving degree of freedom and effect of content provided by sponsor and information processing device
US20160314304A1 (en) * 2015-04-24 2016-10-27 Getac Technology Corporation Decryption method for use in displaying data
US9588970B2 (en) 2010-05-24 2017-03-07 Iii Holdings 2, Llc Systems and methods for collaborative storytelling in a virtual space
US10311447B2 (en) 2009-01-28 2019-06-04 Nintendo Co., Ltd. Storage medium for storing program capable of ensuring that evaluation of content is made after watching thereof, information processing device, and information processing system
US10867012B2 (en) * 2015-08-21 2020-12-15 Medtronic Minimed, Inc. Data analytics and insight delivery for the management and control of diabetes
US20220374843A1 (en) * 2021-05-21 2022-11-24 Google Llc Systems and methods for visualizing categorized sets of calendar events

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870498A (en) * 2012-12-17 2014-06-18 张家港市赫图阿拉信息技术有限公司 Method for inquiring city postal codes
US20150370462A1 (en) * 2014-06-20 2015-12-24 Microsoft Corporation Creating calendar event from timeline

Citations (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506897A (en) * 1993-02-22 1996-04-09 Murex Securities, Ltd. Automatic routing system for telephonic services
US5778357A (en) * 1991-06-11 1998-07-07 Logical Information Machines, Inc. Market information machine
US5848373A (en) * 1994-06-24 1998-12-08 Delorme Publishing Company Computer aided map location system
US5848131A (en) * 1993-02-22 1998-12-08 Murex Securities, Ltd. Automatic information and routing system for telephonic services
US5948040A (en) * 1994-06-24 1999-09-07 Delorme Publishing Co. Travel reservation information and planning system
US6049773A (en) * 1997-10-14 2000-04-11 Reclaim Technology And Services Limited Automated method for identification of reinsurance claims
US20010049617A1 (en) * 2000-02-24 2001-12-06 Berenson Richard W. Web-driven calendar updating system
US20020019759A1 (en) * 2000-06-16 2002-02-14 Sundararajan Arunapuram Transportation planning, execution, and freight payments managers and related methods
US6360252B1 (en) * 1999-09-20 2002-03-19 Fusionone, Inc. Managing the transfer of e-mail attachments to rendering devices other than an original e-mail recipient
US6370523B1 (en) * 1998-03-27 2002-04-09 Bellsouth Intellectual Property Corporation System and methods for determining a desired listing using an intersection of coverage areas and a search region
US6369840B1 (en) * 1999-03-10 2002-04-09 America Online, Inc. Multi-layered online calendaring and purchasing
US20020052674A1 (en) * 2000-08-23 2002-05-02 Ting-Mao Chang Continuous local information delivery system and method
US20020057781A1 (en) * 1996-02-28 2002-05-16 Sbc Technology Resources, Inc. Advanced intelligent signal telephone number routing
US20020082805A1 (en) * 1996-03-28 2002-06-27 Biomedware, Inc. Method for measuring a degree of association for dimensionally referenced data sponsorship
US20020082892A1 (en) * 1998-08-27 2002-06-27 Keith Raffel Method and apparatus for network-based sales force management
US20020087449A1 (en) * 2000-12-29 2002-07-04 Brian Como System and method for a cost estimator for locally varying projects
US20020099606A1 (en) * 2000-11-20 2002-07-25 Wolf Shlagman Radius advertising system and method
US20020106069A1 (en) * 1993-02-22 2002-08-08 Shaffer James D. Automatic routing and information system for telephonic services
US20020116318A1 (en) * 2000-08-31 2002-08-22 Manugistics, Inc. Electronic market and related methods suitable for transportation and shipping services
US6456234B1 (en) * 2000-06-07 2002-09-24 William J. Johnson System and method for proactive content delivery by situation location
US6507834B1 (en) * 1999-12-22 2003-01-14 Ncr Corporation Method and apparatus for parallel execution of SQL from stored procedures
US20030055759A1 (en) * 2000-01-13 2003-03-20 Erinmedia, Inc. System and methods for creating and evaluating content and predicting responses to content
US20030063072A1 (en) * 2000-04-04 2003-04-03 Brandenberg Carl Brock Method and apparatus for scheduling presentation of digital content on a personal communication device
US6570957B2 (en) * 1999-09-29 2003-05-27 Siemens Aktiengesellschaft X-ray diagnostic apparatus having a storage luminescent screen
US6591300B1 (en) * 1999-06-30 2003-07-08 Lucent Technologies Inc. Integrated management application
US6640230B1 (en) * 2000-09-27 2003-10-28 International Business Machines Corporation Calendar-driven application technique for preparing responses to incoming events
US6748316B2 (en) * 1998-04-21 2004-06-08 Fujitsu Limited Apparatus and method for presenting navigation information based on instructions described in a script
US20070094095A1 (en) * 2005-10-26 2007-04-26 Kilby Brian G Internet anti-fraud cardholder verification system
US20090031006A1 (en) * 2000-06-07 2009-01-29 Johnson William J System and method for alerting a first mobile data processing system nearby a second mobile data processing system

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467268A (en) * 1994-02-25 1995-11-14 Minnesota Mining And Manufacturing Company Method for resource assignment and scheduling
US6018343A (en) * 1996-09-27 2000-01-25 Timecruiser Computing Corp. Web calendar architecture and uses thereof
JP2002528948A (en) * 1998-10-21 2002-09-03 アメリカン カルカー インコーポレイティド Position camera and GPS data exchange device
US7324953B1 (en) * 1999-08-13 2008-01-29 Danny Murphy Demographic information database processor
GB2371902B (en) * 1999-09-10 2004-11-17 Avantgo Inc System, method, and computer program product for interactive interfacing with mobile devices
US20030154135A1 (en) * 1999-11-05 2003-08-14 Covington Robert D. Interactive in-store/in-mall and on-line shopping system and method
US7447509B2 (en) * 1999-12-22 2008-11-04 Celeritasworks, Llc Geographic management system
US7251612B1 (en) * 2000-01-10 2007-07-31 Parker John E Method and system for scheduling distribution routes and timeslots
WO2001053993A1 (en) * 2000-01-21 2001-07-26 The Hoffman Group, Ltd. Three-tiered portal
US7146404B2 (en) * 2000-08-22 2006-12-05 Colloquis, Inc. Method for performing authenticated access to a service on behalf of a user
US6430602B1 (en) * 2000-08-22 2002-08-06 Active Buddy, Inc. Method and system for interactively responding to instant messaging requests
US20020059283A1 (en) * 2000-10-20 2002-05-16 Enteractllc Method and system for managing customer relations
US7721210B2 (en) * 2000-11-29 2010-05-18 Nokia Corporation Electronic calendar system
US20020065882A1 (en) * 2000-11-30 2002-05-30 Howard Arkin System and method for creating administering joining and participating in event pools
US7493565B2 (en) * 2000-12-22 2009-02-17 Microsoft Corporation Environment-interactive context-aware devices and methods
WO2002065240A2 (en) * 2001-02-09 2002-08-22 Personal Genie, Inc. Calendaring systems and methods
US20020161756A1 (en) * 2001-02-28 2002-10-31 Fesq William Mcbride System and method for performing local searhces across user defined events
US6446004B1 (en) * 2001-02-28 2002-09-03 International Business Machines Corporation System and method for implementing proximity or location driven activities
US20030154116A1 (en) * 2002-01-04 2003-08-14 Lofton Jeffrey C. System and method for scheduling events on an internet based calendar
US20030154114A1 (en) * 2002-02-13 2003-08-14 Lucarelli Designs & Displays, Inc. System and method for capturing and manipulating tradeshow attendee information
US20030200192A1 (en) * 2002-04-18 2003-10-23 Bell Brian L. Method of organizing information into topical, temporal, and location associations for organizing, selecting, and distributing information
JP2005287773A (en) * 2004-03-31 2005-10-20 Canon Inc Image photography apparatus and image photography system

Patent Citations (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778357A (en) * 1991-06-11 1998-07-07 Logical Information Machines, Inc. Market information machine
US5848131A (en) * 1993-02-22 1998-12-08 Murex Securities, Ltd. Automatic information and routing system for telephonic services
US20020106069A1 (en) * 1993-02-22 2002-08-08 Shaffer James D. Automatic routing and information system for telephonic services
US5506897C1 (en) * 1993-02-22 2001-12-11 Murex Securities Ltd Automatic routing system for telephonic services
US5506897A (en) * 1993-02-22 1996-04-09 Murex Securities, Ltd. Automatic routing system for telephonic services
US5848373A (en) * 1994-06-24 1998-12-08 Delorme Publishing Company Computer aided map location system
US5948040A (en) * 1994-06-24 1999-09-07 Delorme Publishing Co. Travel reservation information and planning system
US20020057781A1 (en) * 1996-02-28 2002-05-16 Sbc Technology Resources, Inc. Advanced intelligent signal telephone number routing
US20020082805A1 (en) * 1996-03-28 2002-06-27 Biomedware, Inc. Method for measuring a degree of association for dimensionally referenced data sponsorship
US6049773A (en) * 1997-10-14 2000-04-11 Reclaim Technology And Services Limited Automated method for identification of reinsurance claims
US6370523B1 (en) * 1998-03-27 2002-04-09 Bellsouth Intellectual Property Corporation System and methods for determining a desired listing using an intersection of coverage areas and a search region
US6748316B2 (en) * 1998-04-21 2004-06-08 Fujitsu Limited Apparatus and method for presenting navigation information based on instructions described in a script
US20020082892A1 (en) * 1998-08-27 2002-06-27 Keith Raffel Method and apparatus for network-based sales force management
US6369840B1 (en) * 1999-03-10 2002-04-09 America Online, Inc. Multi-layered online calendaring and purchasing
US6591300B1 (en) * 1999-06-30 2003-07-08 Lucent Technologies Inc. Integrated management application
US6360252B1 (en) * 1999-09-20 2002-03-19 Fusionone, Inc. Managing the transfer of e-mail attachments to rendering devices other than an original e-mail recipient
US6570957B2 (en) * 1999-09-29 2003-05-27 Siemens Aktiengesellschaft X-ray diagnostic apparatus having a storage luminescent screen
US6507834B1 (en) * 1999-12-22 2003-01-14 Ncr Corporation Method and apparatus for parallel execution of SQL from stored procedures
US7383243B2 (en) * 2000-01-13 2008-06-03 Erinmedia, Llc Systems and methods for creating and evaluating content and predicting responses to content
US20030055759A1 (en) * 2000-01-13 2003-03-20 Erinmedia, Inc. System and methods for creating and evaluating content and predicting responses to content
US20010049617A1 (en) * 2000-02-24 2001-12-06 Berenson Richard W. Web-driven calendar updating system
US20030063072A1 (en) * 2000-04-04 2003-04-03 Brandenberg Carl Brock Method and apparatus for scheduling presentation of digital content on a personal communication device
US6456234B1 (en) * 2000-06-07 2002-09-24 William J. Johnson System and method for proactive content delivery by situation location
US7187997B2 (en) * 2000-06-07 2007-03-06 Johnson William J System and method for proactive content delivery by situational location
US20090031006A1 (en) * 2000-06-07 2009-01-29 Johnson William J System and method for alerting a first mobile data processing system nearby a second mobile data processing system
US6731238B2 (en) * 2000-06-07 2004-05-04 William J. Johnson System and method for proactive content delivery by situation location
US20020019759A1 (en) * 2000-06-16 2002-02-14 Sundararajan Arunapuram Transportation planning, execution, and freight payments managers and related methods
US20020052674A1 (en) * 2000-08-23 2002-05-02 Ting-Mao Chang Continuous local information delivery system and method
US20020116318A1 (en) * 2000-08-31 2002-08-22 Manugistics, Inc. Electronic market and related methods suitable for transportation and shipping services
US6640230B1 (en) * 2000-09-27 2003-10-28 International Business Machines Corporation Calendar-driven application technique for preparing responses to incoming events
US20020099606A1 (en) * 2000-11-20 2002-07-25 Wolf Shlagman Radius advertising system and method
US20020087449A1 (en) * 2000-12-29 2002-07-04 Brian Como System and method for a cost estimator for locally varying projects
US20070094095A1 (en) * 2005-10-26 2007-04-26 Kilby Brian G Internet anti-fraud cardholder verification system

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100088337A1 (en) * 2002-02-28 2010-04-08 Mcbride Fesq William System and Method for Performing Local Searches Across User Defined Events
US7970751B2 (en) * 2002-02-28 2011-06-28 Mcbride Fesq William System and method for performing local searches across user defined events
US20110225184A1 (en) * 2002-02-28 2011-09-15 Fesq William Mcbride System and Method for Performing Local Searches Across User Defined Events
US20060136498A1 (en) * 2004-12-22 2006-06-22 Insley Jonathan S System and method for finding people to share spontaneous activity or event in a particular geographic area
US20080005047A1 (en) * 2006-06-29 2008-01-03 Microsoft Corporation Scenario-based search
US11593720B2 (en) 2006-10-25 2023-02-28 Paypal, Inc. System and methods for third-party access to a network-based system for providing location-based upcoming event information
US9953275B2 (en) 2006-10-25 2018-04-24 Paypal, Inc. System and methods for third-party access to a network-based system for providing location-based upcoming event information
US9330364B2 (en) 2006-10-25 2016-05-03 Paypal, Inc. System and methods for third-party access to a network-based system for providing location-based upcoming event information
US10885474B2 (en) 2006-10-25 2021-01-05 Paypal, Inc. System and methods for third-party access to a network-based system for providing location-based upcoming event information
US8661025B2 (en) * 2008-11-21 2014-02-25 Stubhub, Inc. System and methods for third-party access to a network-based system for providing location-based upcoming event information
US20100131530A1 (en) * 2008-11-21 2010-05-27 Stubhub, Inc. System and methods for third-party access to a network-based system for providing location-based upcoming event information
US9827497B2 (en) 2009-01-28 2017-11-28 Nintendo Co., Ltd. Information processing system relating to content distribution, storage medium for storing program directed thereto, and information processing device
US9199171B2 (en) 2009-01-28 2015-12-01 Nintendo Co., Ltd. Information processing system relating to content distribution, storage medium for storing program directed thereto, and information processing device
US20100188936A1 (en) * 2009-01-28 2010-07-29 Yusuke Beppu Storage medium for storing program involved with content distribution and information processing device
US9415302B2 (en) 2009-01-28 2016-08-16 Nintendo Co., Ltd. Storage medium for storing program capable of improving degree of freedom and effect of content provided by sponsor and information processing device
US10311447B2 (en) 2009-01-28 2019-06-04 Nintendo Co., Ltd. Storage medium for storing program capable of ensuring that evaluation of content is made after watching thereof, information processing device, and information processing system
US9492754B2 (en) * 2009-01-28 2016-11-15 Nintendo Co., Ltd. Method, system, and storage medium for displaying distributed media content in a calendar screen
US20110231493A1 (en) * 2010-03-16 2011-09-22 Microsoft Corporation Location-based notification
US10454870B2 (en) 2010-03-16 2019-10-22 Microsoft Technology Licensing, Llc Location-based notification
US9608955B2 (en) 2010-03-16 2017-03-28 Microsoft Technology Licensing, Llc Location-based notification
US20120005209A1 (en) * 2010-05-24 2012-01-05 Intersect Ptp, Inc. Systems and methods for identifying intersections using content metadata
US9588970B2 (en) 2010-05-24 2017-03-07 Iii Holdings 2, Llc Systems and methods for collaborative storytelling in a virtual space
US9152734B2 (en) * 2010-05-24 2015-10-06 Iii Holdings 2, Llc Systems and methods for identifying intersections using content metadata
US10936670B2 (en) 2010-05-24 2021-03-02 Corrino Holdings Llc Systems and methods for collaborative storytelling in a virtual space
US11163784B2 (en) 2010-05-24 2021-11-02 Corrino Holdings Llc Systems and methods for identifying intersections using content metadata
CN102915492A (en) * 2011-08-03 2013-02-06 英华达(上海)科技有限公司 Event reminding method for different users to share same schedule
US9779162B1 (en) * 2012-10-12 2017-10-03 Google Inc. Interactive calendar with an integrated journal
US9116986B1 (en) * 2012-10-12 2015-08-25 Google Inc. Interactive calendar with an integrated journal
US10025945B2 (en) * 2015-04-24 2018-07-17 Getac Technology Corporation Decryption method for use in displaying data
US20160314304A1 (en) * 2015-04-24 2016-10-27 Getac Technology Corporation Decryption method for use in displaying data
US10867012B2 (en) * 2015-08-21 2020-12-15 Medtronic Minimed, Inc. Data analytics and insight delivery for the management and control of diabetes
US20220374843A1 (en) * 2021-05-21 2022-11-24 Google Llc Systems and methods for visualizing categorized sets of calendar events
US11741434B2 (en) * 2021-05-21 2023-08-29 Google Llc Systems and methods for visualizing categorized sets of calendar events

Also Published As

Publication number Publication date
US7970751B2 (en) 2011-06-28
US20110225184A1 (en) 2011-09-15
US20100088337A1 (en) 2010-04-08

Similar Documents

Publication Publication Date Title
US7970751B2 (en) System and method for performing local searches across user defined events
US7752054B1 (en) Advisor referral tool
US9959525B2 (en) Intelligent job matching system and method
US8433713B2 (en) Intelligent job matching system and method
US6704727B1 (en) Method and system for generating a set of search terms
US8112365B2 (en) System and method for online employment recruiting and evaluation
CN102549563B (en) Semantic trading floor
US8527533B2 (en) Keyword suggestion system for a computer network search engine
US8712816B2 (en) Computerized apparatus for identifying industries for potential transfer of a job function
US7107264B2 (en) Content bridge for associating host content and guest content wherein guest content is determined by search
US20070067210A1 (en) Systems and methods for creating and maintaining a market intelligence portal
US8788321B2 (en) Marketing method and system using domain knowledge
US6671682B1 (en) Method and system for performing tasks on a computer network using user personas
US20110238662A1 (en) Method and system for searching a wide area network
US20040215607A1 (en) Method and system fo blending search engine results from disparate sources into one search result
US20060265270A1 (en) Intelligent job matching system and method
US9183278B2 (en) Computerized information system for creating patent data summaries and method therefor
WO2003010689A1 (en) Improved system and method for influencing a position on a search result list generated by a computer network search engine
US20060085480A1 (en) Human resource sourcing exchange
US20050125273A1 (en) System and method for interactive coordination of time schedules and project opportunities
US20090228457A1 (en) Searching for services in natural language
CN1332342C (en) System and method for conducting searches on the world wide web
Lai et al. A system architecture of intelligent-guided browsing on the Web
Fang et al. Measuring law library catalog web site usability: A web analytic approach
Ngindana Visibility of e-commerce websites to search engines: a comparison between text-based and graphic-based hyperlinks

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION