System and method for managing content on multiple computerized devices

A system and method for controlling one or more computerized devices through a slave device that is appointed to operate as the master device is disclosed. The inventive method comprises an event defined by one or more event parameters, appointing a master device designation to a computerized device for the event, initiating a communication channel with one or more slave devices, initiating a slave application layer on one or more slave devices, presenting through the slave application layer a registration option for the event, receiving, a registration selection for the event, initiating a master application layer on the computerized device, presenting, through the master application layer, one or more slave command options, receiving, on the computerized device, one or more slave commands, and transmitting the one or more slave commands to one or more registered slave devices through the communication channel.

FIELD OF THE INVENTION

This invention pertains generally to the management of computerized content and more specifically to a system and method for managing computerized content on multiple computerized devices during a public event.

BACKGROUND OF INVENTION

Many people attend public events, such as music concerts, sporting events, political rallies, demonstrations, or the like. These events may have hundreds if not thousands of attendees. Groups of these individuals sometime like to act in concert to produce a mass effect. For instance, a large group of people may stand up at varying times in concert to create a wave effect. With the pervasiveness of smart phones in today's environment, individuals have begun using these devices to act in concert in a similar fashion. For instance, a group of individuals may each download a specific noisemaking application onto their individual phones. The group may then decide to publicly play the noise produced by the application simultaneously. The current method required to organize this type of group action is limited. Individuals must organize offline prior to performing the concerted action. Alternatively, individuals may use social media to coordinate their actions. However, this is limited in that the individuals at a public event must belong to the same social group in order to coordinate.

In addition, coordinating large numbers of people at any specific time during an event is cumbersome. Separate individuals may each try to take the lead in organizing the action. These individuals may not agree on the type of action to take or the time at which to take it. The result is a haphazard action and chaos, with small groups of people each doing their own thing.

What is needed is a method which allows a group of individuals to act in a concerted manner at a public event without needing to coordinate prior to the event or needing to be part of a preexisting social group. What is also needed is a means of determining the leader of planning and coordinating the group action at a specific time or specific event.

SUMMARY OF THE INVENTION

The invention is directed toward a system and method of organizing a group of electronic devices for coordinated action. The system comprises a plurality of mobile electronic devices communicatively connected together during an event with one of the mobile electronic devices being designated as the leader. In addition there is a server computer controlling the system communicatively connected to the plurality of devices.

The method starts with a bidding system to determine which user is granted the role of the leader and organizer of the coordinated activity. In the method a group of users each bid for the leadership role of the event. Users may place incremental bids or set a high bid price. The bidding may run for a predetermined amount of time or reset every time a user places a bid up until the time of the event. When the bidding is over the winning user gets the ability to control the concerted action of the group of users at the event.

The invention is directed toward a method of controlling one or more computerized devices comprising creating, by a server computer comprising one or more microprocessors and one or more nonvolatile memory units, an event defined by one or more event parameters; appointing, by the server computer, a master device designation to a computerized device for the event, wherein the computerized device comprises on or more microprocessors and one or more nonvolatile memory units; initiating a communication channel with one or more slave devices, wherein each of the one or more slave devices comprises one or more microprocessors and one or more nonvolatile memory units; initiating a slave application layer on one or more slave devices; presenting through the slave application layer a registration option for the event; receiving, by the one or more slave devices, a registration selection for the event; initiating a master application layer on the computerized device; presenting, through the master application layer, one or more slave command options; receiving, on the computerized device, one or more slave commands; transmitting the one or more slave commands to one or more registered slave devices through the communication channel.

The method may further comprise executing the one or more slave commands through the slave application layer on the one or more slave devices. In another embodiment the slave command is selected from a group comprising: displaying a predetermined image on a display screen of the one or more slave devices, playing a predetermined sound through a speaker of the one or more slave devices, illuminating a light on the one or more slave devices, playing a predetermined portion of a song on the one or more slave devices,

In another embodiment, the method further comprises receiving, by the server computer, a map of a location of the event and receiving, by the server computer, a physical location of one or more slave devices in reference to the map. The method may further comprise delaying a slave command by a predetermined amount of time based on the physical location of the one or more slave devices in reference to the map. The method may further comprise receiving a predetermined image by the server computer; dissecting, by the server computer, the predetermined image into two or more portions; and transmitting, by the server computer, a single portion of the two or more portions to one or more slave devices.

In another embodiment of the invention the method further comprises creating a registry list of one or more slave devices. In another embodiment of the invention the method further comprises presenting, by the server computer, a means for selecting a computerized device to receive a master designation. In another embodiment of the invention the method further comprises receiving, by the server computer, a request to create an event; and creating, by the server computer, an event.

In another embodiment of the invention the method further comprises removing, by the server computer, a master device designation from the computerized device; and appointing, by the server computer, a master device designation to a second computerized device for the event, wherein the second computerized device comprises on or more microprocessors and one or more nonvolatile memory units.

In another embodiment of the invention the method further comprises receiving a password protected user identification from the one or more slave devices; verifying the password protected user identification for the one or more slave devices; receiving a password protected user identification from the computerized device; and verifying the password protected user identification for the computerized device.

While at the event, the users each utilize their own mobile device. The leader chooses the group activities to be performed by the group of mobile devices during the event. The leader may be present at the event also or may be remote from the event, such as at home watching the event on television. Users may have a membership plan to purchase a set amount of bids. Alternatively, the user may have a set number of bids provided under a free account. The leader can choose a noise, sound, music, light, picture, or physical activity to be performed by the mobile devices acting in unison at the event, or their respective owners.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The claimed subject matter is now described with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the claimed subject matter. It may be evident, however, that the claimed subject matter may be practiced with or without any combination of these specific details, without departing from the spirit and scope of this invention and the claims.

Referring toFIG. 1A, the system of device acting in concert is displayed. The system comprises a master device100, a central communication hub200, and a plurality of slave devices300. The master device100is communicatively coupled to the communication hub200. The communication hub200is communicatively coupled to the plurality of slave devices300. The master device100can send a set of instructions through the communication hub200to each of the slave devices300. In one embodiment, the slave devices300perform the operation dictated by the set of instructions without user intervention. In another embodiment the slave devices300display the action that is to be performed and require user intervention prior to performing the operation in the set of instructions. In an alternative embodiment of the invention, as illustrated inFIG. 1B, the master device100is communicatively coupled to a server computer10. The server computer10is communicatively coupled to a plurality of slave devices300.

In the preferred embodiment of the invention the master device100is a mobile computing device identical to the plurality of slave devices300. Both the master device100, and each slave device300, may be a wireless cellular phone, tablet computer, desktop computer, laptop computer, or any other computerized device. In another embodiment, the slave device300may be any other type of audiovisual device configured to receive data. For instance, the slave device300may be a jumbotron, television, projector, display screen, or any other type of audiovisual device.

Referring toFIG. 2, the user of the master device100chooses an audio/visual display110to be publicly performed by the slave devices100. Once the user of the master device100has chosen the desired or appropriate audio/visual display110, the user of the master device pushes the audio/visual display out to the communication hub200. As shown inFIG. 3, the communication hub200pushes the audio/visual display110to the slave devices300. The slave devices300then publicly perform the audio/visual display110. The slave devices300may publicly perform the audio/visual display110simultaneously or consecutively to create a movement effect across the plurality of slave devices300.

Referring toFIG. 4, the plurality of slave devices300performing in unison is displayed. The slave devices300may each play a dictated sound310or play a dictated display320. The dictated sound310for each slave device300may be identical to the other slaves300. Alternatively, the dictated sound310for each slave device300may be separate or selected from a specific group of sounds. The dictated sound310may be any type of sound, such as a beep or a honk, or also may be animal sounds or human speech. The dictated display320may be a static image or a motion picture. The dictated display320for each slave device may be identical to the other slave devices300. Alternatively, the dictated display320for each slave device300may be separate or selected from a group of images or videos. The plurality of slave devices300may play the dictated sound310and/or dictated display320simultaneously. Alternatively, the plurality of slave devices300may play the dictated sound310and/or dictated display320consecutively, to create a visual or audial wave or ripple effect amongst the slave devices300.

Referring toFIG. 5, the system of the invention is displayed during the bidding process. At this point in time, there is no master device100until the winning user has won the bidding process. The slave devices300at this point in time are a plurality of client computers300. The client computers300may be any type of computerized device, such as a smart phone, a tablet computer, a desktop computer, or a laptop computer. The client computers300are communicatively connected to a central server computer10. The server computer10handles the bidding transactions between the client computers300. Once a specific user has won the bidding then the server computer10grants leadership control of the event to the winning bidder.

In some embodiments the server computer10may generate a set of instructions for the master device100and a set of instructions for the slave the devices300and send the instructions to the respective devices. The set of instructions for the master device100contain a control password. The set of instructions for the slave devices300contain a control query. The master device100sends a set of instructions for an action to be performed to the slave devices with the control password embedded. When a slave device300receives the instructions from the master device100the control query verifies the information in the control password and will only perform the instructed task if the control password satisfies the control query.

Referring toFIG. 6andFIG. 7, the method of the invention is displayed. First a user logs in to the system400. The system determines if the user has bids402. If the user does not have bids to use then the user can purchase bids404. Then the user can determine if the desired event is already present in the system406. If the desired event is not present then the user can create a new event408. The user then selects the created event420and proceeds to bidding. If the desired event is in the system then the user can find the event408. The user may perform a direct search and find the event410. Afterwards the user selects the event420and proceeds to bidding. Alternatively the user may browse for the desired event. The user may select the type of event412. The user may select the location of the event414. The user may select particular attributes about the event416. The user may select the date of the event418. After receiving input from the user about the desired event, the system presents the appropriate events to the user. The user then selects the desired event420and proceeds to bidding.

The leader status granted for an event may be broken up so that there is a leader for each faction at the event. In addition the leader status may be for only a partial amount of time for the event. The user first selects the side, or faction, of the event to lead422. The user then selects the desired time period of the event to lead424. The user then places a bid to be the leader426. The system determines if there is additional time remaining for bidding428. If time remains then other users may place bids430. If the first user desires to place another bid then the system determines if that user has bids remaining432. If not, then the user has the option to purchase additional bids434. If the user has additional bids and desires to bid again then the user can place an additional higher bid436. The system then determines if time for bidding remains428. Once the predetermined amount of time for the bidding has expired then the system determines if the user had the highest bid438. If the user did not have the highest bid then the user does not have the ability to organize activity for the event440. If the user did have the highest bid then the user is granted the ability to organize activity for the event442.

Referring toFIG. 8, the method of the master device100controlling the slave devices300is displayed. First, the user of the master device wins the bidding for organizing the event activity500. Then the time for organizing the activity of the group begins502. The user can select the type of activity to be performed, such as a specific noise, light, special effect, picture, physical activity (motion), or a user created activity504. The user selects the specific action to be performed by the slave devices506. The user may push out the activity to the slave devices for immediate performance508. If the user does not push out the activity for immediate performance then the user may select a specific time for the performance of the activity510. The user may repeat these actions as many times as desired during the time that the user has control over organizing the activity. The time for organizing the activity of the group eventually ends512. The user then loses the ability to organize the group activity514.

The user organizing the group of slave devices300may select any type of activity to be performed by the slave devices. As shown inFIG. 9A, the user may select “Cheers/Boos.” Then, as shown inFIG. 9B, the user may select “Slow Clap Applause,” “Formal Applause,” “Raucous Applause,” “Bravo Applause,” “Mild Boos,” “Vicious Boos,” or “Whistle (w/fingers).” As shown inFIG. 10Athe user may choose “Special Effects.” Then, as illustrated inFIG. 10B, the user may select “Fireworks,” “Lighter,” “Sparkler,” “Aurora Borealis,” “Lightning,” “Light Bulb,” “Tesla Coil,” or “Red Plasma.” As shown inFIG. 11A, the user may select “Pictures.” Then, as illustrated inFIG. 11B, the user may choose a picture to upload. Alternatively, the user may be able to select from a group of predetermined pictures. Then, as shown inFIG. 11C, the user may select to display the picture independently or as a group. When displayed as a group, the picture is divided up into pieces. Each slave device300displays a piece of the picture. The aggregate display of all of the slave devices300is the picture chosen by the user. As shown inFIG. 11D, the user may select a specific location at the event to perform the action (such as a specific location in a stadium at a sporting event). Referring toFIG. 12A, the user may choose “Noisemakers.” Then, as shown inFIG. 12B, the user may select “N.Y.E. Horn,” “Vuvuzela,” “Accordion,” “Bicycle Horn,” “Whistle,” “Fog Horn,” “Cowbell” or “Rattler.” As shown inFIG. 12C, the user may select any of these actions to be performed immediately or at a later time. If at a later time, the user may select a specific time according to the time of day or may choose a time according to the time of the event (such as time left on a game clock).

In addition, as shown inFIG. 13A, a user may select “Physical Activities” for an activity to be performed by the group of individuals at the event. As illustrated inFIG. 13B, the user may then select a physical activity such as “The Wave,” “Simon Says,” “The Hokey-Pokey,” “Chicken Dance,” or “Ad Hoc Movements.” When the user selects a specific activity, such as “The Wave,” the users of the slave devices300are notified that the group will be performing the wave. The notification may be a text message or an audio instruction played by the slave device300. If the user selects “Ad Hoc Movements,” the user may select a preset physical movement for the users to perform or may type a set of instructions on how to move which are then sent to the users of the slave devices300. The instructions on how to move may be delivered to different groups of people at different times to create the effect of movement through the group. Alternatively, the instructions may be sent to all simultaneously but will tell the respective recipients when the action should be performed to create the illusion of movement through the group.

When selecting an event, the user may select any type of event. For instance, the user may select a sporting event, a music concert, a political event, or create a new event. Optionally, the system may present special single time branded events, such as the Olympics. If the user selects a sporting event, the user may then select the country of the event and the specific sport, such as basketball, football, baseball, soccer, hockey, auto racing, or any other type of sporting event. If the user selects a sport such as football then the user may choose the level of play, such as professional, college, or high school. Afterwards the user may choose the league. For instance if the user selects professional football the user may select the NFL, CFL, or AFL (arena football). The user then selects the date of the game and the specific game desired. When choosing to bid on games, a user may choose a specific team to lead the organization for. For instance, if the user selects a Chicago vs. Green Bay football game, the user may choose to lead the activities for Chicago fans. The user then selects the time frame to lead, such as pre-game, first half, halftime, or second half.

As an additional illustration, if the user selects a music event, the user may then select the type of music event, such as rock 'n roll, country, R&B, rap, classical, easy listening, or any other style of music. The user then selects the specific artist under that style. For instance, if a user selects country music then the user may select Miranda Lambert. The user then selects the specific concert for that artist for the user to organize the devices at the event. The user may then select the specific time of the concert that the user wants to control, such as pre-concert, during the opening act(s), or during the main act of the concert.

As an additional illustration, the user may choose a political event. The user then select a party affiliation, such as democrat, independent, or republican. Once the user selects the political party, the user may then select a specific candidate. After choosing a specific candidate, the user can then select a specific political event, such as a debate, a rally, or a town hall meeting.

As an additional illustration, the user may choose a special event or special series of events such as the Olympics. The user may then select a specific event at the Olympics, such as boxing, canoe, cycling, diving, equestrian, fencing, or soccer. The user may then select the participant country in the event. The user may then select the specific date, time, and location of the event. For instance, the user may select a first round soccer game from the Olympics.

As an additional illustration, a user may select to create their own event. When creating their own event, a user can input the date, time, location, and type of event into the system. The user may add any additional relevant information about the event, such as people or groups involved and the overall purpose of the event. Once the event has been added to the system other users may now find the event for bidding purposes.

In another embodiment, a user may create their own effect for use by the plurality of slave devices300. A user can create a unique audio file for performance by the slave devices300. This unique audio file may be a voice recording, a music recording, or a sound effect created or chosen by the user. In addition, a user may create a unique photo, visual effect, or movie file to be performed by the slave devices300. The unique photo, visual effect, or movie file may be a photo created or chosen by the user. In one embodiment the user created content may be shareable with other users at different events or stored for later use and chosen by users at another time.

The system and method presents patentable subject matter. The system is directed to more than just an abstract idea. The invention is directed toward a method which improves the functionality of the mobile electronic devices. When coordinating the activities of individual electronic devices by hand, each electronic device must store information and execute specific lines of code to be able coordinate together. This represents a large aggregate of computing power. By centralizing the storage and processing of the instructions for the coordinated action in the master device and processor, and then transferring the results to the slave devices, the aggregate computing power required is lower and the slave devices can operate more efficiently.

In addition, the patent is directed to “something more” than an abstract idea. In one embodiment, the system can include the utilization of a jumbotron screen at a sporting event where the leader of the event has the ability to send messages to the system which are posted on the jumbotron screen. Also, the system is more than the application of an idea by a computer but is instead the synergistic effort of multiple processors in multiple devices to create a new and inventive system and method. In another embodiment of the invention the system is incorporated into specialized firmware and circuitry specifically designed to perform the method of the invention.

The system and method of the invention is best perceived as a system and method for appointing and changing a master computer to control a plurality of slave computers. The process of changing master computers is known. For instance, U.S. Pat. No. 6,907,226 (Kang, et al.), the disclosure of which is hereby fully incorporated by reference, discloses a method for switching master devices within a Piconet. However, Kang is limited. First, it discloses that a hand off of master status is initiated by the master device sending a switch request to a second device (FIG. 3). Furthermore, Kang is limited to a total of seven slave devices for one master device. In addition, under Kang, slave devices only transmit data to the master device and are unable to transmit data to other slaves. The inventive process of the current invention is an improvement over Kang. Under the current invention, the status of switching master designation status is initiated by the slave device. Additionally, there may be any number of slave devices operating under a single master device. Furthermore, the current invention permits slave devices to communicate with each other.

The invention overcomes these deficiencies by operating as a series of interactions between specific application layers on each device such that the one of the slave devices may be appointed to act as a master device without the master device actually relinquishing control to the appointed master device. As shown byFIG. 1Bthe server computer10is the true master device of the plurality of slave devices300. The master device100, which is a single slave device that has been appointed to act as the master device, sends an instruction to the server computer10. The server computer10then relays the received command to the plurality of slave devices300. Through this method, the header information of data packets sent by the master device100is only sent to the server computer and is not passed on to the plurality of slave devices300. The header information of the data packets sent by the server computer10to the plurality of slave computers300identifies the source as the server computer10and does not identify the master device100. Therefore, each slave device300does not receive header information identifying the master device100as the source of the data packet. This speeds up the process of receiving and executing commands by the plurality of slave devices300because the slave devices300do not have to verify the trust of any specific master device when a new slave device is appointed to act as the master. In addition, the appointed master device does not need access to the MAC addresses of each of the slave devices300but only the address of the server computer10.

Referring toFIG. 14, a preferred embodiment of the slave device300is illustrated. The slave device300comprises a microprocessor330, a transceiver332, a power source338, a speaker334, a display screen336, and a memory unit340. The microprocessor330is any computing chip, MCU, or “computer-on-a-chip” component. The transceiver332is any communication component configured to transmit and receive information with other computerized devices. The power source338is a battery or battery pack power source. The speaker334is a component configured to emit noise. The display screen336is a display configured to display lights or images. In the preferred embodiment the display screen336is a touch enabled display screen. The memory unit340is a memory storage device configured to store data, information, or store executable code instructions to be executed by the microprocessor330. The memory unit340stores a slave software module342and a master control software module344. In another embodiment the slave software module342and master control software module344are stored on the microprocessor330. The slave software module342is a set of code which is configured to receive slave commands and execute the slave commands received from the server computer10. The master control software module344is a set of code which is configured to present slave command options to a user, receive a selection of a slave command, and transmit the slave command to the server computer10.

Referring toFIG. 15, the preferred embodiment of the server computer10is illustrated. The server computer comprises a microprocessor12, a transceiver14, and a database16. The microprocessor12is any computing chip, MCU, or “computer-on-a-chip” component. The transceiver14is any communication component configured to transmit and receive information with other computerized devices, either wired communication or wireless communication. The database16is a memory storage device configured to store data, information, or store executable code instructions to be executed by the microprocessor12. The database16stores a slave registry18. The slave registry18is a list of all recognized slave devices300which have registered with the server computer10. The slave registry18may save destination port information concerning each slave device300to ensure that the slave commands are sent to and received from the correct slave devices300. The slave registry18can also save information about the specific event or events for which the respective slave devices300are registered for.

The server computer10also stores a slave command intake module20. The slave command intake module20is a set of code which is executed by the microprocessor12. The slave command intake module20recognizes the specific slave device which has been appointed as the master device100for the specific event. The slave command intake module20receives the slave commands from the appointed master device100through the master control software module344. The server computer10also stores a slave command output module22. The slave command output module22is a set of code which is executed by the microprocessor12. The slave command output module22recognizes the specific slave device which has been appointed as the master device100for the specific event. The slave command output module22transmits the slave command to the respective slave devices300which have been registered for a specific event as stored by the slave registry18. The server also stores a submaster appointment module24. The submaster appointment module24is a set of code which is executed by the microprocessor12. The submaster appointment module24provides a mechanism for determining which slave device is to be appointed as the master device100. The submaster appointment module24may present a bidding system, a lottery system, a first to select system, or any other type of method of appointing a slave device as the appointed master device100. For instance the submaster appointment module24may allow each user to vote and elect a submaster. In another embodiment, the appointment module allows each user to bid for leader status with the master being appointed to the winning bidder. In another embodiment the submaster appointment module24may randomly select a device to be the master device100. In another embodiment the submaster appointment module24confers a master designation to the first user or device to select to be the master of the event.

The method of the invention is illustrated byFIGS. 16A and 16B. First the server computer receives a registration of one or more slave devices for an event600. The server then creates a registry of the slave devices for the specific event602. The server appoints one of the slave devices as the appointed master device during the event604. The slave software module is downloaded to the registered slave devices606. The master control software module is downloaded to the appointed master device608. The download of the separate modules may occur at any time prior to the event. This could be prior to the creation of the event in the server computer.

During the event the master control software module displays a series of slave command options on the display screen of the appointed master device610. The master control software module receives a slave command from the user612. The master control software module transmits the slave command to the slave command intake module of the server614. The server receives the slave command in the slave command intake module616. The slave command output module of the server transmits the slave command to each of the respective registered slave devices for the event listed in the event registry618. Each respective slave software module of the registered slave devices receives the slave command from the server620. The respective slave software module of the registered slave devices execute the slave commands622.

In one embodiment of the invention, the separate software modules of the master device100, server10, and slave devices300may operate as a part of the application layer of each respective device. In another embodiment the software modules are separate from the application layer of the respective devices.

In one embodiment, the server computer10recognizes the master device100and slave devices300through their destination port information, which is saved in the slave registry18. In another embodiment, the server computer10recognizes the master device100and slave devices300when a user logs in to the server via a password protected user ID so that the user may use any device as the master device100or slave device300without the server recognizing the IP address of the device used. In one embodiment the slave commands are communicated through the separate devices through standard TCP/IP data packets.

It is anticipated that any event can be defined by a series of event parameters so that the system may operate separate events at once. The event parameters may include the type of event (music concert, sporting event, rally, etc.), the date of the event, the location of the event, the time of the event, the side of the event supported (such as the specific team supported at a sporting event), the seating location of the individuals or group of individuals, or any other user specified event parameter.