  The uplink data arriving at the Machine-to-Machine (M2M) Application Server
(AS) via M2M Aggregators (MAs) is fairly heterogeneous along several dimensions
such as maximum tolerable packet delay, payload size and arrival rate, thus
necessitating the design of Quality-of-Service (QoS) aware packet scheduler. In
this paper, we classify the M2M uplink data into multiple QoS classes and use
sigmoidal function to map the delay requirements of each class onto utility
functions. We propose a proportionally fair delay-optimal multiclass packet
scheduler at AS that maximizes a system utility metric. We note that the
average class delay under any work-conserving scheduling policy can be realized
by appropriately time-sharing between all possible preemptive priority
policies. Therefore the optimal scheduler is determined using an iterative
process to determine the optimal time-sharing between all priority scheduling
policies, such that it results in maximum system utility. The proposed
scheduler can be implemented online with reduced complexity due to the
iterative optimization process. We then extend this work to determine jointly
optimal MA-AS channel allocation and packet scheduling scheme at the MAs and
AS. We first formulate a joint optimization problem that is solved centrally at
the AS and then propose a low complexity distributed optimization problem
solved independently at MAs and AS. We show that the distributed optimization
solution converges quickly to the centralized optimization result with minimal
information exchange overhead between MAs and AS. Using Monte-Carlo
simulations, we verify the optimality of the proposed scheduler and show that
it outperforms other state-of-the-art packet schedulers such as weighted round
robin, max-weight scheduler etc. Another desirable feature of proposed
scheduler is low delay jitter for delay-sensitive traffic.
